diff --git a/provider/cmd/pulumi-resource-tencentcloud/schema.json b/provider/cmd/pulumi-resource-tencentcloud/schema.json index c7e299dc9..d5a8e366c 100644 --- a/provider/cmd/pulumi-resource-tencentcloud/schema.json +++ b/provider/cmd/pulumi-resource-tencentcloud/schema.json @@ -59,10 +59,28 @@ "assumeRole": { "$ref": "#/types/tencentcloud:config/assumeRole:assumeRole" }, + "assumeRoleWithSaml": { + "$ref": "#/types/tencentcloud:config/assumeRoleWithSaml:assumeRoleWithSaml" + }, + "assumeRoleWithWebIdentity": { + "$ref": "#/types/tencentcloud:config/assumeRoleWithWebIdentity:assumeRoleWithWebIdentity" + }, + "camRoleName": { + "type": "string", + "description": "The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable.\n" + }, + "cosDomain": { + "type": "string", + "description": "The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples:\n`https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`.\n" + }, "domain": { "type": "string", "description": "The root domain of the API request, Default is `tencentcloudapi.com`.\n" }, + "enablePodOidc": { + "type": "boolean", + "description": "Whether to enable pod oidc.\n" + }, "profile": { "type": "string", "description": "The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment\nvariable. If not set, the default profile created with `tccli configure` will be used.\n" @@ -73,7 +91,7 @@ }, "region": { "type": "string", - "description": "This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION`\nenvironment variables. The default input value is ap-guangzhou.\n", + "description": "This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The\ndefault input value is ap-guangzhou.\n", "defaultInfo": { "environment": [ "TENCENTCLOUD_REGION" @@ -82,7 +100,7 @@ }, "secretId": { "type": "string", - "description": "This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID`\nenvironment variable.\n", + "description": "This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable.\n", "defaultInfo": { "environment": [ "TENCENTCLOUD_SECRET_ID" @@ -91,7 +109,7 @@ }, "secretKey": { "type": "string", - "description": "This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY`\nenvironment variable.\n", + "description": "This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable.\n", "defaultInfo": { "environment": [ "TENCENTCLOUD_SECRET_KEY" @@ -3983,6 +4001,22 @@ } } }, + "tencentcloud:As/LifecycleHookLifecycleCommand:LifecycleHookLifecycleCommand": { + "properties": { + "commandId": { + "type": "string", + "description": "Remote command ID. It is required to execute a command.\n" + }, + "parameters": { + "type": "string", + "description": "Custom parameter. The field type is JSON encoded string. For example, {\"varA\": \"222\"}.\n" + } + }, + "type": "object", + "required": [ + "commandId" + ] + }, "tencentcloud:As/LoadBalancerForwardLoadBalancer:LoadBalancerForwardLoadBalancer": { "properties": { "listenerId": { @@ -4132,6 +4166,38 @@ "weight" ] }, + "tencentcloud:As/StartInstanceRefreshRefreshSettings:StartInstanceRefreshRefreshSettings": { + "properties": { + "checkInstanceTargetHealth": { + "type": "boolean", + "description": "Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values: \u003cbr\u003e\u003cli\u003eTRUE: Enable the check.\u003c/li\u003e \u003cli\u003eFALSE: Do not enable the check.\n" + }, + "rollingUpdateSettings": { + "$ref": "#/types/tencentcloud:As/StartInstanceRefreshRefreshSettingsRollingUpdateSettings:StartInstanceRefreshRefreshSettingsRollingUpdateSettings", + "description": "Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained.\n" + } + }, + "type": "object", + "required": [ + "rollingUpdateSettings" + ] + }, + "tencentcloud:As/StartInstanceRefreshRefreshSettingsRollingUpdateSettings:StartInstanceRefreshRefreshSettingsRollingUpdateSettings": { + "properties": { + "batchNumber": { + "type": "integer", + "description": "Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh.\n" + }, + "batchPause": { + "type": "string", + "description": "Pause policy between batches. Default value: Automatic. Valid values: \u003cbr\u003e\u003cli\u003eFIRST_BATCH_PAUSE: Pause after the first batch update completes.\u003c/li\u003e \u003cli\u003eBATCH_INTERVAL_PAUSE: Pause between each batch update.\u003c/li\u003e \u003cli\u003eAUTOMATIC: No pauses.\n" + } + }, + "type": "object", + "required": [ + "batchNumber" + ] + }, "tencentcloud:As/getAdvicesAutoScalingAdviceSet:getAdvicesAutoScalingAdviceSet": { "properties": { "advices": { @@ -4639,6 +4705,10 @@ "userData": { "type": "string", "description": "Base64-encoded User Data text.\n" + }, + "versionNumber": { + "type": "integer", + "description": "Version Number.\n" } }, "type": "object", @@ -4662,7 +4732,8 @@ "status", "systemDiskSize", "systemDiskType", - "userData" + "userData", + "versionNumber" ], "language": { "nodejs": { @@ -5013,6 +5084,108 @@ } } }, + "tencentcloud:Audit/getEventsEvent:getEventsEvent": { + "properties": { + "accountId": { + "type": "integer", + "description": "Root account ID.\n" + }, + "cloudAuditEvent": { + "type": "string", + "description": "Log details.\n" + }, + "errorCode": { + "type": "integer", + "description": "Authentication error code.\n" + }, + "eventId": { + "type": "string", + "description": "Log ID.\n" + }, + "eventName": { + "type": "string", + "description": "Event name.\n" + }, + "eventNameCn": { + "type": "string", + "description": "Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field).\n" + }, + "eventRegion": { + "type": "string", + "description": "Event region.\n" + }, + "eventSource": { + "type": "string", + "description": "Request source.\n" + }, + "eventTime": { + "type": "string", + "description": "Event Time.\n" + }, + "location": { + "type": "string", + "description": "IP location.\n" + }, + "requestId": { + "type": "string", + "description": "Request ID.\n" + }, + "resourceRegion": { + "type": "string", + "description": "Resource region.\n" + }, + "resourceTypeCn": { + "type": "string", + "description": "Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field).\n" + }, + "resources": { + "$ref": "#/types/tencentcloud:Audit/getEventsEventResources:getEventsEventResources", + "description": "Resource pair.\n" + }, + "secretId": { + "type": "string", + "description": "Certificate ID\nNote: `null` may be returned for this field, indicating that no valid values can be obtained.\n" + }, + "sourceIpAddress": { + "type": "string", + "description": "Source IP\nNote: `null` may be returned for this field, indicating that no valid values can be obtained.\n" + }, + "username": { + "type": "string", + "description": "Username.\n" + } + }, + "type": "object" + }, + "tencentcloud:Audit/getEventsEventResources:getEventsEventResources": { + "properties": { + "resourceName": { + "type": "string", + "description": "Resource name\nNote: `null` may be returned for this field, indicating that no valid values can be obtained.\n" + }, + "resourceType": { + "type": "string", + "description": "Resource type.\n" + } + }, + "type": "object" + }, + "tencentcloud:Audit/getEventsLookupAttribute:getEventsLookupAttribute": { + "properties": { + "attributeKey": { + "type": "string", + "description": "Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId\nNote: `null` may be returned for this field, indicating that no valid values can be obtained.\n" + }, + "attributeValue": { + "type": "string", + "description": "Value of `AttributeValue`\nNote: `null` may be returned for this field, indicating that no valid values can be obtained.\n" + } + }, + "type": "object", + "required": [ + "attributeKey" + ] + }, "tencentcloud:Audit/getKeyAliasAuditKeyAliasList:getKeyAliasAuditKeyAliasList": { "properties": { "keyAlias": { @@ -5131,6 +5304,19 @@ } } }, + "tencentcloud:Batch/ApplyAccountBaselinesBaselineConfigItem:ApplyAccountBaselinesBaselineConfigItem": { + "properties": { + "configuration": { + "type": "string", + "description": "Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "identifier": { + "type": "string", + "description": "A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object" + }, "tencentcloud:Bi/DatasourceCloudServiceType:DatasourceCloudServiceType": { "properties": { "instanceId": { @@ -6484,12 +6670,16 @@ }, "chargeType": { "type": "string", - "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`).\n" + "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`).\n" }, "createTime": { "type": "string", "description": "Creation time of CBS.\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" + }, "encrypt": { "type": "boolean", "description": "Indicates whether CBS is encrypted.\n" @@ -6548,6 +6738,7 @@ "availabilityZone", "chargeType", "createTime", + "dedicatedClusterId", "encrypt", "instanceId", "prepaidRenewFlag", @@ -6579,12 +6770,16 @@ }, "chargeType": { "type": "string", - "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`).\n" + "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`).\n" }, "createTime": { "type": "string", "description": "Creation time of CBS.\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" + }, "encrypt": { "type": "boolean", "description": "Indicates whether CBS is encrypted.\n" @@ -6643,6 +6838,7 @@ "availabilityZone", "chargeType", "createTime", + "dedicatedClusterId", "encrypt", "instanceId", "prepaidRenewFlag", @@ -6749,6 +6945,188 @@ "instanceRegion" ] }, + "tencentcloud:Ccn/RouteTableAssociateInstanceConfigInstance:RouteTableAssociateInstanceConfigInstance": { + "properties": { + "instanceId": { + "type": "string", + "description": "Instances ID.\n" + }, + "instanceType": { + "type": "string", + "description": "Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW.\n" + } + }, + "type": "object", + "required": [ + "instanceId", + "instanceType" + ] + }, + "tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicy:RouteTableBroadcastPoliciesPolicy": { + "properties": { + "action": { + "type": "string", + "description": "Routing behavior, `accept` allows, `drop` rejects.\n" + }, + "broadcastConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicyBroadcastCondition:RouteTableBroadcastPoliciesPolicyBroadcastCondition" + }, + "description": "propagation conditions.\n" + }, + "description": { + "type": "string", + "description": "Policy description.\n" + }, + "routeConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicyRouteCondition:RouteTableBroadcastPoliciesPolicyRouteCondition" + }, + "description": "Routing conditions.\n" + } + }, + "type": "object", + "required": [ + "action", + "broadcastConditions", + "description", + "routeConditions" + ] + }, + "tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicyBroadcastCondition:RouteTableBroadcastPoliciesPolicyBroadcastCondition": { + "properties": { + "matchPattern": { + "type": "integer", + "description": "Matching mode, `1` precise matching, `0` fuzzy matching.\n" + }, + "name": { + "type": "string", + "description": "condition type.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of conditional values.\n" + } + }, + "type": "object", + "required": [ + "matchPattern", + "name", + "values" + ] + }, + "tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicyRouteCondition:RouteTableBroadcastPoliciesPolicyRouteCondition": { + "properties": { + "matchPattern": { + "type": "integer", + "description": "Matching mode, `1` precise matching, `0` fuzzy matching.\n" + }, + "name": { + "type": "string", + "description": "condition type.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of conditional values.\n" + } + }, + "type": "object", + "required": [ + "matchPattern", + "name", + "values" + ] + }, + "tencentcloud:Ccn/RouteTableInputPoliciesPolicy:RouteTableInputPoliciesPolicy": { + "properties": { + "action": { + "type": "string", + "description": "Routing behavior, `accept` allows, `drop` rejects.\n" + }, + "description": { + "type": "string", + "description": "Policy description.\n" + }, + "routeConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableInputPoliciesPolicyRouteCondition:RouteTableInputPoliciesPolicyRouteCondition" + }, + "description": "Routing conditions.\n" + } + }, + "type": "object", + "required": [ + "action", + "description", + "routeConditions" + ] + }, + "tencentcloud:Ccn/RouteTableInputPoliciesPolicyRouteCondition:RouteTableInputPoliciesPolicyRouteCondition": { + "properties": { + "matchPattern": { + "type": "integer", + "description": "Matching mode, `1` precise matching, `0` fuzzy matching.\n" + }, + "name": { + "type": "string", + "description": "condition type.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of conditional values.\n" + } + }, + "type": "object", + "required": [ + "matchPattern", + "name", + "values" + ] + }, + "tencentcloud:Ccn/RouteTableSelectionPoliciesSelectionPolicy:RouteTableSelectionPoliciesSelectionPolicy": { + "properties": { + "description": { + "type": "string", + "description": "description.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n" + }, + "instanceType": { + "type": "string", + "description": "Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW.\n" + }, + "routeTableId": { + "type": "string", + "description": "route table ID.\n" + }, + "sourceCidrBlock": { + "type": "string", + "description": "Source CIDR.\n" + } + }, + "type": "object", + "required": [ + "description", + "instanceId", + "instanceType", + "routeTableId", + "sourceCidrBlock" + ] + }, "tencentcloud:Ccn/getBandwidthLimitsLimit:getBandwidthLimitsLimit": { "properties": { "bandwidthLimit": { @@ -7047,6 +7425,497 @@ } } }, + "tencentcloud:Ccn/getRoutesFilter:getRoutesFilter": { + "properties": { + "name": { + "type": "string", + "description": "Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter value of the field.\n" + } + }, + "type": "object", + "required": [ + "name", + "values" + ] + }, + "tencentcloud:Ccn/getRoutesRouteList:getRoutesRouteList": { + "properties": { + "destinationCidrBlock": { + "type": "string", + "description": "Destination.\n" + }, + "enabled": { + "type": "boolean", + "description": "Is routing enabled.\n" + }, + "extraState": { + "type": "string", + "description": "Extension status of routing.\n" + }, + "instanceExtraName": { + "type": "string", + "description": "Next hop extension name (associated instance extension name).\n" + }, + "instanceId": { + "type": "string", + "description": "Next jump (associated instance ID).\n" + }, + "instanceName": { + "type": "string", + "description": "Next jump (associated instance name).\n" + }, + "instanceRegion": { + "type": "string", + "description": "Next jump (associated instance region).\n" + }, + "instanceType": { + "type": "string", + "description": "Next hop type (associated instance type), all types: VPC, DIRECTCONNECT.\n" + }, + "instanceUin": { + "type": "string", + "description": "The UIN (root account) to which the associated instance belongs.\n" + }, + "isBgp": { + "type": "boolean", + "description": "Is it dynamic routing.\n" + }, + "routeId": { + "type": "string", + "description": "route ID.\n" + }, + "routePriority": { + "type": "integer", + "description": "Routing priority.\n" + }, + "updateTime": { + "type": "string", + "description": "update time.\n" + } + }, + "type": "object", + "required": [ + "destinationCidrBlock", + "enabled", + "extraState", + "instanceExtraName", + "instanceId", + "instanceName", + "instanceRegion", + "instanceType", + "instanceUin", + "isBgp", + "routeId", + "routePriority", + "updateTime" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdc/getDedicatedClusterHostsHostInfoSet:getDedicatedClusterHostsHostInfoSet": { + "properties": { + "cpuAvailable": { + "type": "integer", + "description": "Dedicated Cluster Host CPU Available Count.\n" + }, + "cpuTotal": { + "type": "integer", + "description": "Dedicated Cluster Host CPU Total Count.\n" + }, + "expireTime": { + "type": "string", + "description": "Dedicated Cluster Host Expire Time.\n" + }, + "hostId": { + "type": "string", + "description": "Dedicated Cluster Host ID.\n" + }, + "hostIp": { + "type": "string", + "description": "Dedicated Cluster Host Ip (Deprecated).\n" + }, + "hostStatus": { + "type": "string", + "description": "Dedicated Cluster Host Status.\n" + }, + "hostType": { + "type": "string", + "description": "Dedicated Cluster Host Type.\n" + }, + "memAvailable": { + "type": "integer", + "description": "Dedicated Cluster Host Memory Available Count (GB).\n" + }, + "memTotal": { + "type": "integer", + "description": "Dedicated Cluster Host Memory Total Count (GB).\n" + }, + "runTime": { + "type": "string", + "description": "Dedicated Cluster Host Run Time.\n" + }, + "serviceType": { + "type": "string", + "description": "Dedicated Cluster Service Type.\n" + } + }, + "type": "object", + "required": [ + "cpuAvailable", + "cpuTotal", + "expireTime", + "hostId", + "hostIp", + "hostStatus", + "hostType", + "memAvailable", + "memTotal", + "runTime", + "serviceType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdc/getDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet:getDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet": { + "properties": { + "cpu": { + "type": "integer", + "description": "Instance CPU.\n" + }, + "cpuType": { + "type": "string", + "description": "Instance CPU Type.\n" + }, + "fpga": { + "type": "integer", + "description": "Instance Fpga.\n" + }, + "gpu": { + "type": "integer", + "description": "Instance GPU.\n" + }, + "instanceBandwidth": { + "type": "number", + "description": "Instance Bandwidth.\n" + }, + "instanceFamily": { + "type": "string", + "description": "Instance Family.\n" + }, + "instancePps": { + "type": "integer", + "description": "Instance Pps.\n" + }, + "instanceType": { + "type": "string", + "description": "Instance Type.\n" + }, + "memory": { + "type": "integer", + "description": "Instance Memory.\n" + }, + "networkCard": { + "type": "integer", + "description": "Instance Type.\n" + }, + "remark": { + "type": "string", + "description": "Instance Remark.\n" + }, + "status": { + "type": "string", + "description": "Instance Status.\n" + }, + "storageBlockAmount": { + "type": "integer", + "description": "Instance Storage Block Amount.\n" + }, + "typeName": { + "type": "string", + "description": "Instance Type Name.\n" + }, + "zone": { + "type": "string", + "description": "Zone Name.\n" + } + }, + "type": "object", + "required": [ + "cpu", + "cpuType", + "fpga", + "gpu", + "instanceBandwidth", + "instanceFamily", + "instancePps", + "instanceType", + "memory", + "networkCard", + "remark", + "status", + "storageBlockAmount", + "typeName", + "zone" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdc/getDedicatedClusterOrdersDedicatedClusterOrderSet:getDedicatedClusterOrdersDedicatedClusterOrderSet": { + "properties": { + "action": { + "type": "string", + "description": "Dedicated Cluster Order Action Type.\n" + }, + "cpu": { + "type": "integer", + "description": "Dedicated Cluster CPU.\n" + }, + "createTime": { + "type": "string", + "description": "Dedicated Cluster Order Create time.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated Cluster ID.\n" + }, + "dedicatedClusterOrderId": { + "type": "string", + "description": "Dedicated Cluster Order ID.\n" + }, + "dedicatedClusterOrderItems": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cdc/getDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem:getDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem" + }, + "description": "Dedicated Cluster Order Item List.\n" + }, + "dedicatedClusterTypeId": { + "type": "string", + "description": "Dedicated Cluster Type ID.\n" + }, + "gpu": { + "type": "integer", + "description": "Dedicated Cluster GPU.\n" + }, + "mem": { + "type": "integer", + "description": "Dedicated Cluster Memory.\n" + }, + "orderStatus": { + "type": "string", + "description": "Dedicated Cluster Order Status.\n" + }, + "orderType": { + "type": "string", + "description": "Dedicated Cluster Order Type.\n" + }, + "payStatus": { + "type": "integer", + "description": "Dedicated Cluster Order Pay Status.\n" + }, + "payType": { + "type": "string", + "description": "Dedicated Cluster Order Pay Type.\n" + }, + "powerDraw": { + "type": "number", + "description": "Dedicated Cluster Supported PowerDraw.\n" + }, + "supportedInstanceFamilies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Dedicated Cluster Supported Instance Family.\n" + }, + "supportedStorageTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Dedicated Cluster Storage Type.\n" + }, + "supportedUplinkSpeeds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Dedicated Cluster Supported Uplink Speed.\n" + }, + "timeSpan": { + "type": "integer", + "description": "Dedicated Cluster Order Pay Time Span.\n" + }, + "timeUnit": { + "type": "string", + "description": "Dedicated Cluster Order Pay Time Unit.\n" + }, + "weight": { + "type": "integer", + "description": "Dedicated Cluster Supported Weight.\n" + } + }, + "type": "object", + "required": [ + "action", + "cpu", + "createTime", + "dedicatedClusterId", + "dedicatedClusterOrderId", + "dedicatedClusterOrderItems", + "dedicatedClusterTypeId", + "gpu", + "mem", + "orderStatus", + "orderType", + "payStatus", + "payType", + "powerDraw", + "supportedInstanceFamilies", + "supportedStorageTypes", + "supportedUplinkSpeeds", + "timeSpan", + "timeUnit", + "weight" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdc/getDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem:getDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem": { + "properties": { + "computeFormat": { + "type": "string", + "description": "Dedicated Cluster Compute Format.\n" + }, + "count": { + "type": "integer", + "description": "Dedicated Cluster SubOrder Count.\n" + }, + "createTime": { + "type": "string", + "description": "Dedicated Cluster Order Create time.\n" + }, + "dedicatedClusterTypeId": { + "type": "string", + "description": "Dedicated Cluster Type ID.\n" + }, + "description": { + "type": "string", + "description": "Dedicated Cluster Type Description.\n" + }, + "name": { + "type": "string", + "description": "Dedicated Cluster Type Name.\n" + }, + "powerDraw": { + "type": "number", + "description": "Dedicated Cluster Supported PowerDraw.\n" + }, + "subOrderId": { + "type": "string", + "description": "Dedicated Cluster SubOrder ID.\n" + }, + "subOrderPayStatus": { + "type": "integer", + "description": "Dedicated Cluster SubOrder Pay Status.\n" + }, + "subOrderStatus": { + "type": "string", + "description": "Dedicated Cluster Order Status.\n" + }, + "supportedInstanceFamilies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Dedicated Cluster Supported Instance Family.\n" + }, + "supportedStorageTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Dedicated Cluster Storage Type.\n" + }, + "supportedUplinkSpeeds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Dedicated Cluster Supported Uplink Speed.\n" + }, + "totalCpu": { + "type": "integer", + "description": "Dedicated Cluster Total CPU.\n" + }, + "totalGpu": { + "type": "integer", + "description": "Dedicated Cluster Total GPU.\n" + }, + "totalMem": { + "type": "integer", + "description": "Dedicated Cluster Total Memory.\n" + }, + "typeFamily": { + "type": "string", + "description": "Dedicated Cluster Type Family.\n" + }, + "typeName": { + "type": "string", + "description": "Dedicated Cluster Type Name.\n" + }, + "weight": { + "type": "integer", + "description": "Dedicated Cluster Supported Weight.\n" + } + }, + "type": "object", + "required": [ + "computeFormat", + "count", + "createTime", + "dedicatedClusterTypeId", + "description", + "name", + "powerDraw", + "subOrderId", + "subOrderPayStatus", + "subOrderStatus", + "supportedInstanceFamilies", + "supportedStorageTypes", + "supportedUplinkSpeeds", + "totalCpu", + "totalGpu", + "totalMem", + "typeFamily", + "typeName", + "weight" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Cdh/InstanceHostResource:InstanceHostResource": { "properties": { "cpuAvailableNum": { @@ -8107,7 +8976,7 @@ }, "backupOriginType": { "type": "string", - "description": "Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server.\n" + "description": "Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name.\n" }, "backupServerName": { "type": "string", @@ -8130,7 +8999,7 @@ }, "originType": { "type": "string", - "description": "Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address.\n" + "description": "Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name.\n" }, "serverName": { "type": "string", @@ -8215,6 +9084,36 @@ "switch" ] }, + "tencentcloud:Cdn/DomainOthersPrivateAccess:DomainOthersPrivateAccess": { + "properties": { + "accessKey": { + "type": "string", + "description": "Access ID.\n", + "secret": true + }, + "bucket": { + "type": "string", + "description": "Bucket.\n" + }, + "region": { + "type": "string", + "description": "Region.\n" + }, + "secretKey": { + "type": "string", + "description": "Key.\n", + "secret": true + }, + "switch": { + "type": "string", + "description": "Configuration switch, available values: `on`, `off` (default).\n" + } + }, + "type": "object", + "required": [ + "switch" + ] + }, "tencentcloud:Cdn/DomainPostMaxSize:DomainPostMaxSize": { "properties": { "maxSize": { @@ -8935,6 +9834,627 @@ } } }, + "tencentcloud:Cdwdoris/InstanceBeSpec:InstanceBeSpec": { + "properties": { + "count": { + "type": "integer", + "description": "Quantities.\n" + }, + "diskSize": { + "type": "integer", + "description": "Cloud disk size.\n" + }, + "specName": { + "type": "string", + "description": "Specification name.\n" + } + }, + "type": "object", + "required": [ + "count", + "diskSize", + "specName" + ] + }, + "tencentcloud:Cdwdoris/InstanceChargeProperties:InstanceChargeProperties": { + "properties": { + "chargeType": { + "type": "string", + "description": "Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "renewFlag": { + "type": "integer", + "description": "Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "timeSpan": { + "type": "integer", + "description": "Billing duration Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "timeUnit": { + "type": "string", + "description": "Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object" + }, + "tencentcloud:Cdwdoris/InstanceFeSpec:InstanceFeSpec": { + "properties": { + "count": { + "type": "integer", + "description": "Quantities.\n" + }, + "diskSize": { + "type": "integer", + "description": "Cloud disk size.\n" + }, + "specName": { + "type": "string", + "description": "Specification name.\n" + } + }, + "type": "object", + "required": [ + "count", + "diskSize", + "specName" + ] + }, + "tencentcloud:Cdwdoris/InstanceTag:InstanceTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ] + }, + "tencentcloud:Cdwdoris/InstanceUserMultiZoneInfos:InstanceUserMultiZoneInfos": { + "properties": { + "subnetId": { + "type": "string", + "description": "Subnet ID Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "subnetIpNum": { + "type": "integer", + "description": "The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "zone": { + "type": "string", + "description": "Availability zone Note: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object" + }, + "tencentcloud:Cdwdoris/WorkloadGroupWorkloadGroup:WorkloadGroupWorkloadGroup": { + "properties": { + "cpuHardLimit": { + "type": "string", + "description": "Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "cpuShare": { + "type": "integer", + "description": "CPU weight. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "enableMemoryOverCommit": { + "type": "boolean", + "description": "Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "memoryLimit": { + "type": "integer", + "description": "Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "workloadGroupName": { + "type": "string", + "description": "Workload group name. Note: This field may return null, indicating that no valid value can be obtained.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "tencentcloud:Cdwdoris/getInstancesInstancesList:getInstancesInstancesList": { + "properties": { + "accessInfo": { + "type": "string", + "description": "Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "bindSGs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Bound security group information. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "buildVersion": { + "type": "string", + "description": "Minor versions. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "canAttachCbs": { + "type": "boolean", + "description": "cbs. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "caseSensitive": { + "type": "integer", + "description": "Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "characteristics": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "clsLogSetId": { + "type": "string", + "description": "Logset ID. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "clsTopicId": { + "type": "string", + "description": "Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "components": { + "type": "string", + "description": "Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "coolDownBucket": { + "type": "string", + "description": "COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "coreSummary": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesInstancesListCoreSummary:getInstancesInstancesListCoreSummary", + "description": "Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "cosBucketName": { + "type": "string", + "description": "COS bucket. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "cosMoveFactor": { + "type": "integer", + "description": "Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "createTime": { + "type": "string", + "description": "Creation time. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "eip": { + "type": "string", + "description": "Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "enableCoolDown": { + "type": "integer", + "description": "Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "enableMultiZones": { + "type": "boolean", + "description": "Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "enableXmlConfig": { + "type": "integer", + "description": "Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "expireTime": { + "type": "string", + "description": "Expiration time. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "flowMsg": { + "type": "string", + "description": "Error process description information. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "graceShutdownWaitSeconds": { + "type": "string", + "description": "The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "ha": { + "type": "string", + "description": "High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "haType": { + "type": "integer", + "description": "High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "hasClsTopic": { + "type": "boolean", + "description": "Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "id": { + "type": "integer", + "description": "Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "instanceId": { + "type": "string", + "description": "Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "instanceName": { + "type": "string", + "description": "Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "isWhiteSGs": { + "type": "boolean", + "description": "Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "kind": { + "type": "string", + "description": "external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "masterSummary": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesInstancesListMasterSummary:getInstancesInstancesListMasterSummary", + "description": "Data node description information. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "monitor": { + "type": "string", + "description": "Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "payMode": { + "type": "string", + "description": "Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "region": { + "type": "string", + "description": "Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "regionDesc": { + "type": "string", + "description": "Region. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "regionId": { + "type": "integer", + "description": "Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "renewFlag": { + "type": "boolean", + "description": "Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "restartTimeout": { + "type": "string", + "description": "Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "status": { + "type": "string", + "description": "Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "statusDesc": { + "type": "string", + "description": "Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "subnetId": { + "type": "string", + "description": "Subnet name. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesInstancesListTag:getInstancesInstancesListTag" + }, + "description": "Tag list. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "userNetworkInfos": { + "type": "string", + "description": "User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "version": { + "type": "string", + "description": "Version. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC name. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "zone": { + "type": "string", + "description": "Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "zoneDesc": { + "type": "string", + "description": "Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object", + "required": [ + "accessInfo", + "bindSGs", + "buildVersion", + "canAttachCbs", + "caseSensitive", + "characteristics", + "clsLogSetId", + "clsTopicId", + "components", + "coolDownBucket", + "coreSummary", + "cosBucketName", + "cosMoveFactor", + "createTime", + "eip", + "enableCoolDown", + "enableMultiZones", + "enableXmlConfig", + "expireTime", + "flowMsg", + "graceShutdownWaitSeconds", + "ha", + "haType", + "hasClsTopic", + "id", + "instanceId", + "instanceName", + "isWhiteSGs", + "kind", + "masterSummary", + "monitor", + "payMode", + "region", + "regionDesc", + "regionId", + "renewFlag", + "restartTimeout", + "status", + "statusDesc", + "subnetId", + "tags", + "userNetworkInfos", + "version", + "vpcId", + "zone", + "zoneDesc" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdwdoris/getInstancesInstancesListCoreSummary:getInstancesInstancesListCoreSummary": { + "properties": { + "attachCbsSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesInstancesListCoreSummaryAttachCbsSpec:getInstancesInstancesListCoreSummaryAttachCbsSpec", + "description": "Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "core": { + "type": "integer", + "description": "Number of CPU cores, in counts.\n" + }, + "disk": { + "type": "integer", + "description": "Disk size, in GB.\n" + }, + "diskCount": { + "type": "integer", + "description": "Disk size. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "diskDesc": { + "type": "string", + "description": "Disk description.\n" + }, + "diskType": { + "type": "string", + "description": "Disk type.\n" + }, + "encrypt": { + "type": "integer", + "description": "Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "maxDiskSize": { + "type": "integer", + "description": "Maximum disk. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "memory": { + "type": "integer", + "description": "Memory size, in GB.\n" + }, + "nodeSize": { + "type": "integer", + "description": "Number of nodes.\n" + }, + "spec": { + "type": "string", + "description": "Model, such as S1.\n" + }, + "specCore": { + "type": "integer", + "description": "Specified cores. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "specMemory": { + "type": "integer", + "description": "Specified memory. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "subProductType": { + "type": "string", + "description": "Sub-product name. Note: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object", + "required": [ + "attachCbsSpec", + "core", + "disk", + "diskCount", + "diskDesc", + "diskType", + "encrypt", + "maxDiskSize", + "memory", + "nodeSize", + "spec", + "specCore", + "specMemory", + "subProductType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdwdoris/getInstancesInstancesListCoreSummaryAttachCbsSpec:getInstancesInstancesListCoreSummaryAttachCbsSpec": { + "properties": { + "diskCount": { + "type": "integer", + "description": "Total number of disks.\n" + }, + "diskDesc": { + "type": "string", + "description": "Description.\n" + }, + "diskSize": { + "type": "integer", + "description": "Disk capacity, in GB.\n" + }, + "diskType": { + "type": "string", + "description": "Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM.\n" + } + }, + "type": "object" + }, + "tencentcloud:Cdwdoris/getInstancesInstancesListMasterSummary:getInstancesInstancesListMasterSummary": { + "properties": { + "attachCbsSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesInstancesListMasterSummaryAttachCbsSpec:getInstancesInstancesListMasterSummaryAttachCbsSpec", + "description": "Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "core": { + "type": "integer", + "description": "Number of CPU cores, in counts.\n" + }, + "disk": { + "type": "integer", + "description": "Disk size, in GB.\n" + }, + "diskCount": { + "type": "integer", + "description": "Disk size. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "diskDesc": { + "type": "string", + "description": "Disk description.\n" + }, + "diskType": { + "type": "string", + "description": "Disk type.\n" + }, + "encrypt": { + "type": "integer", + "description": "Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "maxDiskSize": { + "type": "integer", + "description": "Maximum disk. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "memory": { + "type": "integer", + "description": "Memory size, in GB.\n" + }, + "nodeSize": { + "type": "integer", + "description": "Number of nodes.\n" + }, + "spec": { + "type": "string", + "description": "Model, such as S1.\n" + }, + "specCore": { + "type": "integer", + "description": "Specified cores. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "specMemory": { + "type": "integer", + "description": "Specified memory. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "subProductType": { + "type": "string", + "description": "Sub-product name. Note: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object", + "required": [ + "attachCbsSpec", + "core", + "disk", + "diskCount", + "diskDesc", + "diskType", + "encrypt", + "maxDiskSize", + "memory", + "nodeSize", + "spec", + "specCore", + "specMemory", + "subProductType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdwdoris/getInstancesInstancesListMasterSummaryAttachCbsSpec:getInstancesInstancesListMasterSummaryAttachCbsSpec": { + "properties": { + "diskCount": { + "type": "integer", + "description": "Total number of disks.\n" + }, + "diskDesc": { + "type": "string", + "description": "Description.\n" + }, + "diskSize": { + "type": "integer", + "description": "Disk capacity, in GB.\n" + }, + "diskType": { + "type": "string", + "description": "Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM.\n" + } + }, + "type": "object" + }, + "tencentcloud:Cdwdoris/getInstancesInstancesListTag:getInstancesInstancesListTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cdwdoris/getInstancesSearchTag:getInstancesSearchTag": { + "properties": { + "allValue": { + "type": "integer", + "description": "1 means only the tag key is entered without a value, and 0 means both the key and the value are entered.\n" + }, + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object" + }, "tencentcloud:Cdwpg/InstanceChargeProperties:InstanceChargeProperties": { "properties": { "chargeType": { @@ -22883,6 +24403,10 @@ }, "description": "The virtual service address table of the CLB.\n" }, + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, "createTime": { "type": "string", "description": "Create time of the CLB.\n" @@ -22972,6 +24496,7 @@ "clbId", "clbName", "clbVips", + "clusterId", "createTime", "internetBandwidthMaxOut", "internetChargeType", @@ -25738,11 +27263,11 @@ "properties": { "alias": { "type": "string", - "description": "alias.\n" + "description": "Alias.\n" }, "topicId": { "type": "string", - "description": "dst topic id.\n" + "description": "Dst topic ID.\n" } }, "type": "object", @@ -26072,6 +27597,143 @@ "topicId" ] }, + "tencentcloud:Cls/TopicExtends:TopicExtends": { + "properties": { + "anonymousAccess": { + "$ref": "#/types/tencentcloud:Cls/TopicExtendsAnonymousAccess:TopicExtendsAnonymousAccess", + "description": "Log topic authentication free configuration information.\n" + } + }, + "type": "object" + }, + "tencentcloud:Cls/TopicExtendsAnonymousAccess:TopicExtendsAnonymousAccess": { + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cls/TopicExtendsAnonymousAccessCondition:TopicExtendsAnonymousAccessCondition" + }, + "description": "Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log).\n" + }, + "operations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log).\n" + } + }, + "type": "object" + }, + "tencentcloud:Cls/TopicExtendsAnonymousAccessCondition:TopicExtendsAnonymousAccessCondition": { + "properties": { + "attributes": { + "type": "string", + "description": "Condition attribute, currently only VpcID is supported.\n" + }, + "conditionValue": { + "type": "string", + "description": "The value of the corresponding conditional attribute.\n" + }, + "rule": { + "type": "integer", + "description": "Conditional rule, 1: equal, 2: not equal.\n" + } + }, + "type": "object" + }, + "tencentcloud:Cls/getLogsetsFilter:getLogsetsFilter": { + "properties": { + "key": { + "type": "string", + "description": "Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The values that need to be filtered.\n" + } + }, + "type": "object", + "required": [ + "key", + "values" + ] + }, + "tencentcloud:Cls/getLogsetsLogset:getLogsetsLogset": { + "properties": { + "assumerName": { + "type": "string", + "description": "Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE.\n" + }, + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "logsetId": { + "type": "string", + "description": "Logset Id.\n" + }, + "logsetName": { + "type": "string", + "description": "Logset name.\n" + }, + "roleName": { + "type": "string", + "description": "If `assumer_name` is not empty, it indicates the service role that created the log set.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cls/getLogsetsLogsetTag:getLogsetsLogsetTag" + }, + "description": "Tags.\n" + }, + "topicCount": { + "type": "integer", + "description": "Topic count.\n" + } + }, + "type": "object", + "required": [ + "assumerName", + "createTime", + "logsetId", + "logsetName", + "roleName", + "tags", + "topicCount" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Cls/getLogsetsLogsetTag:getLogsetsLogsetTag": { + "properties": { + "key": { + "type": "string", + "description": "Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`.\n" + }, + "value": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "key", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Cls/getMachineGroupConfigsConfig:getMachineGroupConfigsConfig": { "properties": { "configId": { @@ -26933,7 +28595,15 @@ "type": "object", "required": [ "filterPrefix" - ] + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "filterPrefix", + "id" + ] + } + } }, "tencentcloud:Cos/BucketLifecycleRuleAbortIncompleteMultipartUpload:BucketLifecycleRuleAbortIncompleteMultipartUpload": { "properties": { @@ -29531,7 +31201,8 @@ "items": { "type": "string" }, - "description": "Specify the host machine ip.\n" + "description": "It has been deprecated from version 1.81.108. Specify the host machine ip.\n", + "deprecationMessage": "It has been deprecated from version 1.81.108." }, "projectId": { "type": "integer", @@ -30539,7 +32210,8 @@ "items": { "type": "string" }, - "description": "IPs of the hosts to create CVMs.\n" + "description": "(**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs.\n", + "deprecationMessage": "It has been deprecated from version 1.81.108." }, "projectId": { "type": "integer", @@ -46756,6 +48428,23 @@ } } }, + "tencentcloud:Elasticsearch/InstanceCosBackup:InstanceCosBackup": { + "properties": { + "backupTime": { + "type": "string", + "description": "Automatic backup execution time (accurate to the hour), e.g. `22:00`.\n" + }, + "isAutoBackup": { + "type": "boolean", + "description": "Whether to enable automatic backup of cos.\n" + } + }, + "type": "object", + "required": [ + "backupTime", + "isAutoBackup" + ] + }, "tencentcloud:Elasticsearch/InstanceEsAcl:InstanceEsAcl": { "properties": { "blackLists": { @@ -46808,7 +48497,7 @@ }, "diskType": { "type": "string", - "description": "Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`.\n" + "description": "Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`.\n" }, "encrypt": { "type": "boolean", @@ -49527,6 +51216,10 @@ }, "tencentcloud:Enis/getInstanceEni:getInstanceEni": { "properties": { + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Creation time of the ENI.\n" @@ -49591,6 +51284,7 @@ }, "type": "object", "required": [ + "cdcId", "createTime", "description", "id", @@ -52233,6 +53927,11 @@ "description": "Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true.\n", "willReplaceOnChanges": true }, + "deleteWithInstancePrepaid": { + "type": "boolean", + "description": "Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false.\n", + "willReplaceOnChanges": true + }, "encrypt": { "type": "boolean", "description": "Decides whether the disk is encrypted. Default is `false`.\n", @@ -52360,6 +54059,10 @@ }, "description": "An information list of data disk. Each element contains the following attributes:\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" + }, "expiredTime": { "type": "string", "description": "Expired time of the instance.\n" @@ -52450,194 +54153,200 @@ }, "description": "Tags of the instance.\n" }, - "vpcId": { - "type": "string", - "description": "ID of the vpc to be queried.\n" - } - }, - "type": "object", - "required": [ - "allocatePublicIp", - "availabilityZone", - "camRoleName", - "cpu", - "createTime", - "dataDisks", - "expiredTime", - "imageId", - "instanceChargeType", - "instanceChargeTypePrepaidRenewFlag", - "instanceId", - "instanceName", - "instanceType", - "internetChargeType", - "internetMaxBandwidthOut", - "memory", - "osName", - "privateIp", - "projectId", - "publicIp", - "securityGroups", - "status", - "subnetId", - "systemDiskId", - "systemDiskSize", - "systemDiskType", - "tags", - "vpcId" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "tencentcloud:Instances/getInstanceInstanceListDataDisk:getInstanceInstanceListDataDisk": { - "properties": { - "dataDiskId": { - "type": "string", - "description": "Image ID of the data disk.\n" - }, - "dataDiskSize": { - "type": "integer", - "description": "Size of the data disk.\n" - }, - "dataDiskType": { - "type": "string", - "description": "Type of the data disk.\n" - }, - "deleteWithInstance": { - "type": "boolean", - "description": "Indicates whether the data disk is destroyed with the instance.\n" - } - }, - "type": "object", - "required": [ - "dataDiskId", - "dataDiskSize", - "dataDiskType", - "deleteWithInstance" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, - "tencentcloud:Instances/getSetInstanceList:getSetInstanceList": { - "properties": { - "allocatePublicIp": { - "type": "boolean", - "description": "Indicates whether public ip is assigned.\n" - }, - "availabilityZone": { - "type": "string", - "description": "The available zone that the CVM instance locates at.\n" - }, - "camRoleName": { - "type": "string", - "description": "CAM role name authorized to access.\n" - }, - "cpu": { - "type": "integer", - "description": "The number of CPU cores of the instance.\n" - }, - "createTime": { - "type": "string", - "description": "Creation time of the instance.\n" - }, - "dataDisks": { - "type": "array", - "items": { - "$ref": "#/types/tencentcloud:Instances/getSetInstanceListDataDisk:getSetInstanceListDataDisk" - }, - "description": "An information list of data disk. Each element contains the following attributes:\n" - }, - "expiredTime": { - "type": "string", - "description": "Expired time of the instance.\n" - }, - "imageId": { - "type": "string", - "description": "ID of the image.\n" - }, - "instanceChargeType": { - "type": "string", - "description": "The charge type of the instance.\n" - }, - "instanceChargeTypePrepaidRenewFlag": { - "type": "string", - "description": "The way that CVM instance will be renew automatically or not when it reach the end of the prepaid tenancy.\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the instances to be queried.\n" - }, - "instanceName": { - "type": "string", - "description": "Name of the instances to be queried.\n" - }, - "instanceType": { - "type": "string", - "description": "Type of the instance.\n" - }, - "internetChargeType": { - "type": "string", - "description": "The charge type of the instance.\n" - }, - "internetMaxBandwidthOut": { - "type": "integer", - "description": "Public network maximum output bandwidth of the instance.\n" - }, - "memory": { - "type": "integer", - "description": "Instance memory capacity, unit in GB.\n" - }, - "privateIp": { - "type": "string", - "description": "Private IP of the instance.\n" - }, - "projectId": { - "type": "integer", - "description": "The project CVM belongs to.\n" - }, - "publicIp": { - "type": "string", - "description": "Public IP of the instance.\n" - }, - "securityGroups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Security groups of the instance.\n" - }, - "status": { - "type": "string", - "description": "Status of the instance.\n" - }, - "subnetId": { - "type": "string", - "description": "ID of a vpc subnetwork.\n" - }, - "systemDiskId": { - "type": "string", - "description": "Image ID of the system disk.\n" - }, - "systemDiskSize": { - "type": "integer", - "description": "Size of the system disk.\n" - }, - "systemDiskType": { + "uuid": { "type": "string", - "description": "Type of the system disk.\n" - }, - "tags": { - "type": "object", - "additionalProperties": { - "$ref": "pulumi.json#/Any" - }, - "description": "Tags of the instance.\n" + "description": "Globally unique ID of the instance.\n" + }, + "vpcId": { + "type": "string", + "description": "ID of the vpc to be queried.\n" + } + }, + "type": "object", + "required": [ + "allocatePublicIp", + "availabilityZone", + "camRoleName", + "cpu", + "createTime", + "dataDisks", + "dedicatedClusterId", + "expiredTime", + "imageId", + "instanceChargeType", + "instanceChargeTypePrepaidRenewFlag", + "instanceId", + "instanceName", + "instanceType", + "internetChargeType", + "internetMaxBandwidthOut", + "memory", + "osName", + "privateIp", + "projectId", + "publicIp", + "securityGroups", + "status", + "subnetId", + "systemDiskId", + "systemDiskSize", + "systemDiskType", + "tags", + "uuid", + "vpcId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Instances/getInstanceInstanceListDataDisk:getInstanceInstanceListDataDisk": { + "properties": { + "dataDiskId": { + "type": "string", + "description": "Image ID of the data disk.\n" + }, + "dataDiskSize": { + "type": "integer", + "description": "Size of the data disk.\n" + }, + "dataDiskType": { + "type": "string", + "description": "Type of the data disk.\n" + }, + "deleteWithInstance": { + "type": "boolean", + "description": "Indicates whether the data disk is destroyed with the instance.\n" + } + }, + "type": "object", + "required": [ + "dataDiskId", + "dataDiskSize", + "dataDiskType", + "deleteWithInstance" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Instances/getSetInstanceList:getSetInstanceList": { + "properties": { + "allocatePublicIp": { + "type": "boolean", + "description": "Indicates whether public ip is assigned.\n" + }, + "availabilityZone": { + "type": "string", + "description": "The available zone that the CVM instance locates at.\n" + }, + "camRoleName": { + "type": "string", + "description": "CAM role name authorized to access.\n" + }, + "cpu": { + "type": "integer", + "description": "The number of CPU cores of the instance.\n" + }, + "createTime": { + "type": "string", + "description": "Creation time of the instance.\n" + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Instances/getSetInstanceListDataDisk:getSetInstanceListDataDisk" + }, + "description": "An information list of data disk. Each element contains the following attributes:\n" + }, + "expiredTime": { + "type": "string", + "description": "Expired time of the instance.\n" + }, + "imageId": { + "type": "string", + "description": "ID of the image.\n" + }, + "instanceChargeType": { + "type": "string", + "description": "The charge type of the instance.\n" + }, + "instanceChargeTypePrepaidRenewFlag": { + "type": "string", + "description": "The way that CVM instance will be renew automatically or not when it reach the end of the prepaid tenancy.\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the instances to be queried.\n" + }, + "instanceName": { + "type": "string", + "description": "Name of the instances to be queried.\n" + }, + "instanceType": { + "type": "string", + "description": "Type of the instance.\n" + }, + "internetChargeType": { + "type": "string", + "description": "The charge type of the instance.\n" + }, + "internetMaxBandwidthOut": { + "type": "integer", + "description": "Public network maximum output bandwidth of the instance.\n" + }, + "memory": { + "type": "integer", + "description": "Instance memory capacity, unit in GB.\n" + }, + "privateIp": { + "type": "string", + "description": "Private IP of the instance.\n" + }, + "projectId": { + "type": "integer", + "description": "The project CVM belongs to.\n" + }, + "publicIp": { + "type": "string", + "description": "Public IP of the instance.\n" + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security groups of the instance.\n" + }, + "status": { + "type": "string", + "description": "Status of the instance.\n" + }, + "subnetId": { + "type": "string", + "description": "ID of a vpc subnetwork.\n" + }, + "systemDiskId": { + "type": "string", + "description": "Image ID of the system disk.\n" + }, + "systemDiskSize": { + "type": "integer", + "description": "Size of the system disk.\n" + }, + "systemDiskType": { + "type": "string", + "description": "Type of the system disk.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tags of the instance.\n" }, "vpcId": { "type": "string", @@ -52712,6 +54421,40 @@ } } }, + "tencentcloud:Invite/OrganizationMemberOperationAuthFile:OrganizationMemberOperationAuthFile": { + "properties": { + "name": { + "type": "string", + "description": "File name.\n" + }, + "url": { + "type": "string", + "description": "File path.\n" + } + }, + "type": "object", + "required": [ + "name", + "url" + ] + }, + "tencentcloud:Invite/OrganizationMemberOperationTag:OrganizationMemberOperationTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "tagKey", + "tagValue" + ] + }, "tencentcloud:Key/getPairsKeyPairList:getPairsKeyPairList": { "properties": { "createTime": { @@ -53131,7 +54874,8 @@ }, "isSchedule": { "type": "boolean", - "description": "Indicate to schedule the adding node or not. Default is true.\n", + "description": "This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true.\n", + "deprecationMessage": "This argument was deprecated, use `unschedulable` instead.", "willReplaceOnChanges": true }, "mountTarget": { @@ -53241,7 +54985,8 @@ }, "dockerGraphPath": { "type": "string", - "description": "Docker graph path. Default is `/var/lib/docker`.\n", + "description": "This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`.\n", + "deprecationMessage": "This argument was no longer supported by TencentCloud TKE.", "willReplaceOnChanges": true }, "extraArgs": { @@ -53249,7 +54994,8 @@ "items": { "type": "string" }, - "description": "Custom parameter information related to the node. This is a white-list parameter.\n", + "description": "This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter.\n", + "deprecationMessage": "This argument was no longer supported by TencentCloud TKE.", "willReplaceOnChanges": true }, "gpuArgs": { @@ -53259,22 +55005,26 @@ }, "isSchedule": { "type": "boolean", - "description": "Indicate to schedule the adding node or not. Default is true.\n", + "description": "This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true.\n", + "deprecationMessage": "This argument was deprecated, use `unschedulable` instead.", "willReplaceOnChanges": true }, "mountTarget": { "type": "string", - "description": "Mount target. Default is not mounting.\n", + "description": "This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting.\n", + "deprecationMessage": "This argument was no longer supported by TencentCloud TKE.", "willReplaceOnChanges": true }, "preStartUserScript": { "type": "string", - "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n", + "description": "This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n", + "deprecationMessage": "This argument was no longer supported by TencentCloud TKE.", "willReplaceOnChanges": true }, "userData": { "type": "string", - "description": "Base64-encoded User Data text, the length limit is 16KB.\n", + "description": "This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB.\n", + "deprecationMessage": "This argument was no longer supported by TencentCloud TKE.", "willReplaceOnChanges": true } }, @@ -54035,6 +55785,28 @@ }, "type": "object" }, + "tencentcloud:Kubernetes/HealthCheckPolicyRule:HealthCheckPolicyRule": { + "properties": { + "autoRepairEnabled": { + "type": "boolean", + "description": "Enable repair or not.\n" + }, + "enabled": { + "type": "boolean", + "description": "Enable detection of this project or not.\n" + }, + "name": { + "type": "string", + "description": "Health check rule details.\n" + } + }, + "type": "object", + "required": [ + "autoRepairEnabled", + "enabled", + "name" + ] + }, "tencentcloud:Kubernetes/NativeNodePoolAnnotation:NativeNodePoolAnnotation": { "properties": { "name": { @@ -54485,6 +56257,10 @@ "type": "string", "description": "Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001.\n" }, + "instanceNameStyle": { + "type": "string", + "description": "Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001.\n" + }, "instanceType": { "type": "string", "description": "Specified types of CVM instance.\n", @@ -54560,6 +56336,7 @@ "instanceChargeType", "instanceChargeTypePrepaidRenewFlag", "instanceName", + "instanceNameStyle", "instanceType", "orderlySecurityGroupIds", "securityGroupIds" @@ -54754,6 +56531,11 @@ "description": "Indicate whether to auto format and mount or not. Default is `false`.\n", "willReplaceOnChanges": true }, + "diskPartition": { + "type": "string", + "description": "The name of the device or partition to mount.\n", + "willReplaceOnChanges": true + }, "diskSize": { "type": "integer", "description": "Volume of disk in GB. Default is `0`.\n", @@ -54840,7 +56622,7 @@ "items": { "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerWorkerConfigDataDisk:ScaleWorkerWorkerConfigDataDisk" }, - "description": "Configurations of data disk.\n", + "description": "Configurations of cvm data disk.\n", "willReplaceOnChanges": true }, "desiredPodNum": { @@ -54975,11 +56757,13 @@ "autoFormatAndMount": { "type": "boolean", "description": "Indicate whether to auto format and mount or not. Default is `false`.\n", + "deprecationMessage": "This argument was deprecated, use `data_disk` instead.", "willReplaceOnChanges": true }, "diskPartition": { "type": "string", "description": "The name of the device or partition to mount.\n", + "deprecationMessage": "This argument was deprecated, use `data_disk` instead.", "willReplaceOnChanges": true }, "diskSize": { @@ -54999,6 +56783,7 @@ "fileSystem": { "type": "string", "description": "File system, e.g. `ext3/ext4/xfs`.\n", + "deprecationMessage": "This argument was deprecated, use `data_disk` instead.", "willReplaceOnChanges": true }, "kmsKeyId": { @@ -55008,6 +56793,7 @@ "mountTarget": { "type": "string", "description": "Mount target.\n", + "deprecationMessage": "This argument was deprecated, use `data_disk` instead.", "willReplaceOnChanges": true }, "snapshotId": { @@ -56846,6 +58632,10 @@ }, "tencentcloud:Kubernetes/getClustersList:getClustersList": { "properties": { + "cdcId": { + "type": "string", + "description": "CDC ID.\n" + }, "certificationAuthority": { "type": "string", "description": "The certificate used for access.\n" @@ -57013,6 +58803,7 @@ }, "type": "object", "required": [ + "cdcId", "certificationAuthority", "claimExpiredSeconds", "clusterAsEnabled", @@ -58638,6 +60429,236 @@ } } }, + "tencentcloud:Lite/HbaseInstanceTag:HbaseInstanceTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object" + }, + "tencentcloud:Lite/HbaseInstanceZoneSetting:HbaseInstanceZoneSetting": { + "properties": { + "nodeNum": { + "type": "integer", + "description": "Number of nodes.\n" + }, + "vpcSettings": { + "$ref": "#/types/tencentcloud:Lite/HbaseInstanceZoneSettingVpcSettings:HbaseInstanceZoneSettingVpcSettings", + "description": "Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information.\n" + }, + "zone": { + "type": "string", + "description": "The availability zone to which the instance belongs, such as ap-guangzhou-1.\n" + } + }, + "type": "object", + "required": [ + "nodeNum", + "vpcSettings", + "zone" + ] + }, + "tencentcloud:Lite/HbaseInstanceZoneSettingVpcSettings:HbaseInstanceZoneSettingVpcSettings": { + "properties": { + "subnetId": { + "type": "string", + "description": "Subnet ID.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC ID.\n" + } + }, + "type": "object", + "required": [ + "subnetId", + "vpcId" + ] + }, + "tencentcloud:Lite/getHbaseInstancesFilter:getHbaseInstancesFilter": { + "properties": { + "name": { + "type": "string", + "description": "Field name.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter field value.\n" + } + }, + "type": "object", + "required": [ + "name", + "values" + ] + }, + "tencentcloud:Lite/getHbaseInstancesInstanceList:getHbaseInstancesInstanceList": { + "properties": { + "addTime": { + "type": "string", + "description": "Creation time.\n" + }, + "appId": { + "type": "integer", + "description": "User APP ID.\n" + }, + "clusterId": { + "type": "string", + "description": "Cluster Instance String ID.\n" + }, + "clusterName": { + "type": "string", + "description": "Cluster Instance name.\n" + }, + "id": { + "type": "integer", + "description": "Cluster Instance Digital ID.\n" + }, + "payMode": { + "type": "integer", + "description": "Cluster charging type. 0 means charging by volume, 1 means annual and monthly.\n" + }, + "regionId": { + "type": "integer", + "description": "Region ID.\n" + }, + "status": { + "type": "integer", + "description": "Status code, please refer to the StatusDesc.\n" + }, + "statusDesc": { + "type": "string", + "description": "State description.\n" + }, + "subnetId": { + "type": "integer", + "description": "Subnet ID.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/getHbaseInstancesInstanceListTag:getHbaseInstancesInstanceListTag" + }, + "description": "List of tags.\n" + }, + "vpcId": { + "type": "integer", + "description": "VPC ID.\n" + }, + "zone": { + "type": "string", + "description": "Primary Availability Zone Name.\n" + }, + "zoneId": { + "type": "integer", + "description": "Primary Availability Zone ID.\n" + }, + "zoneSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/getHbaseInstancesInstanceListZoneSetting:getHbaseInstancesInstanceListZoneSetting" + }, + "description": "Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50.\n" + } + }, + "type": "object", + "required": [ + "addTime", + "appId", + "clusterId", + "clusterName", + "id", + "payMode", + "regionId", + "status", + "statusDesc", + "subnetId", + "tags", + "vpcId", + "zone", + "zoneId", + "zoneSettings" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Lite/getHbaseInstancesInstanceListTag:getHbaseInstancesInstanceListTag": { + "properties": { + "tagKey": { + "type": "string", + "description": "Tag key.\n" + }, + "tagValue": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object" + }, + "tencentcloud:Lite/getHbaseInstancesInstanceListZoneSetting:getHbaseInstancesInstanceListZoneSetting": { + "properties": { + "nodeNum": { + "type": "integer", + "description": "Number of nodes.\n" + }, + "vpcSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/getHbaseInstancesInstanceListZoneSettingVpcSetting:getHbaseInstancesInstanceListZoneSettingVpcSetting" + }, + "description": "Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information.\n" + }, + "zone": { + "type": "string", + "description": "Primary Availability Zone Name.\n" + } + }, + "type": "object", + "required": [ + "nodeNum", + "vpcSettings", + "zone" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Lite/getHbaseInstancesInstanceListZoneSettingVpcSetting:getHbaseInstancesInstanceListZoneSettingVpcSetting": { + "properties": { + "subnetId": { + "type": "string", + "description": "Subnet ID.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC ID.\n" + } + }, + "type": "object", + "required": [ + "subnetId", + "vpcId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Mariadb/AccountPrivilegesAccounts:AccountPrivilegesAccounts": { "properties": { "host": { @@ -65935,6 +67956,255 @@ } } }, + "tencentcloud:Monitor/getTmpInstancesInstanceSet:getTmpInstancesInstanceSet": { + "properties": { + "alertRuleLimit": { + "type": "integer", + "description": "Alert rule limit.\n" + }, + "apiRootPath": { + "type": "string", + "description": "Prometheus http api root address.\n" + }, + "authToken": { + "type": "string", + "description": "Token required for data writing.\n" + }, + "autoRenewFlag": { + "type": "integer", + "description": "Automatic renewal flag.\n- 0: No automatic renewal;\n- 1: Enable automatic renewal;\n- 2: Automatic renewal is prohibited;\n- -1: Invalid.\n" + }, + "chargeStatus": { + "type": "integer", + "description": "Charge status.\n- 1: Normal;\n- 2: Expires;\n- 3: Destruction;\n- 4: Allocation;\n- 5: Allocation failed.\n" + }, + "createdAt": { + "type": "string", + "description": "Created_at.\n" + }, + "dataRetentionTime": { + "type": "integer", + "description": "Data retention time.\n" + }, + "enableGrafana": { + "type": "integer", + "description": "Whether to enable grafana.\n- 0: closed;\n- 1: open.\n" + }, + "expireTime": { + "type": "string", + "description": "Expires for purchased instances.\n" + }, + "grafanaInstanceId": { + "type": "string", + "description": "Binding grafana instance id.\n" + }, + "grafanaIpWhiteList": { + "type": "string", + "description": "Grafana IP whitelist list.\n" + }, + "grafanaStatus": { + "type": "integer", + "description": "Grafana status.\n- 1: Creating;\n- 2: In operation;\n- 3: Abnormal;\n- 4: Rebooting;\n- 5: Destruction;\n- 6: Shutdown;\n- 7: Deleted.\n" + }, + "grafanaUrl": { + "type": "string", + "description": "Grafana panel url.\n" + }, + "grants": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Monitor/getTmpInstancesInstanceSetGrant:getTmpInstancesInstanceSetGrant" + }, + "description": "Authorization information for the instance.\n" + }, + "instanceChargeType": { + "type": "integer", + "description": "Filter according to instance charge type.\n- 2: Prepaid;\n- 3: Postpaid by hour.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance id.\n" + }, + "instanceName": { + "type": "string", + "description": "Filter according to instance name.\n" + }, + "instanceStatus": { + "type": "integer", + "description": "Filter according to instance status.\n- 1: Creating;\n- 2: In operation;\n- 3: Abnormal;\n- 4: Reconstruction;\n- 5: Destruction;\n- 6: Stopped taking;\n- 8: Suspension of service due to arrears;\n- 9: Service has been suspended due to arrears.\n" + }, + "ipv4Address": { + "type": "string", + "description": "Filter according to ipv4 address.\n" + }, + "isNearExpire": { + "type": "integer", + "description": "Whether it is about to expire.\n- 0: No;\n- 1: Expiring soon.\n" + }, + "migrationType": { + "type": "integer", + "description": "Migration status.\n- 0: Not in migration;\n+\t- 1: Migrating, original instance;\n+\t- 2: Migrating, target instance.\n" + }, + "proxyAddress": { + "type": "string", + "description": "Proxy address.\n" + }, + "recordingRuleLimit": { + "type": "integer", + "description": "Pre-aggregation rule limitations.\n" + }, + "regionId": { + "type": "integer", + "description": "Region id.\n" + }, + "remoteWrite": { + "type": "string", + "description": "Address of prometheus remote write.\n" + }, + "specName": { + "type": "string", + "description": "Specification name.\n" + }, + "subnetId": { + "type": "string", + "description": "Subnet id.\n" + }, + "tagSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Monitor/getTmpInstancesInstanceSetTagSpecification:getTmpInstancesInstanceSetTagSpecification" + }, + "description": "List of tags associated with the instance.\n" + }, + "vpcId": { + "type": "string", + "description": "VPC id.\n" + }, + "zone": { + "type": "string", + "description": "Zone.\n" + } + }, + "type": "object", + "required": [ + "alertRuleLimit", + "apiRootPath", + "authToken", + "autoRenewFlag", + "chargeStatus", + "createdAt", + "dataRetentionTime", + "enableGrafana", + "expireTime", + "grafanaInstanceId", + "grafanaIpWhiteList", + "grafanaStatus", + "grafanaUrl", + "grants", + "instanceChargeType", + "instanceId", + "instanceName", + "instanceStatus", + "ipv4Address", + "isNearExpire", + "migrationType", + "proxyAddress", + "recordingRuleLimit", + "regionId", + "remoteWrite", + "specName", + "subnetId", + "tagSpecifications", + "vpcId", + "zone" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Monitor/getTmpInstancesInstanceSetGrant:getTmpInstancesInstanceSetGrant": { + "properties": { + "hasAgentManage": { + "type": "integer", + "description": "Whether you have permission to manage the agent (1=yes, 2=no).\n" + }, + "hasApiOperation": { + "type": "integer", + "description": "Whether to display API and other information (1=yes, 2=no).\n" + }, + "hasChargeOperation": { + "type": "integer", + "description": "Whether you have charging operation authority (1=yes, 2=no).\n" + }, + "hasGrafanaStatusChange": { + "type": "integer", + "description": "Whether the status of Grafana can be modified (1=yes, 2=no).\n" + }, + "hasTkeManage": { + "type": "integer", + "description": "Whether you have permission to manage TKE integration (1=yes, 2=no).\n" + }, + "hasVpcDisplay": { + "type": "integer", + "description": "Whether to display VPC information (1=yes, 2=no).\n" + } + }, + "type": "object", + "required": [ + "hasAgentManage", + "hasApiOperation", + "hasChargeOperation", + "hasGrafanaStatusChange", + "hasTkeManage", + "hasVpcDisplay" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Monitor/getTmpInstancesInstanceSetTagSpecification:getTmpInstancesInstanceSetTagSpecification": { + "properties": { + "key": { + "type": "string", + "description": "The key of the tag.\n" + }, + "value": { + "type": "string", + "description": "The value of the tag.\n" + } + }, + "type": "object", + "required": [ + "key", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Monitor/getTmpInstancesTagFilter:getTmpInstancesTagFilter": { + "properties": { + "key": { + "type": "string", + "description": "The key of the tag.\n" + }, + "value": { + "type": "string", + "description": "The value of the tag.\n" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "tencentcloud:Monitor/getTmpRegionsRegionSet:getTmpRegionsRegionSet": { "properties": { "area": { @@ -82894,6 +85164,83 @@ } } }, + "tencentcloud:Organization/getServicesItem:getServicesItem": { + "properties": { + "canAssignCount": { + "type": "integer", + "description": "Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "consoleUrl": { + "type": "string", + "description": "Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "description": { + "type": "string", + "description": "Organization service description. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "document": { + "type": "string", + "description": "Help documentation. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "grantStatus": { + "type": "string", + "description": "Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "isAssign": { + "type": "integer", + "description": "Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "isSetManagementScope": { + "type": "integer", + "description": "Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no).\nNote: This field may return null, indicating that no valid values can be obtained.\n" + }, + "isUsageStatus": { + "type": "integer", + "description": "Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "memberNum": { + "type": "string", + "description": "Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "product": { + "type": "string", + "description": "Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "productName": { + "type": "string", + "description": "Organization service product name. Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "serviceGrant": { + "type": "integer", + "description": "Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained.\n" + }, + "serviceId": { + "type": "integer", + "description": "Organization service ID. Note: This field may return null, indicating that no valid values can be obtained.\n" + } + }, + "type": "object", + "required": [ + "canAssignCount", + "consoleUrl", + "description", + "document", + "grantStatus", + "isAssign", + "isSetManagementScope", + "isUsageStatus", + "memberNum", + "product", + "productName", + "serviceGrant", + "serviceId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Placement/getGroupsPlacementGroupList:getGroupsPlacementGroupList": { "properties": { "createTime": { @@ -82944,6 +85291,68 @@ } } }, + "tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSet:AccountPrivilegesOperationModifyPrivilegeSet": { + "properties": { + "databasePrivilege": { + "$ref": "#/types/tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege:AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege", + "description": "Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "isCascade": { + "type": "boolean", + "description": "Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false.\n" + }, + "modifyType": { + "type": "string", + "description": "Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type.\n" + } + }, + "type": "object" + }, + "tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege:AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege": { + "properties": { + "object": { + "$ref": "#/types/tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject:AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject", + "description": "Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can\u0026amp;#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "privilegeSets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained.\n" + } + }, + "type": "object" + }, + "tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject:AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject": { + "properties": { + "databaseName": { + "type": "string", + "description": "Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "objectName": { + "type": "string", + "description": "Database object Name. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "objectType": { + "type": "string", + "description": "Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "schemaName": { + "type": "string", + "description": "Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "tableName": { + "type": "string", + "description": "Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained.\n" + } + }, + "type": "object", + "required": [ + "objectName", + "objectType" + ] + }, "tencentcloud:Postgresql/InstanceBackupPlan:InstanceBackupPlan": { "properties": { "backupPeriods": { @@ -82970,6 +85379,10 @@ }, "tencentcloud:Postgresql/InstanceDbNodeSet:InstanceDbNodeSet": { "properties": { + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster ID.\n" + }, "role": { "type": "string", "description": "Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`.\n" @@ -83022,6 +85435,100 @@ } } }, + "tencentcloud:Postgresql/getAccountPrivilegesDatabaseObjectSet:getAccountPrivilegesDatabaseObjectSet": { + "properties": { + "databaseName": { + "type": "string", + "description": "Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "objectName": { + "type": "string", + "description": "Database object Name.Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "objectType": { + "type": "string", + "description": "Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "schemaName": { + "type": "string", + "description": "Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "tableName": { + "type": "string", + "description": "Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained.\n" + } + }, + "type": "object", + "required": [ + "objectName", + "objectType" + ] + }, + "tencentcloud:Postgresql/getAccountPrivilegesPrivilegeSet:getAccountPrivilegesPrivilegeSet": { + "properties": { + "objects": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getAccountPrivilegesPrivilegeSetObject:getAccountPrivilegesPrivilegeSetObject" + }, + "description": "Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can\u0026amp;#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "privilegeSets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained.\n" + } + }, + "type": "object", + "required": [ + "objects", + "privilegeSets" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Postgresql/getAccountPrivilegesPrivilegeSetObject:getAccountPrivilegesPrivilegeSetObject": { + "properties": { + "databaseName": { + "type": "string", + "description": "Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "objectName": { + "type": "string", + "description": "Database object Name.Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "objectType": { + "type": "string", + "description": "Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "schemaName": { + "type": "string", + "description": "Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "tableName": { + "type": "string", + "description": "Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained.\n" + } + }, + "type": "object", + "required": [ + "databaseName", + "objectName", + "objectType", + "schemaName", + "tableName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Postgresql/getBackupDownloadUrlsBackupDownloadRestriction:getBackupDownloadUrlsBackupDownloadRestriction": { "properties": { "ipRestrictionEffect": { @@ -83226,6 +85733,74 @@ } } }, + "tencentcloud:Postgresql/getDedicatedClustersDedicatedClusterSet:getDedicatedClustersDedicatedClusterSet": { + "properties": { + "cpuAvailable": { + "type": "integer", + "description": "Number of available CPUs.\n" + }, + "cpuTotal": { + "type": "integer", + "description": "Cpu total.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster ID.\n" + }, + "diskAvailable": { + "type": "integer", + "description": "Disk availability.\n" + }, + "diskTotal": { + "type": "integer", + "description": "Total number of disks.\n" + }, + "instanceCount": { + "type": "integer", + "description": "Instance count.\n" + }, + "memAvailable": { + "type": "integer", + "description": "Available Memory.\n" + }, + "memTotal": { + "type": "integer", + "description": "Total amount of memory.\n" + }, + "name": { + "type": "string", + "description": "Filter name.\n" + }, + "standbyDedicatedClusterSets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Disaster recovery cluster.\n" + }, + "zone": { + "type": "string", + "description": "Zone.\n" + } + }, + "type": "object" + }, + "tencentcloud:Postgresql/getDedicatedClustersFilter:getDedicatedClustersFilter": { + "properties": { + "name": { + "type": "string", + "description": "Filter name.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter values.\n" + } + }, + "type": "object" + }, "tencentcloud:Postgresql/getDefaultParametersParamInfoSet:getDefaultParametersParamInfoSet": { "properties": { "advanced": { @@ -88039,6 +90614,148 @@ "vpcLists" ] }, + "tencentcloud:Redis/getClustersResource:getClustersResource": { + "properties": { + "appId": { + "type": "integer", + "description": "User's Appid.\n" + }, + "autoRenewFlag": { + "type": "integer", + "description": "Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed.\n" + }, + "baseBundles": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Redis/getClustersResourceBaseBundle:getClustersResourceBaseBundle" + }, + "description": "Basic Control Resource Package.\n" + }, + "clusterName": { + "type": "string", + "description": "Cluster name.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster Id.\n" + }, + "endTime": { + "type": "string", + "description": "Instance expiration time.\n" + }, + "payMode": { + "type": "integer", + "description": "Billing mode, 1-annual and monthly package, 0-quantity based billing.\n" + }, + "projectId": { + "type": "integer", + "description": "Project Id.\n" + }, + "redisClusterId": { + "type": "string", + "description": "Redis Cluster Id.\n" + }, + "regionId": { + "type": "integer", + "description": "Region Id.\n" + }, + "resourceBundles": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Redis/getClustersResourceResourceBundle:getClustersResourceResourceBundle" + }, + "description": "List of Resource Packages.\n" + }, + "startTime": { + "type": "string", + "description": "Instance create time.\n" + }, + "status": { + "type": "integer", + "description": "Cluster status: 1- In process, 2- Running, 3- Isolated.\n" + }, + "zoneId": { + "type": "integer", + "description": "zone Id.\n" + } + }, + "type": "object", + "required": [ + "appId", + "autoRenewFlag", + "baseBundles", + "clusterName", + "dedicatedClusterId", + "endTime", + "payMode", + "projectId", + "redisClusterId", + "regionId", + "resourceBundles", + "startTime", + "status", + "zoneId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Redis/getClustersResourceBaseBundle:getClustersResourceBaseBundle": { + "properties": { + "availableMemory": { + "type": "integer", + "description": "Saleable memory, unit: GB.\n" + }, + "count": { + "type": "integer", + "description": "Resource bundle count.\n" + }, + "resourceBundleName": { + "type": "string", + "description": "Resource bundle name.\n" + } + }, + "type": "object", + "required": [ + "availableMemory", + "count", + "resourceBundleName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Redis/getClustersResourceResourceBundle:getClustersResourceResourceBundle": { + "properties": { + "availableMemory": { + "type": "integer", + "description": "Saleable memory, unit: GB.\n" + }, + "count": { + "type": "integer", + "description": "Resource bundle count.\n" + }, + "resourceBundleName": { + "type": "string", + "description": "Resource bundle name.\n" + } + }, + "type": "object", + "required": [ + "availableMemory", + "count", + "resourceBundleName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Redis/getInstanceNodeInfoProxy:getInstanceNodeInfoProxy": { "properties": { "nodeId": { @@ -92948,6 +95665,10 @@ "type": "string", "description": "Order ID returned.\n" }, + "ownerUin": { + "type": "string", + "description": "Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained.\n" + }, "productZhName": { "type": "string", "description": "Certificate authority.\n" @@ -92970,6 +95691,10 @@ "type": { "type": "string", "description": "Type of the SSL certificate to be queried. Available values includes: `CA` and `SVR`.\n" + }, + "validityPeriod": { + "type": "string", + "description": "Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained.\n" } }, "type": "object", @@ -92984,11 +95709,13 @@ "key", "name", "orderId", + "ownerUin", "productZhName", "projectId", "status", "subjectNames", - "type" + "type", + "validityPeriod" ], "language": { "nodejs": { @@ -101704,6 +104431,271 @@ } } }, + "tencentcloud:Thpc/WorkspacesDataDisk:WorkspacesDataDisk": { + "properties": { + "burstPerformance": { + "type": "boolean", + "description": "Sudden performance. PS: During testing.\n" + }, + "deleteWithInstance": { + "type": "boolean", + "description": "Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true.\n" + }, + "diskId": { + "type": "string", + "description": "Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.\n" + }, + "diskSize": { + "type": "integer", + "description": "Size of the data disk, and unit is GB.\n" + }, + "diskType": { + "type": "string", + "description": "Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.\n" + }, + "encrypt": { + "type": "boolean", + "description": "Decides whether the disk is encrypted. Default is `false`.\n" + }, + "kmsKeyId": { + "type": "string", + "description": "Kms key ID.\n" + }, + "snapshotId": { + "type": "string", + "description": "Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.\n" + }, + "throughputPerformance": { + "type": "integer", + "description": "Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "diskId" + ] + } + } + }, + "tencentcloud:Thpc/WorkspacesEnhancedService:WorkspacesEnhancedService": { + "properties": { + "automationService": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesEnhancedServiceAutomationService:WorkspacesEnhancedServiceAutomationService", + "description": "Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default.\n" + }, + "monitorService": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesEnhancedServiceMonitorService:WorkspacesEnhancedServiceMonitorService", + "description": "Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default.\n" + }, + "securityService": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesEnhancedServiceSecurityService:WorkspacesEnhancedServiceSecurityService", + "description": "Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default.\n" + } + }, + "type": "object" + }, + "tencentcloud:Thpc/WorkspacesEnhancedServiceAutomationService:WorkspacesEnhancedServiceAutomationService": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable.\n" + } + }, + "type": "object" + }, + "tencentcloud:Thpc/WorkspacesEnhancedServiceMonitorService:WorkspacesEnhancedServiceMonitorService": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable.\n" + } + }, + "type": "object" + }, + "tencentcloud:Thpc/WorkspacesEnhancedServiceSecurityService:WorkspacesEnhancedServiceSecurityService": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable.\n" + } + }, + "type": "object" + }, + "tencentcloud:Thpc/WorkspacesInternetAccessible:WorkspacesInternetAccessible": { + "properties": { + "bandwidthPackageId": { + "type": "string", + "description": "Bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.\n" + }, + "internetChargeType": { + "type": "string", + "description": "Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false.\n" + }, + "internetMaxBandwidthOut": { + "type": "integer", + "description": "Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false.\n" + }, + "publicIpAssigned": { + "type": "boolean", + "description": "Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "internetMaxBandwidthOut", + "publicIpAssigned" + ] + } + } + }, + "tencentcloud:Thpc/WorkspacesLoginSettings:WorkspacesLoginSettings": { + "properties": { + "keyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.\n" + }, + "password": { + "type": "string", + "description": "Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset.\n", + "secret": true + } + }, + "type": "object" + }, + "tencentcloud:Thpc/WorkspacesPlacement:WorkspacesPlacement": { + "properties": { + "projectId": { + "type": "integer", + "description": "The project the instance belongs to, default to 0.\n" + }, + "zone": { + "type": "string", + "description": "The available zone for the CVM instance.\n" + } + }, + "type": "object", + "required": [ + "zone" + ] + }, + "tencentcloud:Thpc/WorkspacesSpaceChargePrepaid:WorkspacesSpaceChargePrepaid": { + "properties": { + "period": { + "type": "integer", + "description": "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`, `48`, `60`.\n" + }, + "renewFlag": { + "type": "string", + "description": "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`.\n" + } + }, + "type": "object" + }, + "tencentcloud:Thpc/WorkspacesSystemDisk:WorkspacesSystemDisk": { + "properties": { + "diskId": { + "type": "string", + "description": "Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.\n" + }, + "diskSize": { + "type": "integer", + "description": "Size of the system disk. unit is GB, Default is 50GB.\n" + }, + "diskType": { + "type": "string", + "description": "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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "diskId", + "diskSize" + ] + } + } + }, + "tencentcloud:Thpc/WorkspacesTagSpecification:WorkspacesTagSpecification": { + "properties": { + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesTagSpecificationTag:WorkspacesTagSpecificationTag" + }, + "description": "tags.\n" + } + }, + "type": "object", + "required": [ + "tags" + ] + }, + "tencentcloud:Thpc/WorkspacesTagSpecificationTag:WorkspacesTagSpecificationTag": { + "properties": { + "key": { + "type": "string", + "description": "Tag key.\n" + }, + "value": { + "type": "string", + "description": "Tag value.\n" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "tencentcloud:Thpc/WorkspacesVirtualPrivateCloud:WorkspacesVirtualPrivateCloud": { + "properties": { + "asVpcGateway": { + "type": "boolean", + "description": "Is it used as a public network gateway.\n" + }, + "ipv6AddressCount": { + "type": "integer", + "description": "IPV6 address count.\n" + }, + "privateIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of private ip address.\n" + }, + "subnetId": { + "type": "string", + "description": "The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.\n" + } + }, + "type": "object", + "required": [ + "subnetId", + "vpcId" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "privateIpAddresses", + "subnetId", + "vpcId" + ] + } + } + }, "tencentcloud:Trocket/RocketmqInstanceIpRule:RocketmqInstanceIpRule": { "properties": { "allow": { @@ -112465,6 +115457,10 @@ "type": "integer", "description": "The number of available IPs.\n" }, + "cdcId": { + "type": "string", + "description": "ID of CDC instance.\n" + }, "cidrBlock": { "type": "string", "description": "Filter subnet with this CIDR.\n" @@ -112509,6 +115505,7 @@ "required": [ "availabilityZone", "availableIpCount", + "cdcId", "cidrBlock", "createTime", "isDefault", @@ -116203,6 +119200,75 @@ } } }, + "tencentcloud:config/assumeRoleWithSaml:assumeRoleWithSaml": { + "properties": { + "principalArn": { + "type": "string", + "description": "Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`.\n" + }, + "roleArn": { + "type": "string", + "description": "The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`.\n" + }, + "samlAssertion": { + "type": "string", + "description": "SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`.\n" + }, + "sessionDuration": { + "type": "integer", + "description": "The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`.\n" + }, + "sessionName": { + "type": "string", + "description": "The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`.\n" + } + }, + "type": "object", + "required": [ + "principalArn", + "roleArn", + "samlAssertion", + "sessionDuration", + "sessionName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:config/assumeRoleWithWebIdentity:assumeRoleWithWebIdentity": { + "properties": { + "roleArn": { + "type": "string", + "description": "The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`.\n" + }, + "sessionDuration": { + "type": "integer", + "description": "The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`.\n" + }, + "sessionName": { + "type": "string", + "description": "The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`.\n" + }, + "webIdentityToken": { + "type": "string", + "description": "OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`.\n" + } + }, + "type": "object", + "required": [ + "roleArn", + "sessionDuration", + "sessionName", + "webIdentityToken" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:index/ProviderAssumeRole:ProviderAssumeRole": { "properties": { "policy": { @@ -116233,6 +119299,75 @@ "requiredOutputs": [] } } + }, + "tencentcloud:index/ProviderAssumeRoleWithSaml:ProviderAssumeRoleWithSaml": { + "properties": { + "principalArn": { + "type": "string", + "description": "Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`.\n" + }, + "roleArn": { + "type": "string", + "description": "The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`.\n" + }, + "samlAssertion": { + "type": "string", + "description": "SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`.\n" + }, + "sessionDuration": { + "type": "integer", + "description": "The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`.\n" + }, + "sessionName": { + "type": "string", + "description": "The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`.\n" + } + }, + "type": "object", + "required": [ + "principalArn", + "roleArn", + "samlAssertion", + "sessionDuration", + "sessionName" + ], + "language": { + "nodejs": { + "requiredOutputs": [] + } + } + }, + "tencentcloud:index/ProviderAssumeRoleWithWebIdentity:ProviderAssumeRoleWithWebIdentity": { + "properties": { + "roleArn": { + "type": "string", + "description": "The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`.\n" + }, + "sessionDuration": { + "type": "integer", + "description": "The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`.\n" + }, + "sessionName": { + "type": "string", + "description": "The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`.\n" + }, + "webIdentityToken": { + "type": "string", + "description": "OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`.\n" + } + }, + "type": "object", + "required": [ + "roleArn", + "sessionDuration", + "sessionName", + "webIdentityToken" + ], + "language": { + "nodejs": { + "requiredOutputs": [] + } + } } }, "provider": { @@ -116242,10 +119377,30 @@ "$ref": "#/types/tencentcloud:index/ProviderAssumeRole:ProviderAssumeRole", "description": "The `assume_role` block. If provided, terraform will attempt to assume this role using the supplied credentials.\n" }, + "assumeRoleWithSaml": { + "$ref": "#/types/tencentcloud:index/ProviderAssumeRoleWithSaml:ProviderAssumeRoleWithSaml", + "description": "The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied\ncredentials.\n" + }, + "assumeRoleWithWebIdentity": { + "$ref": "#/types/tencentcloud:index/ProviderAssumeRoleWithWebIdentity:ProviderAssumeRoleWithWebIdentity", + "description": "The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied\ncredentials.\n" + }, + "camRoleName": { + "type": "string", + "description": "The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable.\n" + }, + "cosDomain": { + "type": "string", + "description": "The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples:\n`https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`.\n" + }, "domain": { "type": "string", "description": "The root domain of the API request, Default is `tencentcloudapi.com`.\n" }, + "enablePodOidc": { + "type": "boolean", + "description": "Whether to enable pod oidc.\n" + }, "profile": { "type": "string", "description": "The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment\nvariable. If not set, the default profile created with `tccli configure` will be used.\n" @@ -116256,15 +119411,15 @@ }, "region": { "type": "string", - "description": "This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION`\nenvironment variables. The default input value is ap-guangzhou.\n" + "description": "This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The\ndefault input value is ap-guangzhou.\n" }, "secretId": { "type": "string", - "description": "This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID`\nenvironment variable.\n" + "description": "This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable.\n" }, "secretKey": { "type": "string", - "description": "This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY`\nenvironment variable.\n", + "description": "This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable.\n", "secret": true }, "securityToken": { @@ -116282,10 +119437,30 @@ "$ref": "#/types/tencentcloud:index/ProviderAssumeRole:ProviderAssumeRole", "description": "The `assume_role` block. If provided, terraform will attempt to assume this role using the supplied credentials.\n" }, + "assumeRoleWithSaml": { + "$ref": "#/types/tencentcloud:index/ProviderAssumeRoleWithSaml:ProviderAssumeRoleWithSaml", + "description": "The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied\ncredentials.\n" + }, + "assumeRoleWithWebIdentity": { + "$ref": "#/types/tencentcloud:index/ProviderAssumeRoleWithWebIdentity:ProviderAssumeRoleWithWebIdentity", + "description": "The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied\ncredentials.\n" + }, + "camRoleName": { + "type": "string", + "description": "The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable.\n" + }, + "cosDomain": { + "type": "string", + "description": "The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples:\n`https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`.\n" + }, "domain": { "type": "string", "description": "The root domain of the API request, Default is `tencentcloudapi.com`.\n" }, + "enablePodOidc": { + "type": "boolean", + "description": "Whether to enable pod oidc.\n" + }, "profile": { "type": "string", "description": "The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment\nvariable. If not set, the default profile created with `tccli configure` will be used.\n" @@ -116296,7 +119471,7 @@ }, "region": { "type": "string", - "description": "This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION`\nenvironment variables. The default input value is ap-guangzhou.\n", + "description": "This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The\ndefault input value is ap-guangzhou.\n", "defaultInfo": { "environment": [ "TENCENTCLOUD_REGION" @@ -116305,7 +119480,7 @@ }, "secretId": { "type": "string", - "description": "This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID`\nenvironment variable.\n", + "description": "This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable.\n", "defaultInfo": { "environment": [ "TENCENTCLOUD_SECRET_ID" @@ -116314,7 +119489,7 @@ }, "secretKey": { "type": "string", - "description": "This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY`\nenvironment variable.\n", + "description": "This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable.\n", "defaultInfo": { "environment": [ "TENCENTCLOUD_SECRET_KEY" @@ -120506,7 +123681,7 @@ } }, "tencentcloud:Apm/instance:Instance": { - "description": "Provides a resource to create a apm instance\n\n\u003e **NOTE:** To use the field `pay_mode`, you need to contact official customer service to join the whitelist.\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 instance = new tencentcloud.apm.Instance(\"instance\", {\n description: \"for terraform test\",\n spanDailyCounters: 20,\n tags: {\n createdBy: \"terraform\",\n },\n traceDuration: 15,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninstance = tencentcloud.apm.Instance(\"instance\",\n description=\"for terraform test\",\n span_daily_counters=20,\n tags={\n \"createdBy\": \"terraform\",\n },\n trace_duration=15)\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 instance = new Tencentcloud.Apm.Instance(\"instance\", new()\n {\n Description = \"for terraform test\",\n SpanDailyCounters = 20,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n TraceDuration = 15,\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/Apm\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Apm.NewInstance(ctx, \"instance\", \u0026Apm.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"for terraform test\"),\n\t\t\tSpanDailyCounters: pulumi.Int(20),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t\tTraceDuration: pulumi.Int(15),\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.Apm.Instance;\nimport com.pulumi.tencentcloud.Apm.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 instance = new Instance(\"instance\", InstanceArgs.builder() \n .description(\"for terraform test\")\n .spanDailyCounters(20)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .traceDuration(15)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: tencentcloud:Apm:Instance\n properties:\n description: for terraform test\n spanDailyCounters: 20\n tags:\n createdBy: terraform\n traceDuration: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\napm instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Apm/instance:Instance instance instance_id\n```\n\n", + "description": "Provides a resource to create a apm instance\n\n\u003e **NOTE:** To use the field `pay_mode`, you need to contact official customer service to join the whitelist.\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.apm.Instance(\"example\", {\n description: \"desc.\",\n spanDailyCounters: 0,\n tags: {\n createdBy: \"terraform\",\n },\n traceDuration: 15,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.apm.Instance(\"example\",\n description=\"desc.\",\n span_daily_counters=0,\n tags={\n \"createdBy\": \"terraform\",\n },\n trace_duration=15)\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.Apm.Instance(\"example\", new()\n {\n Description = \"desc.\",\n SpanDailyCounters = 0,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n TraceDuration = 15,\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/Apm\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Apm.NewInstance(ctx, \"example\", \u0026Apm.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tSpanDailyCounters: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t\tTraceDuration: pulumi.Int(15),\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.Apm.Instance;\nimport com.pulumi.tencentcloud.Apm.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 .description(\"desc.\")\n .spanDailyCounters(0)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .traceDuration(15)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Apm:Instance\n properties:\n description: desc.\n spanDailyCounters: 0\n tags:\n createdBy: terraform\n traceDuration: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\napm instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Apm/instance:Instance example apm-IMVrxXl1K\n```\n\n", "properties": { "description": { "type": "string", @@ -120797,7 +123972,7 @@ } }, "tencentcloud:As/lifecycleHook:LifecycleHook": { - "description": "Provides a resource for an AS (Auto scaling) lifecycle hook.\n\n## Example Usage\n\n### Create a basic LifecycleHook\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 zones = tencentcloud.Availability.getZonesByProduct({\n product: \"as\",\n});\nconst image = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"tf-example\",\n imageId: image.then(image =\u003e image.images?.[0]?.imageId),\n instanceTypes: [\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instanceNameSettings: {\n instanceName: \"test-ins-name\",\n },\n});\nconst exampleScalingGroup = new tencentcloud.as.ScalingGroup(\"exampleScalingGroup\", {\n scalingGroupName: \"tf-example\",\n configurationId: exampleScalingConfig.id,\n maxSize: 1,\n minSize: 0,\n vpcId: vpc.id,\n subnetIds: [subnet.id],\n});\nconst exampleLifecycleHook = new tencentcloud.as.LifecycleHook(\"exampleLifecycleHook\", {\n scalingGroupId: exampleScalingGroup.id,\n lifecycleHookName: \"tf-as-lifecycle-hook\",\n lifecycleTransition: \"INSTANCE_LAUNCHING\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 500,\n notificationMetadata: \"tf test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzones = tencentcloud.Availability.get_zones_by_product(product=\"as\")\nimage = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n availability_zone=zones.zones[0].name)\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"tf-example\",\n image_id=image.images[0].image_id,\n instance_types=[\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instance_name_settings=tencentcloud.as_.ScalingConfigInstanceNameSettingsArgs(\n instance_name=\"test-ins-name\",\n ))\nexample_scaling_group = tencentcloud.as_.ScalingGroup(\"exampleScalingGroup\",\n scaling_group_name=\"tf-example\",\n configuration_id=example_scaling_config.id,\n max_size=1,\n min_size=0,\n vpc_id=vpc.id,\n subnet_ids=[subnet.id])\nexample_lifecycle_hook = tencentcloud.as_.LifecycleHook(\"exampleLifecycleHook\",\n scaling_group_id=example_scaling_group.id,\n lifecycle_hook_name=\"tf-as-lifecycle-hook\",\n lifecycle_transition=\"INSTANCE_LAUNCHING\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=500,\n notification_metadata=\"tf test\")\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 zones = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"as\",\n });\n\n var image = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"TencentOS Server 3.2 (Final)\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n });\n\n var exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"tf-example\",\n ImageId = image.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n },\n InstanceNameSettings = new Tencentcloud.As.Inputs.ScalingConfigInstanceNameSettingsArgs\n {\n InstanceName = \"test-ins-name\",\n },\n });\n\n var exampleScalingGroup = new Tencentcloud.As.ScalingGroup(\"exampleScalingGroup\", new()\n {\n ScalingGroupName = \"tf-example\",\n ConfigurationId = exampleScalingConfig.Id,\n MaxSize = 1,\n MinSize = 0,\n VpcId = vpc.Id,\n SubnetIds = new[]\n {\n subnet.Id,\n },\n });\n\n var exampleLifecycleHook = new Tencentcloud.As.LifecycleHook(\"exampleLifecycleHook\", new()\n {\n ScalingGroupId = exampleScalingGroup.Id,\n LifecycleHookName = \"tf-as-lifecycle-hook\",\n LifecycleTransition = \"INSTANCE_LAUNCHING\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 500,\n NotificationMetadata = \"tf test\",\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/As\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\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\tzones, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"as\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timage, 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(\"TencentOS Server 3.2 (Final)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleScalingConfig, err := As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"tf-example\"),\n\t\t\tImageId: pulumi.String(image.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL2\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL4\"),\n\t\t\t},\n\t\t\tInstanceNameSettings: \u0026as.ScalingConfigInstanceNameSettingsArgs{\n\t\t\t\tInstanceName: pulumi.String(\"test-ins-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleScalingGroup, err := As.NewScalingGroup(ctx, \"exampleScalingGroup\", \u0026As.ScalingGroupArgs{\n\t\t\tScalingGroupName: pulumi.String(\"tf-example\"),\n\t\t\tConfigurationId: exampleScalingConfig.ID(),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = As.NewLifecycleHook(ctx, \"exampleLifecycleHook\", \u0026As.LifecycleHookArgs{\n\t\t\tScalingGroupId: exampleScalingGroup.ID(),\n\t\t\tLifecycleHookName: pulumi.String(\"tf-as-lifecycle-hook\"),\n\t\t\tLifecycleTransition: pulumi.String(\"INSTANCE_LAUNCHING\"),\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(500),\n\t\t\tNotificationMetadata: pulumi.String(\"tf test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\nimport com.pulumi.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigInstanceNameSettingsArgs;\nimport com.pulumi.tencentcloud.As.ScalingGroup;\nimport com.pulumi.tencentcloud.As.ScalingGroupArgs;\nimport com.pulumi.tencentcloud.As.LifecycleHook;\nimport com.pulumi.tencentcloud.As.LifecycleHookArgs;\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 zones = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"as\")\n .build());\n\n final var image = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"tf-example\")\n .imageId(image.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes( \n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\")\n .instanceNameSettings(ScalingConfigInstanceNameSettingsArgs.builder()\n .instanceName(\"test-ins-name\")\n .build())\n .build());\n\n var exampleScalingGroup = new ScalingGroup(\"exampleScalingGroup\", ScalingGroupArgs.builder() \n .scalingGroupName(\"tf-example\")\n .configurationId(exampleScalingConfig.id())\n .maxSize(1)\n .minSize(0)\n .vpcId(vpc.id())\n .subnetIds(subnet.id())\n .build());\n\n var exampleLifecycleHook = new LifecycleHook(\"exampleLifecycleHook\", LifecycleHookArgs.builder() \n .scalingGroupId(exampleScalingGroup.id())\n .lifecycleHookName(\"tf-as-lifecycle-hook\")\n .lifecycleTransition(\"INSTANCE_LAUNCHING\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(500)\n .notificationMetadata(\"tf test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n availabilityZone: ${zones.zones[0].name}\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: tf-example\n imageId: ${image.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n - SA2.SMALL1\n - SA2.SMALL2\n - SA2.SMALL4\n instanceNameSettings:\n instanceName: test-ins-name\n exampleScalingGroup:\n type: tencentcloud:As:ScalingGroup\n properties:\n scalingGroupName: tf-example\n configurationId: ${exampleScalingConfig.id}\n maxSize: 1\n minSize: 0\n vpcId: ${vpc.id}\n subnetIds:\n - ${subnet.id}\n exampleLifecycleHook:\n type: tencentcloud:As:LifecycleHook\n properties:\n scalingGroupId: ${exampleScalingGroup.id}\n lifecycleHookName: tf-as-lifecycle-hook\n lifecycleTransition: INSTANCE_LAUNCHING\n defaultResult: CONTINUE\n heartbeatTimeout: 500\n notificationMetadata: tf test\nvariables:\n zones:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: as\n image:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: TencentOS Server 3.2 (Final)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.as.LifecycleHook(\"example\", {\n scalingGroupId: tencentcloud_as_scaling_group.example.id,\n lifecycleHookName: \"tf-as-lifecycle-hook\",\n lifecycleTransition: \"INSTANCE_LAUNCHING\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 500,\n notificationMetadata: \"tf test\",\n notificationTargetType: \"CMQ_QUEUE\",\n notificationQueueName: \"lifcyclehook\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.as_.LifecycleHook(\"example\",\n scaling_group_id=tencentcloud_as_scaling_group[\"example\"][\"id\"],\n lifecycle_hook_name=\"tf-as-lifecycle-hook\",\n lifecycle_transition=\"INSTANCE_LAUNCHING\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=500,\n notification_metadata=\"tf test\",\n notification_target_type=\"CMQ_QUEUE\",\n notification_queue_name=\"lifcyclehook\")\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.As.LifecycleHook(\"example\", new()\n {\n ScalingGroupId = tencentcloud_as_scaling_group.Example.Id,\n LifecycleHookName = \"tf-as-lifecycle-hook\",\n LifecycleTransition = \"INSTANCE_LAUNCHING\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 500,\n NotificationMetadata = \"tf test\",\n NotificationTargetType = \"CMQ_QUEUE\",\n NotificationQueueName = \"lifcyclehook\",\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/As\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := As.NewLifecycleHook(ctx, \"example\", \u0026As.LifecycleHookArgs{\n\t\t\tScalingGroupId: pulumi.Any(tencentcloud_as_scaling_group.Example.Id),\n\t\t\tLifecycleHookName: pulumi.String(\"tf-as-lifecycle-hook\"),\n\t\t\tLifecycleTransition: pulumi.String(\"INSTANCE_LAUNCHING\"),\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(500),\n\t\t\tNotificationMetadata: pulumi.String(\"tf test\"),\n\t\t\tNotificationTargetType: pulumi.String(\"CMQ_QUEUE\"),\n\t\t\tNotificationQueueName: pulumi.String(\"lifcyclehook\"),\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.As.LifecycleHook;\nimport com.pulumi.tencentcloud.As.LifecycleHookArgs;\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 LifecycleHook(\"example\", LifecycleHookArgs.builder() \n .scalingGroupId(tencentcloud_as_scaling_group.example().id())\n .lifecycleHookName(\"tf-as-lifecycle-hook\")\n .lifecycleTransition(\"INSTANCE_LAUNCHING\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(500)\n .notificationMetadata(\"tf test\")\n .notificationTargetType(\"CMQ_QUEUE\")\n .notificationQueueName(\"lifcyclehook\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:As:LifecycleHook\n properties:\n scalingGroupId: ${tencentcloud_as_scaling_group.example.id}\n lifecycleHookName: tf-as-lifecycle-hook\n lifecycleTransition: INSTANCE_LAUNCHING\n defaultResult: CONTINUE\n heartbeatTimeout: 500\n notificationMetadata: tf test\n notificationTargetType: CMQ_QUEUE\n notificationQueueName: lifcyclehook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.as.LifecycleHook(\"example\", {\n scalingGroupId: tencentcloud_as_scaling_group.example.id,\n lifecycleHookName: \"tf-as-lifecycle-hook\",\n lifecycleTransition: \"INSTANCE_LAUNCHING\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 500,\n notificationMetadata: \"tf test\",\n notificationTargetType: \"CMQ_TOPIC\",\n notificationTopicName: \"lifcyclehook\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.as_.LifecycleHook(\"example\",\n scaling_group_id=tencentcloud_as_scaling_group[\"example\"][\"id\"],\n lifecycle_hook_name=\"tf-as-lifecycle-hook\",\n lifecycle_transition=\"INSTANCE_LAUNCHING\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=500,\n notification_metadata=\"tf test\",\n notification_target_type=\"CMQ_TOPIC\",\n notification_topic_name=\"lifcyclehook\")\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.As.LifecycleHook(\"example\", new()\n {\n ScalingGroupId = tencentcloud_as_scaling_group.Example.Id,\n LifecycleHookName = \"tf-as-lifecycle-hook\",\n LifecycleTransition = \"INSTANCE_LAUNCHING\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 500,\n NotificationMetadata = \"tf test\",\n NotificationTargetType = \"CMQ_TOPIC\",\n NotificationTopicName = \"lifcyclehook\",\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/As\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := As.NewLifecycleHook(ctx, \"example\", \u0026As.LifecycleHookArgs{\n\t\t\tScalingGroupId: pulumi.Any(tencentcloud_as_scaling_group.Example.Id),\n\t\t\tLifecycleHookName: pulumi.String(\"tf-as-lifecycle-hook\"),\n\t\t\tLifecycleTransition: pulumi.String(\"INSTANCE_LAUNCHING\"),\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(500),\n\t\t\tNotificationMetadata: pulumi.String(\"tf test\"),\n\t\t\tNotificationTargetType: pulumi.String(\"CMQ_TOPIC\"),\n\t\t\tNotificationTopicName: pulumi.String(\"lifcyclehook\"),\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.As.LifecycleHook;\nimport com.pulumi.tencentcloud.As.LifecycleHookArgs;\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 LifecycleHook(\"example\", LifecycleHookArgs.builder() \n .scalingGroupId(tencentcloud_as_scaling_group.example().id())\n .lifecycleHookName(\"tf-as-lifecycle-hook\")\n .lifecycleTransition(\"INSTANCE_LAUNCHING\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(500)\n .notificationMetadata(\"tf test\")\n .notificationTargetType(\"CMQ_TOPIC\")\n .notificationTopicName(\"lifcyclehook\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:As:LifecycleHook\n properties:\n scalingGroupId: ${tencentcloud_as_scaling_group.example.id}\n lifecycleHookName: tf-as-lifecycle-hook\n lifecycleTransition: INSTANCE_LAUNCHING\n defaultResult: CONTINUE\n heartbeatTimeout: 500\n notificationMetadata: tf test\n notificationTargetType: CMQ_TOPIC\n notificationTopicName: lifcyclehook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource for an AS (Auto scaling) lifecycle hook.\n\n## Example Usage\n\n### Create a basic LifecycleHook\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 zones = tencentcloud.Availability.getZonesByProduct({\n product: \"as\",\n});\nconst image = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"tf-example\",\n imageId: image.then(image =\u003e image.images?.[0]?.imageId),\n instanceTypes: [\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instanceNameSettings: {\n instanceName: \"test-ins-name\",\n },\n});\nconst exampleScalingGroup = new tencentcloud.as.ScalingGroup(\"exampleScalingGroup\", {\n scalingGroupName: \"tf-example\",\n configurationId: exampleScalingConfig.id,\n maxSize: 1,\n minSize: 0,\n vpcId: vpc.id,\n subnetIds: [subnet.id],\n});\nconst exampleLifecycleHook = new tencentcloud.as.LifecycleHook(\"exampleLifecycleHook\", {\n scalingGroupId: exampleScalingGroup.id,\n lifecycleHookName: \"tf-as-lifecycle-hook\",\n lifecycleTransition: \"INSTANCE_LAUNCHING\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 500,\n notificationMetadata: \"tf test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzones = tencentcloud.Availability.get_zones_by_product(product=\"as\")\nimage = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n availability_zone=zones.zones[0].name)\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"tf-example\",\n image_id=image.images[0].image_id,\n instance_types=[\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instance_name_settings=tencentcloud.as_.ScalingConfigInstanceNameSettingsArgs(\n instance_name=\"test-ins-name\",\n ))\nexample_scaling_group = tencentcloud.as_.ScalingGroup(\"exampleScalingGroup\",\n scaling_group_name=\"tf-example\",\n configuration_id=example_scaling_config.id,\n max_size=1,\n min_size=0,\n vpc_id=vpc.id,\n subnet_ids=[subnet.id])\nexample_lifecycle_hook = tencentcloud.as_.LifecycleHook(\"exampleLifecycleHook\",\n scaling_group_id=example_scaling_group.id,\n lifecycle_hook_name=\"tf-as-lifecycle-hook\",\n lifecycle_transition=\"INSTANCE_LAUNCHING\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=500,\n notification_metadata=\"tf test\")\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 zones = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"as\",\n });\n\n var image = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"TencentOS Server 3.2 (Final)\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n });\n\n var exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"tf-example\",\n ImageId = image.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n },\n InstanceNameSettings = new Tencentcloud.As.Inputs.ScalingConfigInstanceNameSettingsArgs\n {\n InstanceName = \"test-ins-name\",\n },\n });\n\n var exampleScalingGroup = new Tencentcloud.As.ScalingGroup(\"exampleScalingGroup\", new()\n {\n ScalingGroupName = \"tf-example\",\n ConfigurationId = exampleScalingConfig.Id,\n MaxSize = 1,\n MinSize = 0,\n VpcId = vpc.Id,\n SubnetIds = new[]\n {\n subnet.Id,\n },\n });\n\n var exampleLifecycleHook = new Tencentcloud.As.LifecycleHook(\"exampleLifecycleHook\", new()\n {\n ScalingGroupId = exampleScalingGroup.Id,\n LifecycleHookName = \"tf-as-lifecycle-hook\",\n LifecycleTransition = \"INSTANCE_LAUNCHING\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 500,\n NotificationMetadata = \"tf test\",\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/As\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\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\tzones, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"as\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timage, 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(\"TencentOS Server 3.2 (Final)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleScalingConfig, err := As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"tf-example\"),\n\t\t\tImageId: pulumi.String(image.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL2\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL4\"),\n\t\t\t},\n\t\t\tInstanceNameSettings: \u0026as.ScalingConfigInstanceNameSettingsArgs{\n\t\t\t\tInstanceName: pulumi.String(\"test-ins-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleScalingGroup, err := As.NewScalingGroup(ctx, \"exampleScalingGroup\", \u0026As.ScalingGroupArgs{\n\t\t\tScalingGroupName: pulumi.String(\"tf-example\"),\n\t\t\tConfigurationId: exampleScalingConfig.ID(),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = As.NewLifecycleHook(ctx, \"exampleLifecycleHook\", \u0026As.LifecycleHookArgs{\n\t\t\tScalingGroupId: exampleScalingGroup.ID(),\n\t\t\tLifecycleHookName: pulumi.String(\"tf-as-lifecycle-hook\"),\n\t\t\tLifecycleTransition: pulumi.String(\"INSTANCE_LAUNCHING\"),\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(500),\n\t\t\tNotificationMetadata: pulumi.String(\"tf test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\nimport com.pulumi.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigInstanceNameSettingsArgs;\nimport com.pulumi.tencentcloud.As.ScalingGroup;\nimport com.pulumi.tencentcloud.As.ScalingGroupArgs;\nimport com.pulumi.tencentcloud.As.LifecycleHook;\nimport com.pulumi.tencentcloud.As.LifecycleHookArgs;\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 zones = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"as\")\n .build());\n\n final var image = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"tf-example\")\n .imageId(image.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes( \n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\")\n .instanceNameSettings(ScalingConfigInstanceNameSettingsArgs.builder()\n .instanceName(\"test-ins-name\")\n .build())\n .build());\n\n var exampleScalingGroup = new ScalingGroup(\"exampleScalingGroup\", ScalingGroupArgs.builder() \n .scalingGroupName(\"tf-example\")\n .configurationId(exampleScalingConfig.id())\n .maxSize(1)\n .minSize(0)\n .vpcId(vpc.id())\n .subnetIds(subnet.id())\n .build());\n\n var exampleLifecycleHook = new LifecycleHook(\"exampleLifecycleHook\", LifecycleHookArgs.builder() \n .scalingGroupId(exampleScalingGroup.id())\n .lifecycleHookName(\"tf-as-lifecycle-hook\")\n .lifecycleTransition(\"INSTANCE_LAUNCHING\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(500)\n .notificationMetadata(\"tf test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n availabilityZone: ${zones.zones[0].name}\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: tf-example\n imageId: ${image.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n - SA2.SMALL1\n - SA2.SMALL2\n - SA2.SMALL4\n instanceNameSettings:\n instanceName: test-ins-name\n exampleScalingGroup:\n type: tencentcloud:As:ScalingGroup\n properties:\n scalingGroupName: tf-example\n configurationId: ${exampleScalingConfig.id}\n maxSize: 1\n minSize: 0\n vpcId: ${vpc.id}\n subnetIds:\n - ${subnet.id}\n exampleLifecycleHook:\n type: tencentcloud:As:LifecycleHook\n properties:\n scalingGroupId: ${exampleScalingGroup.id}\n lifecycleHookName: tf-as-lifecycle-hook\n lifecycleTransition: INSTANCE_LAUNCHING\n defaultResult: CONTINUE\n heartbeatTimeout: 500\n notificationMetadata: tf test\nvariables:\n zones:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: as\n image:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: TencentOS Server 3.2 (Final)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.as.LifecycleHook(\"example\", {\n scalingGroupId: tencentcloud_as_scaling_group.example.id,\n lifecycleHookName: \"tf-as-lifecycle-hook\",\n lifecycleTransition: \"INSTANCE_LAUNCHING\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 500,\n notificationMetadata: \"tf test\",\n notificationTargetType: \"CMQ_QUEUE\",\n notificationQueueName: \"lifcyclehook\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.as_.LifecycleHook(\"example\",\n scaling_group_id=tencentcloud_as_scaling_group[\"example\"][\"id\"],\n lifecycle_hook_name=\"tf-as-lifecycle-hook\",\n lifecycle_transition=\"INSTANCE_LAUNCHING\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=500,\n notification_metadata=\"tf test\",\n notification_target_type=\"CMQ_QUEUE\",\n notification_queue_name=\"lifcyclehook\")\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.As.LifecycleHook(\"example\", new()\n {\n ScalingGroupId = tencentcloud_as_scaling_group.Example.Id,\n LifecycleHookName = \"tf-as-lifecycle-hook\",\n LifecycleTransition = \"INSTANCE_LAUNCHING\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 500,\n NotificationMetadata = \"tf test\",\n NotificationTargetType = \"CMQ_QUEUE\",\n NotificationQueueName = \"lifcyclehook\",\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/As\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := As.NewLifecycleHook(ctx, \"example\", \u0026As.LifecycleHookArgs{\n\t\t\tScalingGroupId: pulumi.Any(tencentcloud_as_scaling_group.Example.Id),\n\t\t\tLifecycleHookName: pulumi.String(\"tf-as-lifecycle-hook\"),\n\t\t\tLifecycleTransition: pulumi.String(\"INSTANCE_LAUNCHING\"),\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(500),\n\t\t\tNotificationMetadata: pulumi.String(\"tf test\"),\n\t\t\tNotificationTargetType: pulumi.String(\"CMQ_QUEUE\"),\n\t\t\tNotificationQueueName: pulumi.String(\"lifcyclehook\"),\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.As.LifecycleHook;\nimport com.pulumi.tencentcloud.As.LifecycleHookArgs;\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 LifecycleHook(\"example\", LifecycleHookArgs.builder() \n .scalingGroupId(tencentcloud_as_scaling_group.example().id())\n .lifecycleHookName(\"tf-as-lifecycle-hook\")\n .lifecycleTransition(\"INSTANCE_LAUNCHING\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(500)\n .notificationMetadata(\"tf test\")\n .notificationTargetType(\"CMQ_QUEUE\")\n .notificationQueueName(\"lifcyclehook\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:As:LifecycleHook\n properties:\n scalingGroupId: ${tencentcloud_as_scaling_group.example.id}\n lifecycleHookName: tf-as-lifecycle-hook\n lifecycleTransition: INSTANCE_LAUNCHING\n defaultResult: CONTINUE\n heartbeatTimeout: 500\n notificationMetadata: tf test\n notificationTargetType: CMQ_QUEUE\n notificationQueueName: lifcyclehook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.as.LifecycleHook(\"example\", {\n scalingGroupId: tencentcloud_as_scaling_group.example.id,\n lifecycleHookName: \"tf-as-lifecycle-hook\",\n lifecycleTransition: \"INSTANCE_LAUNCHING\",\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 500,\n notificationMetadata: \"tf test\",\n notificationTargetType: \"CMQ_TOPIC\",\n notificationTopicName: \"lifcyclehook\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.as_.LifecycleHook(\"example\",\n scaling_group_id=tencentcloud_as_scaling_group[\"example\"][\"id\"],\n lifecycle_hook_name=\"tf-as-lifecycle-hook\",\n lifecycle_transition=\"INSTANCE_LAUNCHING\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=500,\n notification_metadata=\"tf test\",\n notification_target_type=\"CMQ_TOPIC\",\n notification_topic_name=\"lifcyclehook\")\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.As.LifecycleHook(\"example\", new()\n {\n ScalingGroupId = tencentcloud_as_scaling_group.Example.Id,\n LifecycleHookName = \"tf-as-lifecycle-hook\",\n LifecycleTransition = \"INSTANCE_LAUNCHING\",\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 500,\n NotificationMetadata = \"tf test\",\n NotificationTargetType = \"CMQ_TOPIC\",\n NotificationTopicName = \"lifcyclehook\",\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/As\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := As.NewLifecycleHook(ctx, \"example\", \u0026As.LifecycleHookArgs{\n\t\t\tScalingGroupId: pulumi.Any(tencentcloud_as_scaling_group.Example.Id),\n\t\t\tLifecycleHookName: pulumi.String(\"tf-as-lifecycle-hook\"),\n\t\t\tLifecycleTransition: pulumi.String(\"INSTANCE_LAUNCHING\"),\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(500),\n\t\t\tNotificationMetadata: pulumi.String(\"tf test\"),\n\t\t\tNotificationTargetType: pulumi.String(\"CMQ_TOPIC\"),\n\t\t\tNotificationTopicName: pulumi.String(\"lifcyclehook\"),\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.As.LifecycleHook;\nimport com.pulumi.tencentcloud.As.LifecycleHookArgs;\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 LifecycleHook(\"example\", LifecycleHookArgs.builder() \n .scalingGroupId(tencentcloud_as_scaling_group.example().id())\n .lifecycleHookName(\"tf-as-lifecycle-hook\")\n .lifecycleTransition(\"INSTANCE_LAUNCHING\")\n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(500)\n .notificationMetadata(\"tf test\")\n .notificationTargetType(\"CMQ_TOPIC\")\n .notificationTopicName(\"lifcyclehook\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:As:LifecycleHook\n properties:\n scalingGroupId: ${tencentcloud_as_scaling_group.example.id}\n lifecycleHookName: tf-as-lifecycle-hook\n lifecycleTransition: INSTANCE_LAUNCHING\n defaultResult: CONTINUE\n heartbeatTimeout: 500\n notificationMetadata: tf test\n notificationTargetType: CMQ_TOPIC\n notificationTopicName: lifcyclehook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use TAT Command\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.as.LifecycleHook(\"example\", {\n defaultResult: \"CONTINUE\",\n heartbeatTimeout: 300,\n lifecycleHookName: \"test\",\n lifecycleTransition: \"INSTANCE_TERMINATING\",\n scalingGroupId: tencentcloud_as_scaling_group.example.id,\n lifecycleCommand: {\n commandId: \"cmd-xxxx\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.as_.LifecycleHook(\"example\",\n default_result=\"CONTINUE\",\n heartbeat_timeout=300,\n lifecycle_hook_name=\"test\",\n lifecycle_transition=\"INSTANCE_TERMINATING\",\n scaling_group_id=tencentcloud_as_scaling_group[\"example\"][\"id\"],\n lifecycle_command=tencentcloud.as_.LifecycleHookLifecycleCommandArgs(\n command_id=\"cmd-xxxx\",\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.As.LifecycleHook(\"example\", new()\n {\n DefaultResult = \"CONTINUE\",\n HeartbeatTimeout = 300,\n LifecycleHookName = \"test\",\n LifecycleTransition = \"INSTANCE_TERMINATING\",\n ScalingGroupId = tencentcloud_as_scaling_group.Example.Id,\n LifecycleCommand = new Tencentcloud.As.Inputs.LifecycleHookLifecycleCommandArgs\n {\n CommandId = \"cmd-xxxx\",\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/As\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := As.NewLifecycleHook(ctx, \"example\", \u0026As.LifecycleHookArgs{\n\t\t\tDefaultResult: pulumi.String(\"CONTINUE\"),\n\t\t\tHeartbeatTimeout: pulumi.Int(300),\n\t\t\tLifecycleHookName: pulumi.String(\"test\"),\n\t\t\tLifecycleTransition: pulumi.String(\"INSTANCE_TERMINATING\"),\n\t\t\tScalingGroupId: pulumi.Any(tencentcloud_as_scaling_group.Example.Id),\n\t\t\tLifecycleCommand: \u0026as.LifecycleHookLifecycleCommandArgs{\n\t\t\t\tCommandId: pulumi.String(\"cmd-xxxx\"),\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.As.LifecycleHook;\nimport com.pulumi.tencentcloud.As.LifecycleHookArgs;\nimport com.pulumi.tencentcloud.As.inputs.LifecycleHookLifecycleCommandArgs;\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 LifecycleHook(\"example\", LifecycleHookArgs.builder() \n .defaultResult(\"CONTINUE\")\n .heartbeatTimeout(300)\n .lifecycleHookName(\"test\")\n .lifecycleTransition(\"INSTANCE_TERMINATING\")\n .scalingGroupId(tencentcloud_as_scaling_group.example().id())\n .lifecycleCommand(LifecycleHookLifecycleCommandArgs.builder()\n .commandId(\"cmd-xxxx\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:As:LifecycleHook\n properties:\n defaultResult: CONTINUE\n heartbeatTimeout: 300\n lifecycleHookName: test\n lifecycleTransition: INSTANCE_TERMINATING\n scalingGroupId: ${tencentcloud_as_scaling_group.example.id}\n lifecycleCommand:\n commandId: cmd-xxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nlifecycle hook can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:As/lifecycleHook:LifecycleHook example lifecycle_hook_id\n```\n\n", "properties": { "defaultResult": { "type": "string", @@ -120807,6 +123982,10 @@ "type": "integer", "description": "Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`.\n" }, + "lifecycleCommand": { + "$ref": "#/types/tencentcloud:As/LifecycleHookLifecycleCommand:LifecycleHookLifecycleCommand", + "description": "Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time.\n" + }, "lifecycleHookName": { "type": "string", "description": "The name of the lifecycle hook.\n" @@ -120825,7 +124004,7 @@ }, "notificationTargetType": { "type": "string", - "description": "Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`.\n" + "description": "Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`.\n" }, "notificationTopicName": { "type": "string", @@ -120837,6 +124016,7 @@ } }, "required": [ + "lifecycleCommand", "lifecycleHookName", "lifecycleTransition", "scalingGroupId" @@ -120850,6 +124030,10 @@ "type": "integer", "description": "Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`.\n" }, + "lifecycleCommand": { + "$ref": "#/types/tencentcloud:As/LifecycleHookLifecycleCommand:LifecycleHookLifecycleCommand", + "description": "Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time.\n" + }, "lifecycleHookName": { "type": "string", "description": "The name of the lifecycle hook.\n" @@ -120868,7 +124052,7 @@ }, "notificationTargetType": { "type": "string", - "description": "Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`.\n" + "description": "Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`.\n" }, "notificationTopicName": { "type": "string", @@ -120896,6 +124080,10 @@ "type": "integer", "description": "Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`.\n" }, + "lifecycleCommand": { + "$ref": "#/types/tencentcloud:As/LifecycleHookLifecycleCommand:LifecycleHookLifecycleCommand", + "description": "Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time.\n" + }, "lifecycleHookName": { "type": "string", "description": "The name of the lifecycle hook.\n" @@ -120914,7 +124102,7 @@ }, "notificationTargetType": { "type": "string", - "description": "Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`.\n" + "description": "Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`.\n" }, "notificationTopicName": { "type": "string", @@ -121725,7 +124913,7 @@ } }, "tencentcloud:As/scalingGroup:ScalingGroup": { - "description": "Provides a resource to create a group of AS (Auto scaling) instances.\n\n## Example Usage\n\n### Create a basic Scaling Group\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 zones = tencentcloud.Availability.getZonesByProduct({\n product: \"as\",\n});\nconst image = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"tf-example\",\n imageId: image.then(image =\u003e image.images?.[0]?.imageId),\n instanceTypes: [\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instanceNameSettings: {\n instanceName: \"test-ins-name\",\n },\n});\nconst exampleScalingGroup = new tencentcloud.as.ScalingGroup(\"exampleScalingGroup\", {\n scalingGroupName: \"tf-example\",\n configurationId: exampleScalingConfig.id,\n maxSize: 1,\n minSize: 0,\n vpcId: vpc.id,\n subnetIds: [subnet.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzones = tencentcloud.Availability.get_zones_by_product(product=\"as\")\nimage = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n availability_zone=zones.zones[0].name)\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"tf-example\",\n image_id=image.images[0].image_id,\n instance_types=[\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instance_name_settings=tencentcloud.as_.ScalingConfigInstanceNameSettingsArgs(\n instance_name=\"test-ins-name\",\n ))\nexample_scaling_group = tencentcloud.as_.ScalingGroup(\"exampleScalingGroup\",\n scaling_group_name=\"tf-example\",\n configuration_id=example_scaling_config.id,\n max_size=1,\n min_size=0,\n vpc_id=vpc.id,\n subnet_ids=[subnet.id])\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 zones = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"as\",\n });\n\n var image = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"TencentOS Server 3.2 (Final)\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n });\n\n var exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"tf-example\",\n ImageId = image.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n },\n InstanceNameSettings = new Tencentcloud.As.Inputs.ScalingConfigInstanceNameSettingsArgs\n {\n InstanceName = \"test-ins-name\",\n },\n });\n\n var exampleScalingGroup = new Tencentcloud.As.ScalingGroup(\"exampleScalingGroup\", new()\n {\n ScalingGroupName = \"tf-example\",\n ConfigurationId = exampleScalingConfig.Id,\n MaxSize = 1,\n MinSize = 0,\n VpcId = vpc.Id,\n SubnetIds = new[]\n {\n subnet.Id,\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/As\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\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\tzones, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"as\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timage, 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(\"TencentOS Server 3.2 (Final)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleScalingConfig, err := As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"tf-example\"),\n\t\t\tImageId: pulumi.String(image.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL2\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL4\"),\n\t\t\t},\n\t\t\tInstanceNameSettings: \u0026as.ScalingConfigInstanceNameSettingsArgs{\n\t\t\t\tInstanceName: pulumi.String(\"test-ins-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = As.NewScalingGroup(ctx, \"exampleScalingGroup\", \u0026As.ScalingGroupArgs{\n\t\t\tScalingGroupName: pulumi.String(\"tf-example\"),\n\t\t\tConfigurationId: exampleScalingConfig.ID(),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet.ID(),\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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\nimport com.pulumi.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigInstanceNameSettingsArgs;\nimport com.pulumi.tencentcloud.As.ScalingGroup;\nimport com.pulumi.tencentcloud.As.ScalingGroupArgs;\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 zones = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"as\")\n .build());\n\n final var image = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"tf-example\")\n .imageId(image.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes( \n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\")\n .instanceNameSettings(ScalingConfigInstanceNameSettingsArgs.builder()\n .instanceName(\"test-ins-name\")\n .build())\n .build());\n\n var exampleScalingGroup = new ScalingGroup(\"exampleScalingGroup\", ScalingGroupArgs.builder() \n .scalingGroupName(\"tf-example\")\n .configurationId(exampleScalingConfig.id())\n .maxSize(1)\n .minSize(0)\n .vpcId(vpc.id())\n .subnetIds(subnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n availabilityZone: ${zones.zones[0].name}\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: tf-example\n imageId: ${image.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n - SA2.SMALL1\n - SA2.SMALL2\n - SA2.SMALL4\n instanceNameSettings:\n instanceName: test-ins-name\n exampleScalingGroup:\n type: tencentcloud:As:ScalingGroup\n properties:\n scalingGroupName: tf-example\n configurationId: ${exampleScalingConfig.id}\n maxSize: 1\n minSize: 0\n vpcId: ${vpc.id}\n subnetIds:\n - ${subnet.id}\nvariables:\n zones:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: as\n image:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: TencentOS Server 3.2 (Final)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a complete Scaling Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\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 com.pulumi.tencentcloud.Clb.Listener;\nimport com.pulumi.tencentcloud.Clb.ListenerArgs;\nimport com.pulumi.tencentcloud.Clb.ListenerRule;\nimport com.pulumi.tencentcloud.Clb.ListenerRuleArgs;\nimport com.pulumi.tencentcloud.As.ScalingGroup;\nimport com.pulumi.tencentcloud.As.ScalingGroupArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingGroupForwardBalancerIdArgs;\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 .networkType(\"INTERNAL\")\n .clbName(\"clb-example\")\n .projectId(0)\n .vpcId(tencentcloud_vpc.vpc().id())\n .subnetId(tencentcloud_subnet.subnet().id())\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .clbId(exampleInstance.id())\n .listenerName(\"listener-example\")\n .port(80)\n .protocol(\"HTTP\")\n .build());\n\n var exampleListenerRule = new ListenerRule(\"exampleListenerRule\", ListenerRuleArgs.builder() \n .listenerId(exampleListener.listenerId())\n .clbId(exampleInstance.id())\n .domain(\"foo.net\")\n .url(\"/bar\")\n .build());\n\n var exampleScalingGroup = new ScalingGroup(\"exampleScalingGroup\", ScalingGroupArgs.builder() \n .scalingGroupName(\"tf-example\")\n .configurationId(tencentcloud_as_scaling_config.example().id())\n .maxSize(1)\n .minSize(0)\n .vpcId(tencentcloud_vpc.vpc().id())\n .subnetIds(tencentcloud_subnet.subnet().id())\n .projectId(0)\n .defaultCooldown(400)\n .desiredCapacity(1)\n .terminationPolicies(\"NEWEST_INSTANCE\")\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .forwardBalancerIds(ScalingGroupForwardBalancerIdArgs.builder()\n .loadBalancerId(exampleInstance.id())\n .listenerId(exampleListener.listenerId())\n .ruleId(exampleListenerRule.ruleId())\n .targetAttributes(ScalingGroupForwardBalancerIdTargetAttributeArgs.builder()\n .port(80)\n .weight(90)\n .build())\n .build())\n .tags(Map.of(\"createBy\", \"tfExample\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: INTERNAL\n clbName: clb-example\n projectId: 0\n vpcId: ${tencentcloud_vpc.vpc.id}\n subnetId: ${tencentcloud_subnet.subnet.id}\n tags:\n test: tf\n exampleListener:\n type: tencentcloud:Clb:Listener\n properties:\n clbId: ${exampleInstance.id}\n listenerName: listener-example\n port: 80\n protocol: HTTP\n exampleListenerRule:\n type: tencentcloud:Clb:ListenerRule\n properties:\n listenerId: ${exampleListener.listenerId}\n clbId: ${exampleInstance.id}\n domain: foo.net\n url: /bar\n exampleScalingGroup:\n type: tencentcloud:As:ScalingGroup\n properties:\n scalingGroupName: tf-example\n configurationId: ${tencentcloud_as_scaling_config.example.id}\n maxSize: 1\n minSize: 0\n vpcId: ${tencentcloud_vpc.vpc.id}\n subnetIds:\n - ${tencentcloud_subnet.subnet.id}\n projectId: 0\n defaultCooldown: 400\n desiredCapacity: 1\n terminationPolicies:\n - NEWEST_INSTANCE\n retryPolicy: INCREMENTAL_INTERVALS\n forwardBalancerIds:\n - loadBalancerId: ${exampleInstance.id}\n listenerId: ${exampleListener.listenerId}\n ruleId: ${exampleListenerRule.ruleId}\n targetAttributes:\n - port: 80\n weight: 90\n tags:\n createBy: tfExample\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutoScaling Groups can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:As/scalingGroup:ScalingGroup scaling_group asg-n32ymck2\n```\n", + "description": "Provides a resource to create a group of AS (Auto scaling) instances.\n\n## Example Usage\n\n### Create a basic Scaling Group\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 zones = tencentcloud.Availability.getZonesByProduct({\n product: \"as\",\n});\nconst image = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"tf-example\",\n imageId: image.then(image =\u003e image.images?.[0]?.imageId),\n instanceTypes: [\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instanceNameSettings: {\n instanceName: \"test-ins-name\",\n },\n});\nconst exampleScalingGroup = new tencentcloud.as.ScalingGroup(\"exampleScalingGroup\", {\n scalingGroupName: \"tf-example\",\n configurationId: exampleScalingConfig.id,\n maxSize: 1,\n minSize: 0,\n vpcId: vpc.id,\n subnetIds: [subnet.id],\n healthCheckType: \"CLB\",\n replaceLoadBalancerUnhealthy: true,\n lbHealthCheckGracePeriod: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzones = tencentcloud.Availability.get_zones_by_product(product=\"as\")\nimage = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n availability_zone=zones.zones[0].name)\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"tf-example\",\n image_id=image.images[0].image_id,\n instance_types=[\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instance_name_settings=tencentcloud.as_.ScalingConfigInstanceNameSettingsArgs(\n instance_name=\"test-ins-name\",\n ))\nexample_scaling_group = tencentcloud.as_.ScalingGroup(\"exampleScalingGroup\",\n scaling_group_name=\"tf-example\",\n configuration_id=example_scaling_config.id,\n max_size=1,\n min_size=0,\n vpc_id=vpc.id,\n subnet_ids=[subnet.id],\n health_check_type=\"CLB\",\n replace_load_balancer_unhealthy=True,\n lb_health_check_grace_period=30)\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 zones = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"as\",\n });\n\n var image = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"TencentOS Server 3.2 (Final)\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n });\n\n var exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"tf-example\",\n ImageId = image.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n },\n InstanceNameSettings = new Tencentcloud.As.Inputs.ScalingConfigInstanceNameSettingsArgs\n {\n InstanceName = \"test-ins-name\",\n },\n });\n\n var exampleScalingGroup = new Tencentcloud.As.ScalingGroup(\"exampleScalingGroup\", new()\n {\n ScalingGroupName = \"tf-example\",\n ConfigurationId = exampleScalingConfig.Id,\n MaxSize = 1,\n MinSize = 0,\n VpcId = vpc.Id,\n SubnetIds = new[]\n {\n subnet.Id,\n },\n HealthCheckType = \"CLB\",\n ReplaceLoadBalancerUnhealthy = true,\n LbHealthCheckGracePeriod = 30,\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/As\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\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\tzones, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"as\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timage, 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(\"TencentOS Server 3.2 (Final)\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleScalingConfig, err := As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\n\t\t\tConfigurationName: pulumi.String(\"tf-example\"),\n\t\t\tImageId: pulumi.String(image.Images[0].ImageId),\n\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"SA1.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL1\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL2\"),\n\t\t\t\tpulumi.String(\"SA2.SMALL4\"),\n\t\t\t},\n\t\t\tInstanceNameSettings: \u0026as.ScalingConfigInstanceNameSettingsArgs{\n\t\t\t\tInstanceName: pulumi.String(\"test-ins-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = As.NewScalingGroup(ctx, \"exampleScalingGroup\", \u0026As.ScalingGroupArgs{\n\t\t\tScalingGroupName: pulumi.String(\"tf-example\"),\n\t\t\tConfigurationId: exampleScalingConfig.ID(),\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet.ID(),\n\t\t\t},\n\t\t\tHealthCheckType: pulumi.String(\"CLB\"),\n\t\t\tReplaceLoadBalancerUnhealthy: pulumi.Bool(true),\n\t\t\tLbHealthCheckGracePeriod: pulumi.Int(30),\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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\nimport com.pulumi.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigInstanceNameSettingsArgs;\nimport com.pulumi.tencentcloud.As.ScalingGroup;\nimport com.pulumi.tencentcloud.As.ScalingGroupArgs;\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 zones = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"as\")\n .build());\n\n final var image = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"tf-example\")\n .imageId(image.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes( \n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\")\n .instanceNameSettings(ScalingConfigInstanceNameSettingsArgs.builder()\n .instanceName(\"test-ins-name\")\n .build())\n .build());\n\n var exampleScalingGroup = new ScalingGroup(\"exampleScalingGroup\", ScalingGroupArgs.builder() \n .scalingGroupName(\"tf-example\")\n .configurationId(exampleScalingConfig.id())\n .maxSize(1)\n .minSize(0)\n .vpcId(vpc.id())\n .subnetIds(subnet.id())\n .healthCheckType(\"CLB\")\n .replaceLoadBalancerUnhealthy(true)\n .lbHealthCheckGracePeriod(30)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n availabilityZone: ${zones.zones[0].name}\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: tf-example\n imageId: ${image.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n - SA2.SMALL1\n - SA2.SMALL2\n - SA2.SMALL4\n instanceNameSettings:\n instanceName: test-ins-name\n exampleScalingGroup:\n type: tencentcloud:As:ScalingGroup\n properties:\n scalingGroupName: tf-example\n configurationId: ${exampleScalingConfig.id}\n maxSize: 1\n minSize: 0\n vpcId: ${vpc.id}\n subnetIds:\n - ${subnet.id}\n healthCheckType: CLB\n replaceLoadBalancerUnhealthy: true\n lbHealthCheckGracePeriod: 30\nvariables:\n zones:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: as\n image:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: TencentOS Server 3.2 (Final)\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a complete Scaling Group\n\n\u003c!--Start PulumiCodeChooser --\u003e\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 com.pulumi.tencentcloud.Clb.Listener;\nimport com.pulumi.tencentcloud.Clb.ListenerArgs;\nimport com.pulumi.tencentcloud.Clb.ListenerRule;\nimport com.pulumi.tencentcloud.Clb.ListenerRuleArgs;\nimport com.pulumi.tencentcloud.As.ScalingGroup;\nimport com.pulumi.tencentcloud.As.ScalingGroupArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingGroupForwardBalancerIdArgs;\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 .networkType(\"INTERNAL\")\n .clbName(\"clb-example\")\n .projectId(0)\n .vpcId(tencentcloud_vpc.vpc().id())\n .subnetId(tencentcloud_subnet.subnet().id())\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n var exampleListener = new Listener(\"exampleListener\", ListenerArgs.builder() \n .clbId(exampleInstance.id())\n .listenerName(\"listener-example\")\n .port(80)\n .protocol(\"HTTP\")\n .build());\n\n var exampleListenerRule = new ListenerRule(\"exampleListenerRule\", ListenerRuleArgs.builder() \n .listenerId(exampleListener.listenerId())\n .clbId(exampleInstance.id())\n .domain(\"foo.net\")\n .url(\"/bar\")\n .build());\n\n var exampleScalingGroup = new ScalingGroup(\"exampleScalingGroup\", ScalingGroupArgs.builder() \n .scalingGroupName(\"tf-example\")\n .configurationId(tencentcloud_as_scaling_config.example().id())\n .maxSize(1)\n .minSize(0)\n .vpcId(tencentcloud_vpc.vpc().id())\n .subnetIds(tencentcloud_subnet.subnet().id())\n .projectId(0)\n .defaultCooldown(400)\n .desiredCapacity(1)\n .terminationPolicies(\"NEWEST_INSTANCE\")\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .forwardBalancerIds(ScalingGroupForwardBalancerIdArgs.builder()\n .loadBalancerId(exampleInstance.id())\n .listenerId(exampleListener.listenerId())\n .ruleId(exampleListenerRule.ruleId())\n .targetAttributes(ScalingGroupForwardBalancerIdTargetAttributeArgs.builder()\n .port(80)\n .weight(90)\n .build())\n .build())\n .tags(Map.of(\"createBy\", \"tfExample\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: INTERNAL\n clbName: clb-example\n projectId: 0\n vpcId: ${tencentcloud_vpc.vpc.id}\n subnetId: ${tencentcloud_subnet.subnet.id}\n tags:\n test: tf\n exampleListener:\n type: tencentcloud:Clb:Listener\n properties:\n clbId: ${exampleInstance.id}\n listenerName: listener-example\n port: 80\n protocol: HTTP\n exampleListenerRule:\n type: tencentcloud:Clb:ListenerRule\n properties:\n listenerId: ${exampleListener.listenerId}\n clbId: ${exampleInstance.id}\n domain: foo.net\n url: /bar\n exampleScalingGroup:\n type: tencentcloud:As:ScalingGroup\n properties:\n scalingGroupName: tf-example\n configurationId: ${tencentcloud_as_scaling_config.example.id}\n maxSize: 1\n minSize: 0\n vpcId: ${tencentcloud_vpc.vpc.id}\n subnetIds:\n - ${tencentcloud_subnet.subnet.id}\n projectId: 0\n defaultCooldown: 400\n desiredCapacity: 1\n terminationPolicies:\n - NEWEST_INSTANCE\n retryPolicy: INCREMENTAL_INTERVALS\n forwardBalancerIds:\n - loadBalancerId: ${exampleInstance.id}\n listenerId: ${exampleListener.listenerId}\n ruleId: ${exampleListenerRule.ruleId}\n targetAttributes:\n - port: 80\n weight: 90\n tags:\n createBy: tfExample\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAutoScaling Groups can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:As/scalingGroup:ScalingGroup scaling_group asg-n32ymck2\n```\n", "properties": { "configurationId": { "type": "string", @@ -121750,10 +124938,18 @@ }, "description": "List of application load balancers, which can't be specified with `load_balancer_ids` together.\n" }, + "healthCheckType": { + "type": "string", + "description": "Health check type of instances in a scaling group.\u003cbr\u003e\u003cli\u003eCVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)\u003cbr\u003e\u003cli\u003eCLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).\u003cbr\u003eIf the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`.\n" + }, "instanceCount": { "type": "integer", "description": "Instance number of a scaling group.\n" }, + "lbHealthCheckGracePeriod": { + "type": "integer", + "description": "Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.\u003cbr\u003eValid range: 0-7200, in seconds. Default value: `0`.\n" + }, "loadBalancerIds": { "type": "array", "items": { @@ -121835,7 +125031,9 @@ "configurationId", "createTime", "desiredCapacity", + "healthCheckType", "instanceCount", + "lbHealthCheckGracePeriod", "maxSize", "minSize", "scalingGroupName", @@ -121863,6 +125061,14 @@ }, "description": "List of application load balancers, which can't be specified with `load_balancer_ids` together.\n" }, + "healthCheckType": { + "type": "string", + "description": "Health check type of instances in a scaling group.\u003cbr\u003e\u003cli\u003eCVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)\u003cbr\u003e\u003cli\u003eCLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).\u003cbr\u003eIf the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`.\n" + }, + "lbHealthCheckGracePeriod": { + "type": "integer", + "description": "Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.\u003cbr\u003eValid range: 0-7200, in seconds. Default value: `0`.\n" + }, "loadBalancerIds": { "type": "array", "items": { @@ -121969,10 +125175,18 @@ }, "description": "List of application load balancers, which can't be specified with `load_balancer_ids` together.\n" }, + "healthCheckType": { + "type": "string", + "description": "Health check type of instances in a scaling group.\u003cbr\u003e\u003cli\u003eCVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)\u003cbr\u003e\u003cli\u003eCLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).\u003cbr\u003eIf the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`.\n" + }, "instanceCount": { "type": "integer", "description": "Instance number of a scaling group.\n" }, + "lbHealthCheckGracePeriod": { + "type": "integer", + "description": "Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.\u003cbr\u003eValid range: 0-7200, in seconds. Default value: `0`.\n" + }, "loadBalancerIds": { "type": "array", "items": { @@ -122417,6 +125631,69 @@ "type": "object" } }, + "tencentcloud:As/startInstanceRefresh:StartInstanceRefresh": { + "description": "Provides a resource to create as instance refresh\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.as.StartInstanceRefresh(\"example\", {\n autoScalingGroupId: \"asg-9dn1a5y6\",\n refreshMode: \"ROLLING_UPDATE_RESET\",\n refreshSettings: {\n checkInstanceTargetHealth: false,\n rollingUpdateSettings: {\n batchNumber: 1,\n batchPause: \"AUTOMATIC\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.as_.StartInstanceRefresh(\"example\",\n auto_scaling_group_id=\"asg-9dn1a5y6\",\n refresh_mode=\"ROLLING_UPDATE_RESET\",\n refresh_settings=tencentcloud.as_.StartInstanceRefreshRefreshSettingsArgs(\n check_instance_target_health=False,\n rolling_update_settings=tencentcloud.as_.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs(\n batch_number=1,\n batch_pause=\"AUTOMATIC\",\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 example = new Tencentcloud.As.StartInstanceRefresh(\"example\", new()\n {\n AutoScalingGroupId = \"asg-9dn1a5y6\",\n RefreshMode = \"ROLLING_UPDATE_RESET\",\n RefreshSettings = new Tencentcloud.As.Inputs.StartInstanceRefreshRefreshSettingsArgs\n {\n CheckInstanceTargetHealth = false,\n RollingUpdateSettings = new Tencentcloud.As.Inputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs\n {\n BatchNumber = 1,\n BatchPause = \"AUTOMATIC\",\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/As\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := As.NewStartInstanceRefresh(ctx, \"example\", \u0026As.StartInstanceRefreshArgs{\n\t\t\tAutoScalingGroupId: pulumi.String(\"asg-9dn1a5y6\"),\n\t\t\tRefreshMode: pulumi.String(\"ROLLING_UPDATE_RESET\"),\n\t\t\tRefreshSettings: \u0026as.StartInstanceRefreshRefreshSettingsArgs{\n\t\t\t\tCheckInstanceTargetHealth: pulumi.Bool(false),\n\t\t\t\tRollingUpdateSettings: \u0026as.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs{\n\t\t\t\t\tBatchNumber: pulumi.Int(1),\n\t\t\t\t\tBatchPause: pulumi.String(\"AUTOMATIC\"),\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.As.StartInstanceRefresh;\nimport com.pulumi.tencentcloud.As.StartInstanceRefreshArgs;\nimport com.pulumi.tencentcloud.As.inputs.StartInstanceRefreshRefreshSettingsArgs;\nimport com.pulumi.tencentcloud.As.inputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs;\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 StartInstanceRefresh(\"example\", StartInstanceRefreshArgs.builder() \n .autoScalingGroupId(\"asg-9dn1a5y6\")\n .refreshMode(\"ROLLING_UPDATE_RESET\")\n .refreshSettings(StartInstanceRefreshRefreshSettingsArgs.builder()\n .checkInstanceTargetHealth(false)\n .rollingUpdateSettings(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs.builder()\n .batchNumber(1)\n .batchPause(\"AUTOMATIC\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:As:StartInstanceRefresh\n properties:\n autoScalingGroupId: asg-9dn1a5y6\n refreshMode: ROLLING_UPDATE_RESET\n refreshSettings:\n checkInstanceTargetHealth: false\n rollingUpdateSettings:\n batchNumber: 1\n batchPause: AUTOMATIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "autoScalingGroupId": { + "type": "string", + "description": "Scaling group ID.\n" + }, + "refreshMode": { + "type": "string", + "description": "Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET.\n" + }, + "refreshSettings": { + "$ref": "#/types/tencentcloud:As/StartInstanceRefreshRefreshSettings:StartInstanceRefreshRefreshSettings", + "description": "Refresh settings.\n" + } + }, + "required": [ + "autoScalingGroupId", + "refreshSettings" + ], + "inputProperties": { + "autoScalingGroupId": { + "type": "string", + "description": "Scaling group ID.\n", + "willReplaceOnChanges": true + }, + "refreshMode": { + "type": "string", + "description": "Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET.\n", + "willReplaceOnChanges": true + }, + "refreshSettings": { + "$ref": "#/types/tencentcloud:As/StartInstanceRefreshRefreshSettings:StartInstanceRefreshRefreshSettings", + "description": "Refresh settings.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "autoScalingGroupId", + "refreshSettings" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering StartInstanceRefresh resources.\n", + "properties": { + "autoScalingGroupId": { + "type": "string", + "description": "Scaling group ID.\n", + "willReplaceOnChanges": true + }, + "refreshMode": { + "type": "string", + "description": "Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET.\n", + "willReplaceOnChanges": true + }, + "refreshSettings": { + "$ref": "#/types/tencentcloud:As/StartInstanceRefreshRefreshSettings:StartInstanceRefreshRefreshSettings", + "description": "Refresh settings.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:As/startInstances:StartInstances": { "description": "Provides a resource to create a as start_instances\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 zones = tencentcloud.Availability.getZonesByProduct({\n product: \"as\",\n});\nconst image = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.2 (Final)\",\n});\nconst instanceTypes = zones.then(zones =\u003e tencentcloud.Instance.getTypes({\n filters: [\n {\n name: \"zone\",\n values: [zones.zones?.[0]?.name],\n },\n {\n name: \"instance-family\",\n values: [\"S5\"],\n },\n ],\n cpuCoreCount: 2,\n excludeSoldOut: true,\n}));\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n});\nconst exampleScalingConfig = new tencentcloud.as.ScalingConfig(\"exampleScalingConfig\", {\n configurationName: \"tf-example\",\n imageId: image.then(image =\u003e image.images?.[0]?.imageId),\n instanceTypes: [\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instanceNameSettings: {\n instanceName: \"test-ins-name\",\n },\n});\nconst exampleScalingGroup = new tencentcloud.as.ScalingGroup(\"exampleScalingGroup\", {\n scalingGroupName: \"tf-example\",\n configurationId: exampleScalingConfig.id,\n maxSize: 1,\n minSize: 0,\n vpcId: vpc.id,\n subnetIds: [subnet.id],\n});\nconst exampleInstance = new tencentcloud.instance.Instance(\"exampleInstance\", {\n instanceName: \"tf_example\",\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n imageId: image.then(image =\u003e image.images?.[0]?.imageId),\n instanceType: instanceTypes.then(instanceTypes =\u003e instanceTypes.instanceTypes?.[0]?.instanceType),\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n hostname: \"user\",\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n});\n// Attachment Instance\nconst attachment = new tencentcloud.as.Attachment(\"attachment\", {\n scalingGroupId: exampleScalingGroup.id,\n instanceIds: [exampleInstance.id],\n});\nconst startInstances = new tencentcloud.as.StartInstances(\"startInstances\", {\n autoScalingGroupId: exampleScalingGroup.id,\n instanceIds: attachment.instanceIds,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzones = tencentcloud.Availability.get_zones_by_product(product=\"as\")\nimage = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.2 (Final)\")\ninstance_types = tencentcloud.Instance.get_types(filters=[\n tencentcloud.instance.GetTypesFilterArgs(\n name=\"zone\",\n values=[zones.zones[0].name],\n ),\n tencentcloud.instance.GetTypesFilterArgs(\n name=\"instance-family\",\n values=[\"S5\"],\n ),\n ],\n cpu_core_count=2,\n exclude_sold_out=True)\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n availability_zone=zones.zones[0].name)\nexample_scaling_config = tencentcloud.as_.ScalingConfig(\"exampleScalingConfig\",\n configuration_name=\"tf-example\",\n image_id=image.images[0].image_id,\n instance_types=[\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n ],\n instance_name_settings=tencentcloud.as_.ScalingConfigInstanceNameSettingsArgs(\n instance_name=\"test-ins-name\",\n ))\nexample_scaling_group = tencentcloud.as_.ScalingGroup(\"exampleScalingGroup\",\n scaling_group_name=\"tf-example\",\n configuration_id=example_scaling_config.id,\n max_size=1,\n min_size=0,\n vpc_id=vpc.id,\n subnet_ids=[subnet.id])\nexample_instance = tencentcloud.instance.Instance(\"exampleInstance\",\n instance_name=\"tf_example\",\n availability_zone=zones.zones[0].name,\n image_id=image.images[0].image_id,\n instance_type=instance_types.instance_types[0].instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n hostname=\"user\",\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id)\n# Attachment Instance\nattachment = tencentcloud.as_.Attachment(\"attachment\",\n scaling_group_id=example_scaling_group.id,\n instance_ids=[example_instance.id])\nstart_instances = tencentcloud.as_.StartInstances(\"startInstances\",\n auto_scaling_group_id=example_scaling_group.id,\n instance_ids=attachment.instance_ids)\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 zones = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"as\",\n });\n\n var image = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"TencentOS Server 3.2 (Final)\",\n });\n\n var instanceTypes = Tencentcloud.Instance.GetTypes.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"zone\",\n Values = new[]\n {\n zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n },\n },\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"instance-family\",\n Values = new[]\n {\n \"S5\",\n },\n },\n },\n CpuCoreCount = 2,\n ExcludeSoldOut = true,\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n });\n\n var exampleScalingConfig = new Tencentcloud.As.ScalingConfig(\"exampleScalingConfig\", new()\n {\n ConfigurationName = \"tf-example\",\n ImageId = image.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceTypes = new[]\n {\n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\",\n },\n InstanceNameSettings = new Tencentcloud.As.Inputs.ScalingConfigInstanceNameSettingsArgs\n {\n InstanceName = \"test-ins-name\",\n },\n });\n\n var exampleScalingGroup = new Tencentcloud.As.ScalingGroup(\"exampleScalingGroup\", new()\n {\n ScalingGroupName = \"tf-example\",\n ConfigurationId = exampleScalingConfig.Id,\n MaxSize = 1,\n MinSize = 0,\n VpcId = vpc.Id,\n SubnetIds = new[]\n {\n subnet.Id,\n },\n });\n\n var exampleInstance = new Tencentcloud.Instance.Instance(\"exampleInstance\", new()\n {\n InstanceName = \"tf_example\",\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n ImageId = image.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceType = instanceTypes.Apply(getTypesResult =\u003e getTypesResult.InstanceTypes[0]?.InstanceType),\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n Hostname = \"user\",\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n });\n\n // Attachment Instance\n var attachment = new Tencentcloud.As.Attachment(\"attachment\", new()\n {\n ScalingGroupId = exampleScalingGroup.Id,\n InstanceIds = new[]\n {\n exampleInstance.Id,\n },\n });\n\n var startInstances = new Tencentcloud.As.StartInstances(\"startInstances\", new()\n {\n AutoScalingGroupId = exampleScalingGroup.Id,\n InstanceIds = attachment.InstanceIds,\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/As\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nzones, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\nProduct: \"as\",\n}, nil);\nif err != nil {\nreturn err\n}\nimage, err := Images.GetInstance(ctx, \u0026images.GetInstanceArgs{\nImageTypes: []string{\n\"PUBLIC_IMAGE\",\n},\nOsName: pulumi.StringRef(\"TencentOS Server 3.2 (Final)\"),\n}, nil);\nif err != nil {\nreturn err\n}\ninstanceTypes, err := Instance.GetTypes(ctx, \u0026instance.GetTypesArgs{\nFilters: []instance.GetTypesFilter{\n{\nName: \"zone\",\nValues: interface{}{\nzones.Zones[0].Name,\n},\n},\n{\nName: \"instance-family\",\nValues: []string{\n\"S5\",\n},\n},\n},\nCpuCoreCount: pulumi.IntRef(2),\nExcludeSoldOut: pulumi.BoolRef(true),\n}, nil);\nif err != nil {\nreturn err\n}\nvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\nCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n})\nif err != nil {\nreturn err\n}\nsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\nVpcId: vpc.ID(),\nCidrBlock: pulumi.String(\"10.0.0.0/16\"),\nAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n})\nif err != nil {\nreturn err\n}\nexampleScalingConfig, err := As.NewScalingConfig(ctx, \"exampleScalingConfig\", \u0026As.ScalingConfigArgs{\nConfigurationName: pulumi.String(\"tf-example\"),\nImageId: pulumi.String(image.Images[0].ImageId),\nInstanceTypes: pulumi.StringArray{\npulumi.String(\"SA1.SMALL1\"),\npulumi.String(\"SA2.SMALL1\"),\npulumi.String(\"SA2.SMALL2\"),\npulumi.String(\"SA2.SMALL4\"),\n},\nInstanceNameSettings: \u0026as.ScalingConfigInstanceNameSettingsArgs{\nInstanceName: pulumi.String(\"test-ins-name\"),\n},\n})\nif err != nil {\nreturn err\n}\nexampleScalingGroup, err := As.NewScalingGroup(ctx, \"exampleScalingGroup\", \u0026As.ScalingGroupArgs{\nScalingGroupName: pulumi.String(\"tf-example\"),\nConfigurationId: exampleScalingConfig.ID(),\nMaxSize: pulumi.Int(1),\nMinSize: pulumi.Int(0),\nVpcId: vpc.ID(),\nSubnetIds: pulumi.StringArray{\nsubnet.ID(),\n},\n})\nif err != nil {\nreturn err\n}\nexampleInstance, err := Instance.NewInstance(ctx, \"exampleInstance\", \u0026Instance.InstanceArgs{\nInstanceName: pulumi.String(\"tf_example\"),\nAvailabilityZone: pulumi.String(zones.Zones[0].Name),\nImageId: pulumi.String(image.Images[0].ImageId),\nInstanceType: pulumi.String(instanceTypes.InstanceTypes[0].InstanceType),\nSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\nSystemDiskSize: pulumi.Int(50),\nHostname: pulumi.String(\"user\"),\nProjectId: pulumi.Int(0),\nVpcId: vpc.ID(),\nSubnetId: subnet.ID(),\n})\nif err != nil {\nreturn err\n}\n// Attachment Instance\nattachment, err := As.NewAttachment(ctx, \"attachment\", \u0026As.AttachmentArgs{\nScalingGroupId: exampleScalingGroup.ID(),\nInstanceIds: pulumi.StringArray{\nexampleInstance.ID(),\n},\n})\nif err != nil {\nreturn err\n}\n_, err = As.NewStartInstances(ctx, \"startInstances\", \u0026As.StartInstancesArgs{\nAutoScalingGroupId: exampleScalingGroup.ID(),\nInstanceIds: attachment.InstanceIds,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\nimport com.pulumi.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\nimport com.pulumi.tencentcloud.Instance.InstanceFunctions;\nimport com.pulumi.tencentcloud.Instance.inputs.GetTypesArgs;\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.As.ScalingConfig;\nimport com.pulumi.tencentcloud.As.ScalingConfigArgs;\nimport com.pulumi.tencentcloud.As.inputs.ScalingConfigInstanceNameSettingsArgs;\nimport com.pulumi.tencentcloud.As.ScalingGroup;\nimport com.pulumi.tencentcloud.As.ScalingGroupArgs;\nimport com.pulumi.tencentcloud.Instance.Instance;\nimport com.pulumi.tencentcloud.Instance.InstanceArgs;\nimport com.pulumi.tencentcloud.As.Attachment;\nimport com.pulumi.tencentcloud.As.AttachmentArgs;\nimport com.pulumi.tencentcloud.As.StartInstances;\nimport com.pulumi.tencentcloud.As.StartInstancesArgs;\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 zones = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"as\")\n .build());\n\n final var image = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.2 (Final)\")\n .build());\n\n final var instanceTypes = InstanceFunctions.getTypes(GetTypesArgs.builder()\n .filters( \n GetTypesFilterArgs.builder()\n .name(\"zone\")\n .values(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .build(),\n GetTypesFilterArgs.builder()\n .name(\"instance-family\")\n .values(\"S5\")\n .build())\n .cpuCoreCount(2)\n .excludeSoldOut(true)\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .build());\n\n var exampleScalingConfig = new ScalingConfig(\"exampleScalingConfig\", ScalingConfigArgs.builder() \n .configurationName(\"tf-example\")\n .imageId(image.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceTypes( \n \"SA1.SMALL1\",\n \"SA2.SMALL1\",\n \"SA2.SMALL2\",\n \"SA2.SMALL4\")\n .instanceNameSettings(ScalingConfigInstanceNameSettingsArgs.builder()\n .instanceName(\"test-ins-name\")\n .build())\n .build());\n\n var exampleScalingGroup = new ScalingGroup(\"exampleScalingGroup\", ScalingGroupArgs.builder() \n .scalingGroupName(\"tf-example\")\n .configurationId(exampleScalingConfig.id())\n .maxSize(1)\n .minSize(0)\n .vpcId(vpc.id())\n .subnetIds(subnet.id())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .instanceName(\"tf_example\")\n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .imageId(image.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceType(instanceTypes.applyValue(getTypesResult -\u003e getTypesResult.instanceTypes()[0].instanceType()))\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(50)\n .hostname(\"user\")\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .build());\n\n // Attachment Instance\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .scalingGroupId(exampleScalingGroup.id())\n .instanceIds(exampleInstance.id())\n .build());\n\n var startInstances = new StartInstances(\"startInstances\", StartInstancesArgs.builder() \n .autoScalingGroupId(exampleScalingGroup.id())\n .instanceIds(attachment.instanceIds())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n availabilityZone: ${zones.zones[0].name}\n exampleScalingConfig:\n type: tencentcloud:As:ScalingConfig\n properties:\n configurationName: tf-example\n imageId: ${image.images[0].imageId}\n instanceTypes:\n - SA1.SMALL1\n - SA2.SMALL1\n - SA2.SMALL2\n - SA2.SMALL4\n instanceNameSettings:\n instanceName: test-ins-name\n exampleScalingGroup:\n type: tencentcloud:As:ScalingGroup\n properties:\n scalingGroupName: tf-example\n configurationId: ${exampleScalingConfig.id}\n maxSize: 1\n minSize: 0\n vpcId: ${vpc.id}\n subnetIds:\n - ${subnet.id}\n exampleInstance:\n type: tencentcloud:Instance:Instance\n properties:\n instanceName: tf_example\n availabilityZone: ${zones.zones[0].name}\n imageId: ${image.images[0].imageId}\n instanceType: ${instanceTypes.instanceTypes[0].instanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: 50\n hostname: user\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n # Attachment Instance\n attachment:\n type: tencentcloud:As:Attachment\n properties:\n scalingGroupId: ${exampleScalingGroup.id}\n instanceIds:\n - ${exampleInstance.id}\n startInstances:\n type: tencentcloud:As:StartInstances\n properties:\n autoScalingGroupId: ${exampleScalingGroup.id}\n instanceIds: ${attachment.instanceIds}\nvariables:\n zones:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: as\n image:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: TencentOS Server 3.2 (Final)\n instanceTypes:\n fn::invoke:\n Function: tencentcloud:Instance:getTypes\n Arguments:\n filters:\n - name: zone\n values:\n - ${zones.zones[0].name}\n - name: instance-family\n values:\n - S5\n cpuCoreCount: 2\n excludeSoldOut: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -122677,6 +125954,73 @@ "type": "object" } }, + "tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines": { + "description": "Provides a resource to create a controlcenter batch apply account baselines\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.batch.ApplyAccountBaselines(\"example\", {\n baselineConfigItems: [{\n configuration: \"{\\\"Images\\\":[{\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-mcdsiqrx\\\",\\\"ImageName\\\":\\\"demo1\\\"}, {\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-esxgkots\\\",\\\"ImageName\\\":\\\"demo2\\\"}]}\",\n identifier: \"TCC-AF_SHARE_IMAGE\",\n }],\n memberUinLists: [\n 10037652245,\n 10037652240,\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.batch.ApplyAccountBaselines(\"example\",\n baseline_config_items=[tencentcloud.batch.ApplyAccountBaselinesBaselineConfigItemArgs(\n configuration=\"{\\\"Images\\\":[{\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-mcdsiqrx\\\",\\\"ImageName\\\":\\\"demo1\\\"}, {\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-esxgkots\\\",\\\"ImageName\\\":\\\"demo2\\\"}]}\",\n identifier=\"TCC-AF_SHARE_IMAGE\",\n )],\n member_uin_lists=[\n 10037652245,\n 10037652240,\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.Batch.ApplyAccountBaselines(\"example\", new()\n {\n BaselineConfigItems = new[]\n {\n new Tencentcloud.Batch.Inputs.ApplyAccountBaselinesBaselineConfigItemArgs\n {\n Configuration = \"{\\\"Images\\\":[{\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-mcdsiqrx\\\",\\\"ImageName\\\":\\\"demo1\\\"}, {\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-esxgkots\\\",\\\"ImageName\\\":\\\"demo2\\\"}]}\",\n Identifier = \"TCC-AF_SHARE_IMAGE\",\n },\n },\n MemberUinLists = new[]\n {\n 10037652245,\n 10037652240,\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/Batch\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Batch.NewApplyAccountBaselines(ctx, \"example\", \u0026Batch.ApplyAccountBaselinesArgs{\n\t\t\tBaselineConfigItems: batch.ApplyAccountBaselinesBaselineConfigItemArray{\n\t\t\t\t\u0026batch.ApplyAccountBaselinesBaselineConfigItemArgs{\n\t\t\t\t\tConfiguration: pulumi.String(\"{\\\"Images\\\":[{\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-mcdsiqrx\\\",\\\"ImageName\\\":\\\"demo1\\\"}, {\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-esxgkots\\\",\\\"ImageName\\\":\\\"demo2\\\"}]}\"),\n\t\t\t\t\tIdentifier: pulumi.String(\"TCC-AF_SHARE_IMAGE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMemberUinLists: pulumi.IntArray{\n\t\t\t\tpulumi.Int(10037652245),\n\t\t\t\tpulumi.Int(10037652240),\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.Batch.ApplyAccountBaselines;\nimport com.pulumi.tencentcloud.Batch.ApplyAccountBaselinesArgs;\nimport com.pulumi.tencentcloud.Batch.inputs.ApplyAccountBaselinesBaselineConfigItemArgs;\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 ApplyAccountBaselines(\"example\", ApplyAccountBaselinesArgs.builder() \n .baselineConfigItems(ApplyAccountBaselinesBaselineConfigItemArgs.builder()\n .configuration(\"{\\\"Images\\\":[{\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-mcdsiqrx\\\",\\\"ImageName\\\":\\\"demo1\\\"}, {\\\"Region\\\":\\\"ap-guangzhou\\\",\\\"ImageId\\\":\\\"img-esxgkots\\\",\\\"ImageName\\\":\\\"demo2\\\"}]}\")\n .identifier(\"TCC-AF_SHARE_IMAGE\")\n .build())\n .memberUinLists( \n 10037652245,\n 10037652240)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Batch:ApplyAccountBaselines\n properties:\n baselineConfigItems:\n - configuration: '{\"Images\":[{\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-mcdsiqrx\",\"ImageName\":\"demo1\"}, {\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-esxgkots\",\"ImageName\":\"demo2\"}]}'\n identifier: TCC-AF_SHARE_IMAGE\n memberUinLists:\n - 1.0037652245e+10\n - 1.003765224e+10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "baselineConfigItems": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Batch/ApplyAccountBaselinesBaselineConfigItem:ApplyAccountBaselinesBaselineConfigItem" + }, + "description": "List of baseline item configuration information.\n" + }, + "memberUinLists": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Member account UIN, which is also the UIN of the account to which the baseline is applied.\n" + } + }, + "required": [ + "baselineConfigItems", + "memberUinLists" + ], + "inputProperties": { + "baselineConfigItems": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Batch/ApplyAccountBaselinesBaselineConfigItem:ApplyAccountBaselinesBaselineConfigItem" + }, + "description": "List of baseline item configuration information.\n", + "willReplaceOnChanges": true + }, + "memberUinLists": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Member account UIN, which is also the UIN of the account to which the baseline is applied.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "baselineConfigItems", + "memberUinLists" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ApplyAccountBaselines resources.\n", + "properties": { + "baselineConfigItems": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Batch/ApplyAccountBaselinesBaselineConfigItem:ApplyAccountBaselinesBaselineConfigItem" + }, + "description": "List of baseline item configuration information.\n", + "willReplaceOnChanges": true + }, + "memberUinLists": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Member account UIN, which is also the UIN of the account to which the baseline is applied.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Bi/datasource:Datasource": { "description": "Provides a resource to create a bi datasource\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 datasource = new tencentcloud.bi.Datasource(\"datasource\", {\n charset: \"utf8\",\n dbHost: \"bj-cdb-1lxqg5r6.sql.tencentcdb.com\",\n dbName: \"tf-test\",\n dbPort: 63694,\n dbPwd: \"ABc123,,,\",\n dbType: \"MYSQL\",\n dbUser: \"root\",\n projectId: 11015030,\n sourceName: \"tf-source-name\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ndatasource = tencentcloud.bi.Datasource(\"datasource\",\n charset=\"utf8\",\n db_host=\"bj-cdb-1lxqg5r6.sql.tencentcdb.com\",\n db_name=\"tf-test\",\n db_port=63694,\n db_pwd=\"ABc123,,,\",\n db_type=\"MYSQL\",\n db_user=\"root\",\n project_id=11015030,\n source_name=\"tf-source-name\")\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 datasource = new Tencentcloud.Bi.Datasource(\"datasource\", new()\n {\n Charset = \"utf8\",\n DbHost = \"bj-cdb-1lxqg5r6.sql.tencentcdb.com\",\n DbName = \"tf-test\",\n DbPort = 63694,\n DbPwd = \"ABc123,,,\",\n DbType = \"MYSQL\",\n DbUser = \"root\",\n ProjectId = 11015030,\n SourceName = \"tf-source-name\",\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/Bi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Bi.NewDatasource(ctx, \"datasource\", \u0026Bi.DatasourceArgs{\n\t\t\tCharset: pulumi.String(\"utf8\"),\n\t\t\tDbHost: pulumi.String(\"bj-cdb-1lxqg5r6.sql.tencentcdb.com\"),\n\t\t\tDbName: pulumi.String(\"tf-test\"),\n\t\t\tDbPort: pulumi.Int(63694),\n\t\t\tDbPwd: pulumi.String(\"ABc123,,,\"),\n\t\t\tDbType: pulumi.String(\"MYSQL\"),\n\t\t\tDbUser: pulumi.String(\"root\"),\n\t\t\tProjectId: pulumi.Int(11015030),\n\t\t\tSourceName: pulumi.String(\"tf-source-name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Bi.Datasource;\nimport com.pulumi.tencentcloud.Bi.DatasourceArgs;\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 datasource = new Datasource(\"datasource\", DatasourceArgs.builder() \n .charset(\"utf8\")\n .dbHost(\"bj-cdb-1lxqg5r6.sql.tencentcdb.com\")\n .dbName(\"tf-test\")\n .dbPort(63694)\n .dbPwd(\"ABc123,,,\")\n .dbType(\"MYSQL\")\n .dbUser(\"root\")\n .projectId(11015030)\n .sourceName(\"tf-source-name\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n datasource:\n type: tencentcloud:Bi:Datasource\n properties:\n charset: utf8\n dbHost: bj-cdb-1lxqg5r6.sql.tencentcdb.com\n dbName: tf-test\n dbPort: 63694\n dbPwd: ABc123,,,\n dbType: MYSQL\n dbUser: root\n projectId: 1.101503e+07\n sourceName: tf-source-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nbi datasource can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Bi/datasource:Datasource datasource datasource_id\n```\n\n", "properties": { @@ -126301,7 +129645,7 @@ } }, "tencentcloud:Cbs/storage:Storage": { - "description": "Provides a resource to create a CBS.\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 storage = new tencentcloud.cbs.Storage(\"storage\", {\n availabilityZone: \"ap-guangzhou-3\",\n encrypt: false,\n projectId: 0,\n storageName: \"mystorage\",\n storageSize: 100,\n storageType: \"CLOUD_SSD\",\n tags: {\n test: \"tf\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nstorage = tencentcloud.cbs.Storage(\"storage\",\n availability_zone=\"ap-guangzhou-3\",\n encrypt=False,\n project_id=0,\n storage_name=\"mystorage\",\n storage_size=100,\n storage_type=\"CLOUD_SSD\",\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 storage = new Tencentcloud.Cbs.Storage(\"storage\", new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n Encrypt = false,\n ProjectId = 0,\n StorageName = \"mystorage\",\n StorageSize = 100,\n StorageType = \"CLOUD_SSD\",\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.NewStorage(ctx, \"storage\", \u0026Cbs.StorageArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tStorageName: pulumi.String(\"mystorage\"),\n\t\t\tStorageSize: pulumi.Int(100),\n\t\t\tStorageType: pulumi.String(\"CLOUD_SSD\"),\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.Cbs.Storage;\nimport com.pulumi.tencentcloud.Cbs.StorageArgs;\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 storage = new Storage(\"storage\", StorageArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .encrypt(false)\n .projectId(0)\n .storageName(\"mystorage\")\n .storageSize(100)\n .storageType(\"CLOUD_SSD\")\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n storage:\n type: tencentcloud:Cbs:Storage\n properties:\n availabilityZone: ap-guangzhou-3\n encrypt: false\n projectId: 0\n storageName: mystorage\n storageSize: 100\n storageType: CLOUD_SSD\n tags:\n test: tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCBS storage can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cbs/storage:Storage storage disk-41s6jwy4\n```\n", + "description": "Provides a resource to create a CBS storage.\n\n## Example Usage\n\n### Create a standard CBS storage\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.cbs.Storage(\"example\", {\n availabilityZone: \"ap-guangzhou-3\",\n encrypt: false,\n projectId: 0,\n storageName: \"tf-example\",\n storageSize: 100,\n storageType: \"CLOUD_SSD\",\n tags: {\n createBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cbs.Storage(\"example\",\n availability_zone=\"ap-guangzhou-3\",\n encrypt=False,\n project_id=0,\n storage_name=\"tf-example\",\n storage_size=100,\n storage_type=\"CLOUD_SSD\",\n tags={\n \"createBy\": \"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.Cbs.Storage(\"example\", new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n Encrypt = false,\n ProjectId = 0,\n StorageName = \"tf-example\",\n StorageSize = 100,\n StorageType = \"CLOUD_SSD\",\n Tags = \n {\n { \"createBy\", \"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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.NewStorage(ctx, \"example\", \u0026Cbs.StorageArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tStorageName: pulumi.String(\"tf-example\"),\n\t\t\tStorageSize: pulumi.Int(100),\n\t\t\tStorageType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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.Cbs.Storage;\nimport com.pulumi.tencentcloud.Cbs.StorageArgs;\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 Storage(\"example\", StorageArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .encrypt(false)\n .projectId(0)\n .storageName(\"tf-example\")\n .storageSize(100)\n .storageType(\"CLOUD_SSD\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Cbs:Storage\n properties:\n availabilityZone: ap-guangzhou-3\n encrypt: false\n projectId: 0\n storageName: tf-example\n storageSize: 100\n storageType: CLOUD_SSD\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a dedicated cluster CBS storage\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.cbs.Storage(\"example\", {\n availabilityZone: \"ap-guangzhou-4\",\n chargeType: \"DEDICATED_CLUSTER_PAID\",\n dedicatedClusterId: \"cluster-262n63e8\",\n encrypt: false,\n projectId: 0,\n storageName: \"tf-example\",\n storageSize: 100,\n storageType: \"CLOUD_SSD\",\n tags: {\n createBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cbs.Storage(\"example\",\n availability_zone=\"ap-guangzhou-4\",\n charge_type=\"DEDICATED_CLUSTER_PAID\",\n dedicated_cluster_id=\"cluster-262n63e8\",\n encrypt=False,\n project_id=0,\n storage_name=\"tf-example\",\n storage_size=100,\n storage_type=\"CLOUD_SSD\",\n tags={\n \"createBy\": \"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.Cbs.Storage(\"example\", new()\n {\n AvailabilityZone = \"ap-guangzhou-4\",\n ChargeType = \"DEDICATED_CLUSTER_PAID\",\n DedicatedClusterId = \"cluster-262n63e8\",\n Encrypt = false,\n ProjectId = 0,\n StorageName = \"tf-example\",\n StorageSize = 100,\n StorageType = \"CLOUD_SSD\",\n Tags = \n {\n { \"createBy\", \"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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.NewStorage(ctx, \"example\", \u0026Cbs.StorageArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-4\"),\n\t\t\tChargeType: pulumi.String(\"DEDICATED_CLUSTER_PAID\"),\n\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tStorageName: pulumi.String(\"tf-example\"),\n\t\t\tStorageSize: pulumi.Int(100),\n\t\t\tStorageType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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.Cbs.Storage;\nimport com.pulumi.tencentcloud.Cbs.StorageArgs;\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 Storage(\"example\", StorageArgs.builder() \n .availabilityZone(\"ap-guangzhou-4\")\n .chargeType(\"DEDICATED_CLUSTER_PAID\")\n .dedicatedClusterId(\"cluster-262n63e8\")\n .encrypt(false)\n .projectId(0)\n .storageName(\"tf-example\")\n .storageSize(100)\n .storageType(\"CLOUD_SSD\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Cbs:Storage\n properties:\n availabilityZone: ap-guangzhou-4\n chargeType: DEDICATED_CLUSTER_PAID\n dedicatedClusterId: cluster-262n63e8\n encrypt: false\n projectId: 0\n storageName: tf-example\n storageSize: 100\n storageType: CLOUD_SSD\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCBS storage can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cbs/storage:Storage example disk-41s6jwy4\n```\n", "properties": { "attached": { "type": "boolean", @@ -126313,90 +129657,11 @@ }, "chargeType": { "type": "string", - "description": "The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`.\n" - }, - "diskBackupQuota": { - "type": "integer", - "description": "The quota of backup points of cloud disk.\n" - }, - "encrypt": { - "type": "boolean", - "description": "Indicates whether CBS is encrypted.\n" - }, - "forceDelete": { - "type": "boolean", - "description": "Indicate whether to delete CBS instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin.\n" - }, - "period": { - "type": "integer", - "description": "It has been deprecated from version 1.33.0. Set `prepaid_period` instead. The purchased usage period of CBS. Valid values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36].\n", - "deprecationMessage": "It has been deprecated from version 1.33.0. Set `prepaid_period` instead." - }, - "prepaidPeriod": { - "type": "integer", - "description": "The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when charge_type is set to `PREPAID`. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36.\n" - }, - "prepaidRenewFlag": { - "type": "string", - "description": "Auto Renewal flag. Value range: `NOTIFY_AND_AUTO_RENEW`: Notify expiry and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: Notify expiry but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: Neither notify expiry nor renew automatically. Default value range: `NOTIFY_AND_MANUAL_RENEW`: Notify expiry but do not renew automatically. NOTE: it only works when charge_type is set to `PREPAID`.\n" + "description": "The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`.\n" }, - "projectId": { - "type": "integer", - "description": "ID of the project to which the instance belongs.\n" - }, - "snapshotId": { - "type": "string", - "description": "ID of the snapshot. If specified, created the CBS by this snapshot.\n" - }, - "storageName": { + "dedicatedClusterId": { "type": "string", - "description": "Name of CBS. The maximum length can not exceed 60 bytes.\n" - }, - "storageSize": { - "type": "integer", - "description": "Volume of CBS, and unit is GB.\n" - }, - "storageStatus": { - "type": "string", - "description": "Status of CBS. Valid values: UNATTACHED, ATTACHING, ATTACHED, DETACHING, EXPANDING, ROLLBACKING, TORECYCLE and DUMPING.\n" - }, - "storageType": { - "type": "string", - "description": "Type of CBS medium. Valid values: CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: General Purpose SSD, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD.\n" - }, - "tags": { - "type": "object", - "additionalProperties": { - "$ref": "pulumi.json#/Any" - }, - "description": "The available tags within this CBS.\n" - }, - "throughputPerformance": { - "type": "integer", - "description": "Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.\n" - } - }, - "required": [ - "attached", - "availabilityZone", - "diskBackupQuota", - "prepaidPeriod", - "prepaidRenewFlag", - "snapshotId", - "storageName", - "storageSize", - "storageStatus", - "storageType" - ], - "inputProperties": { - "availabilityZone": { - "type": "string", - "description": "The available zone that the CBS instance locates at.\n", - "willReplaceOnChanges": true - }, - "chargeType": { - "type": "string", - "description": "The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`.\n" + "description": "Exclusive cluster id.\n" }, "diskBackupQuota": { "type": "integer", @@ -126404,8 +129669,96 @@ }, "encrypt": { "type": "boolean", - "description": "Indicates whether CBS is encrypted.\n", - "willReplaceOnChanges": true + "description": "Indicates whether CBS is encrypted.\n" + }, + "forceDelete": { + "type": "boolean", + "description": "Indicate whether to delete CBS instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin.\n" + }, + "period": { + "type": "integer", + "description": "It has been deprecated from version 1.33.0. Set `prepaid_period` instead. The purchased usage period of CBS. Valid values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36].\n", + "deprecationMessage": "It has been deprecated from version 1.33.0. Set `prepaid_period` instead." + }, + "prepaidPeriod": { + "type": "integer", + "description": "The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when charge_type is set to `PREPAID`. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36.\n" + }, + "prepaidRenewFlag": { + "type": "string", + "description": "Auto Renewal flag. Value range: `NOTIFY_AND_AUTO_RENEW`: Notify expiry and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: Notify expiry but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: Neither notify expiry nor renew automatically. Default value range: `NOTIFY_AND_MANUAL_RENEW`: Notify expiry but do not renew automatically. NOTE: it only works when charge_type is set to `PREPAID`.\n" + }, + "projectId": { + "type": "integer", + "description": "ID of the project to which the instance belongs.\n" + }, + "snapshotId": { + "type": "string", + "description": "ID of the snapshot. If specified, created the CBS by this snapshot.\n" + }, + "storageName": { + "type": "string", + "description": "Name of CBS. The maximum length can not exceed 60 bytes.\n" + }, + "storageSize": { + "type": "integer", + "description": "Volume of CBS, and unit is GB.\n" + }, + "storageStatus": { + "type": "string", + "description": "Status of CBS. Valid values: UNATTACHED, ATTACHING, ATTACHED, DETACHING, EXPANDING, ROLLBACKING, TORECYCLE and DUMPING.\n" + }, + "storageType": { + "type": "string", + "description": "Type of CBS medium. Valid values: CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: General Purpose SSD, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "The available tags within this CBS.\n" + }, + "throughputPerformance": { + "type": "integer", + "description": "Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.\n" + } + }, + "required": [ + "attached", + "availabilityZone", + "diskBackupQuota", + "prepaidPeriod", + "prepaidRenewFlag", + "snapshotId", + "storageName", + "storageSize", + "storageStatus", + "storageType" + ], + "inputProperties": { + "availabilityZone": { + "type": "string", + "description": "The available zone that the CBS instance locates at.\n", + "willReplaceOnChanges": true + }, + "chargeType": { + "type": "string", + "description": "The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n", + "willReplaceOnChanges": true + }, + "diskBackupQuota": { + "type": "integer", + "description": "The quota of backup points of cloud disk.\n" + }, + "encrypt": { + "type": "boolean", + "description": "Indicates whether CBS is encrypted.\n", + "willReplaceOnChanges": true }, "forceDelete": { "type": "boolean", @@ -126477,7 +129830,12 @@ }, "chargeType": { "type": "string", - "description": "The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`.\n" + "description": "The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n", + "willReplaceOnChanges": true }, "diskBackupQuota": { "type": "integer", @@ -126595,7 +129953,7 @@ } }, "tencentcloud:Cbs/storageSet:StorageSet": { - "description": "Provides a resource to create CBS set.\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 storage = new tencentcloud.cbs.StorageSet(\"storage\", {\n availabilityZone: \"ap-guangzhou-3\",\n diskCount: 10,\n encrypt: false,\n projectId: 0,\n storageName: \"mystorage\",\n storageSize: 100,\n storageType: \"CLOUD_SSD\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nstorage = tencentcloud.cbs.StorageSet(\"storage\",\n availability_zone=\"ap-guangzhou-3\",\n disk_count=10,\n encrypt=False,\n project_id=0,\n storage_name=\"mystorage\",\n storage_size=100,\n storage_type=\"CLOUD_SSD\")\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 storage = new Tencentcloud.Cbs.StorageSet(\"storage\", new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n DiskCount = 10,\n Encrypt = false,\n ProjectId = 0,\n StorageName = \"mystorage\",\n StorageSize = 100,\n StorageType = \"CLOUD_SSD\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.NewStorageSet(ctx, \"storage\", \u0026Cbs.StorageSetArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tDiskCount: pulumi.Int(10),\n\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tStorageName: pulumi.String(\"mystorage\"),\n\t\t\tStorageSize: pulumi.Int(100),\n\t\t\tStorageType: pulumi.String(\"CLOUD_SSD\"),\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.Cbs.StorageSet;\nimport com.pulumi.tencentcloud.Cbs.StorageSetArgs;\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 storage = new StorageSet(\"storage\", StorageSetArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .diskCount(10)\n .encrypt(false)\n .projectId(0)\n .storageName(\"mystorage\")\n .storageSize(100)\n .storageType(\"CLOUD_SSD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n storage:\n type: tencentcloud:Cbs:StorageSet\n properties:\n availabilityZone: ap-guangzhou-3\n diskCount: 10\n encrypt: false\n projectId: 0\n storageName: mystorage\n storageSize: 100\n storageType: CLOUD_SSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to create CBS set.\n\n## Example Usage\n\n### Create 3 standard CBS storages\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.cbs.StorageSet(\"example\", {\n availabilityZone: \"ap-guangzhou-3\",\n diskCount: 3,\n encrypt: false,\n projectId: 0,\n storageName: \"tf-example\",\n storageSize: 100,\n storageType: \"CLOUD_SSD\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cbs.StorageSet(\"example\",\n availability_zone=\"ap-guangzhou-3\",\n disk_count=3,\n encrypt=False,\n project_id=0,\n storage_name=\"tf-example\",\n storage_size=100,\n storage_type=\"CLOUD_SSD\")\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.Cbs.StorageSet(\"example\", new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n DiskCount = 3,\n Encrypt = false,\n ProjectId = 0,\n StorageName = \"tf-example\",\n StorageSize = 100,\n StorageType = \"CLOUD_SSD\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.NewStorageSet(ctx, \"example\", \u0026Cbs.StorageSetArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tDiskCount: pulumi.Int(3),\n\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tStorageName: pulumi.String(\"tf-example\"),\n\t\t\tStorageSize: pulumi.Int(100),\n\t\t\tStorageType: pulumi.String(\"CLOUD_SSD\"),\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.Cbs.StorageSet;\nimport com.pulumi.tencentcloud.Cbs.StorageSetArgs;\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 StorageSet(\"example\", StorageSetArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .diskCount(3)\n .encrypt(false)\n .projectId(0)\n .storageName(\"tf-example\")\n .storageSize(100)\n .storageType(\"CLOUD_SSD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Cbs:StorageSet\n properties:\n availabilityZone: ap-guangzhou-3\n diskCount: 3\n encrypt: false\n projectId: 0\n storageName: tf-example\n storageSize: 100\n storageType: CLOUD_SSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create 3 dedicated cluster CBS storages\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.cbs.StorageSet(\"example\", {\n availabilityZone: \"ap-guangzhou-4\",\n chargeType: \"DEDICATED_CLUSTER_PAID\",\n dedicatedClusterId: \"cluster-262n63e8\",\n diskCount: 3,\n encrypt: false,\n projectId: 0,\n storageName: \"tf-example\",\n storageSize: 100,\n storageType: \"CLOUD_SSD\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cbs.StorageSet(\"example\",\n availability_zone=\"ap-guangzhou-4\",\n charge_type=\"DEDICATED_CLUSTER_PAID\",\n dedicated_cluster_id=\"cluster-262n63e8\",\n disk_count=3,\n encrypt=False,\n project_id=0,\n storage_name=\"tf-example\",\n storage_size=100,\n storage_type=\"CLOUD_SSD\")\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.Cbs.StorageSet(\"example\", new()\n {\n AvailabilityZone = \"ap-guangzhou-4\",\n ChargeType = \"DEDICATED_CLUSTER_PAID\",\n DedicatedClusterId = \"cluster-262n63e8\",\n DiskCount = 3,\n Encrypt = false,\n ProjectId = 0,\n StorageName = \"tf-example\",\n StorageSize = 100,\n StorageType = \"CLOUD_SSD\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.NewStorageSet(ctx, \"example\", \u0026Cbs.StorageSetArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-4\"),\n\t\t\tChargeType: pulumi.String(\"DEDICATED_CLUSTER_PAID\"),\n\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\tDiskCount: pulumi.Int(3),\n\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tStorageName: pulumi.String(\"tf-example\"),\n\t\t\tStorageSize: pulumi.Int(100),\n\t\t\tStorageType: pulumi.String(\"CLOUD_SSD\"),\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.Cbs.StorageSet;\nimport com.pulumi.tencentcloud.Cbs.StorageSetArgs;\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 StorageSet(\"example\", StorageSetArgs.builder() \n .availabilityZone(\"ap-guangzhou-4\")\n .chargeType(\"DEDICATED_CLUSTER_PAID\")\n .dedicatedClusterId(\"cluster-262n63e8\")\n .diskCount(3)\n .encrypt(false)\n .projectId(0)\n .storageName(\"tf-example\")\n .storageSize(100)\n .storageType(\"CLOUD_SSD\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Cbs:StorageSet\n properties:\n availabilityZone: ap-guangzhou-4\n chargeType: DEDICATED_CLUSTER_PAID\n dedicatedClusterId: cluster-262n63e8\n diskCount: 3\n encrypt: false\n projectId: 0\n storageName: tf-example\n storageSize: 100\n storageType: CLOUD_SSD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "attached": { "type": "boolean", @@ -126607,7 +129965,11 @@ }, "chargeType": { "type": "string", - "description": "The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`.\n" + "description": "The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" }, "diskCount": { "type": "integer", @@ -126671,7 +130033,12 @@ }, "chargeType": { "type": "string", - "description": "The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`.\n" + "description": "The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n", + "willReplaceOnChanges": true }, "diskCount": { "type": "integer", @@ -126729,7 +130096,12 @@ }, "chargeType": { "type": "string", - "description": "The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`.\n" + "description": "The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n", + "willReplaceOnChanges": true }, "diskCount": { "type": "integer", @@ -126831,7 +130203,7 @@ } }, "tencentcloud:Ccn/attachment:Attachment": { - "description": "Provides a CCN attaching resource.\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst otheruin = config.get(\"otheruin\") || \"123353\";\nconst otherccn = config.get(\"otherccn\") || \"ccn-151ssaga\";\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {\n cidrBlock: \"10.0.0.0/16\",\n dnsServers: [\n \"119.29.29.29\",\n \"8.8.8.8\",\n ],\n isMulticast: false,\n});\nconst main = new tencentcloud.ccn.Instance(\"main\", {\n description: \"ci-temp-test-ccn-des\",\n qos: \"AG\",\n});\nconst attachment = new tencentcloud.ccn.Attachment(\"attachment\", {\n ccnId: main.id,\n instanceType: \"VPC\",\n instanceId: vpc.id,\n instanceRegion: region,\n});\nconst otherAccount = new tencentcloud.ccn.Attachment(\"otherAccount\", {\n ccnId: otherccn,\n instanceType: \"VPC\",\n instanceId: vpc.id,\n instanceRegion: region,\n ccnUin: otheruin,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\notheruin = config.get(\"otheruin\")\nif otheruin is None:\n otheruin = \"123353\"\notherccn = config.get(\"otherccn\")\nif otherccn is None:\n otherccn = \"ccn-151ssaga\"\nvpc = tencentcloud.vpc.Instance(\"vpc\",\n cidr_block=\"10.0.0.0/16\",\n dns_servers=[\n \"119.29.29.29\",\n \"8.8.8.8\",\n ],\n is_multicast=False)\nmain = tencentcloud.ccn.Instance(\"main\",\n description=\"ci-temp-test-ccn-des\",\n qos=\"AG\")\nattachment = tencentcloud.ccn.Attachment(\"attachment\",\n ccn_id=main.id,\n instance_type=\"VPC\",\n instance_id=vpc.id,\n instance_region=region)\nother_account = tencentcloud.ccn.Attachment(\"otherAccount\",\n ccn_id=otherccn,\n instance_type=\"VPC\",\n instance_id=vpc.id,\n instance_region=region,\n ccn_uin=otheruin)\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 region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var otheruin = config.Get(\"otheruin\") ?? \"123353\";\n var otherccn = config.Get(\"otherccn\") ?? \"ccn-151ssaga\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n DnsServers = new[]\n {\n \"119.29.29.29\",\n \"8.8.8.8\",\n },\n IsMulticast = false,\n });\n\n var main = new Tencentcloud.Ccn.Instance(\"main\", new()\n {\n Description = \"ci-temp-test-ccn-des\",\n Qos = \"AG\",\n });\n\n var attachment = new Tencentcloud.Ccn.Attachment(\"attachment\", new()\n {\n CcnId = main.Id,\n InstanceType = \"VPC\",\n InstanceId = vpc.Id,\n InstanceRegion = region,\n });\n\n var otherAccount = new Tencentcloud.Ccn.Attachment(\"otherAccount\", new()\n {\n CcnId = otherccn,\n InstanceType = \"VPC\",\n InstanceId = vpc.Id,\n InstanceRegion = region,\n CcnUin = otheruin,\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/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\totheruin := \"123353\"\n\t\tif param := cfg.Get(\"otheruin\"); param != \"\" {\n\t\t\totheruin = param\n\t\t}\n\t\totherccn := \"ccn-151ssaga\"\n\t\tif param := cfg.Get(\"otherccn\"); param != \"\" {\n\t\t\totherccn = param\n\t\t}\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"119.29.29.29\"),\n\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t},\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\tmain, err := Ccn.NewInstance(ctx, \"main\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"ci-temp-test-ccn-des\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Ccn.NewAttachment(ctx, \"attachment\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: main.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Ccn.NewAttachment(ctx, \"otherAccount\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: pulumi.String(otherccn),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t\tCcnUin: pulumi.String(otheruin),\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.Attachment;\nimport com.pulumi.tencentcloud.Ccn.AttachmentArgs;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var otheruin = config.get(\"otheruin\").orElse(\"123353\");\n final var otherccn = config.get(\"otherccn\").orElse(\"ccn-151ssaga\");\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .dnsServers( \n \"119.29.29.29\",\n \"8.8.8.8\")\n .isMulticast(false)\n .build());\n\n var main = new Instance(\"main\", InstanceArgs.builder() \n .description(\"ci-temp-test-ccn-des\")\n .qos(\"AG\")\n .build());\n\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .ccnId(main.id())\n .instanceType(\"VPC\")\n .instanceId(vpc.id())\n .instanceRegion(region)\n .build());\n\n var otherAccount = new Attachment(\"otherAccount\", AttachmentArgs.builder() \n .ccnId(otherccn)\n .instanceType(\"VPC\")\n .instanceId(vpc.id())\n .instanceRegion(region)\n .ccnUin(otheruin)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n otheruin:\n type: string\n default: '123353'\n otherccn:\n type: string\n default: ccn-151ssaga\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n dnsServers:\n - 119.29.29.29\n - 8.8.8.8\n isMulticast: false\n main:\n type: tencentcloud:Ccn:Instance\n properties:\n description: ci-temp-test-ccn-des\n qos: AG\n attachment:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${main.id}\n instanceType: VPC\n instanceId: ${vpc.id}\n instanceRegion: ${region}\n otherAccount:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${otherccn}\n instanceType: VPC\n instanceId: ${vpc.id}\n instanceRegion: ${region}\n ccnUin: ${otheruin}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a CCN attaching resource.\n\n## Example Usage\n\n### Only Attachment instance\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\nconst otherUin = config.get(\"otherUin\") || \"100031344528\";\nconst otherCcn = config.get(\"otherCcn\") || \"ccn-qhgojahx\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create ccn\nconst example = new tencentcloud.ccn.Instance(\"example\", {\n description: \"desc.\",\n qos: \"AG\",\n chargeType: \"PREPAID\",\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n tags: {\n createBy: \"terraform\",\n },\n});\n// attachment instance\nconst attachment = new tencentcloud.ccn.Attachment(\"attachment\", {\n ccnId: example.id,\n instanceId: vpc.id,\n instanceType: \"VPC\",\n instanceRegion: region,\n});\n// attachment other instance\nconst otherAccount = new tencentcloud.ccn.Attachment(\"otherAccount\", {\n ccnId: otherCcn,\n instanceId: vpc.id,\n instanceType: \"VPC\",\n instanceRegion: region,\n ccnUin: otherUin,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\nother_uin = config.get(\"otherUin\")\nif other_uin is None:\n other_uin = \"100031344528\"\nother_ccn = config.get(\"otherCcn\")\nif other_ccn is None:\n other_ccn = \"ccn-qhgojahx\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create ccn\nexample = tencentcloud.ccn.Instance(\"example\",\n description=\"desc.\",\n qos=\"AG\",\n charge_type=\"PREPAID\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n tags={\n \"createBy\": \"terraform\",\n })\n# attachment instance\nattachment = tencentcloud.ccn.Attachment(\"attachment\",\n ccn_id=example.id,\n instance_id=vpc.id,\n instance_type=\"VPC\",\n instance_region=region)\n# attachment other instance\nother_account = tencentcloud.ccn.Attachment(\"otherAccount\",\n ccn_id=other_ccn,\n instance_id=vpc.id,\n instance_type=\"VPC\",\n instance_region=region,\n ccn_uin=other_uin)\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 region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n var otherUin = config.Get(\"otherUin\") ?? \"100031344528\";\n var otherCcn = config.Get(\"otherCcn\") ?? \"ccn-qhgojahx\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create ccn\n var example = new Tencentcloud.Ccn.Instance(\"example\", new()\n {\n Description = \"desc.\",\n Qos = \"AG\",\n ChargeType = \"PREPAID\",\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // attachment instance\n var attachment = new Tencentcloud.Ccn.Attachment(\"attachment\", new()\n {\n CcnId = example.Id,\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n InstanceRegion = region,\n });\n\n // attachment other instance\n var otherAccount = new Tencentcloud.Ccn.Attachment(\"otherAccount\", new()\n {\n CcnId = otherCcn,\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n InstanceRegion = region,\n CcnUin = otherUin,\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/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\totherUin := \"100031344528\"\n\t\tif param := cfg.Get(\"otherUin\"); param != \"\" {\n\t\t\totherUin = param\n\t\t}\n\t\totherCcn := \"ccn-qhgojahx\"\n\t\tif param := cfg.Get(\"otherCcn\"); param != \"\" {\n\t\t\totherCcn = 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(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, 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(\"172.16.0.0/24\"),\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 ccn\n\t\texample, err := Ccn.NewInstance(ctx, \"example\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// attachment instance\n\t\t_, err = Ccn.NewAttachment(ctx, \"attachment\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: example.ID(),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attachment other instance\n\t\t_, err = Ccn.NewAttachment(ctx, \"otherAccount\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: pulumi.String(otherCcn),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t\tCcnUin: pulumi.String(otherUin),\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.Attachment;\nimport com.pulumi.tencentcloud.Ccn.AttachmentArgs;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n final var otherUin = config.get(\"otherUin\").orElse(\"100031344528\");\n final var otherCcn = config.get(\"otherCcn\").orElse(\"ccn-qhgojahx\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create ccn\n var example = new Instance(\"example\", InstanceArgs.builder() \n .description(\"desc.\")\n .qos(\"AG\")\n .chargeType(\"PREPAID\")\n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // attachment instance\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .ccnId(example.id())\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .instanceRegion(region)\n .build());\n\n // attachment other instance\n var otherAccount = new Attachment(\"otherAccount\", AttachmentArgs.builder() \n .ccnId(otherCcn)\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .instanceRegion(region)\n .ccnUin(otherUin)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\n otherUin:\n type: string\n default: '100031344528'\n otherCcn:\n type: string\n default: ccn-qhgojahx\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create ccn\n example:\n type: tencentcloud:Ccn:Instance\n properties:\n description: desc.\n qos: AG\n chargeType: PREPAID\n bandwidthLimitType: INTER_REGION_LIMIT\n tags:\n createBy: terraform\n # attachment instance\n attachment:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${example.id}\n instanceId: ${vpc.id}\n instanceType: VPC\n instanceRegion: ${region}\n # attachment other instance\n otherAccount:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${otherCcn}\n instanceId: ${vpc.id}\n instanceType: VPC\n instanceRegion: ${region}\n ccnUin: ${otherUin}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Attachment instance \u0026 route table\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create ccn\nconst exampleInstance = new tencentcloud.ccn.Instance(\"exampleInstance\", {\n description: \"desc.\",\n qos: \"AG\",\n chargeType: \"PREPAID\",\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n tags: {\n createBy: \"terraform\",\n },\n});\n// create ccn route table\nconst exampleRouteTable = new tencentcloud.ccn.RouteTable(\"exampleRouteTable\", {\n ccnId: exampleInstance.id,\n description: \"desc.\",\n});\n// attachment instance \u0026 route table\nconst attachment = new tencentcloud.ccn.Attachment(\"attachment\", {\n ccnId: exampleInstance.id,\n instanceId: vpc.id,\n instanceType: \"VPC\",\n instanceRegion: region,\n routeTableId: exampleRouteTable.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create ccn\nexample_instance = tencentcloud.ccn.Instance(\"exampleInstance\",\n description=\"desc.\",\n qos=\"AG\",\n charge_type=\"PREPAID\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n tags={\n \"createBy\": \"terraform\",\n })\n# create ccn route table\nexample_route_table = tencentcloud.ccn.RouteTable(\"exampleRouteTable\",\n ccn_id=example_instance.id,\n description=\"desc.\")\n# attachment instance \u0026 route table\nattachment = tencentcloud.ccn.Attachment(\"attachment\",\n ccn_id=example_instance.id,\n instance_id=vpc.id,\n instance_type=\"VPC\",\n instance_region=region,\n route_table_id=example_route_table.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 config = new Config();\n var region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create ccn\n var exampleInstance = new Tencentcloud.Ccn.Instance(\"exampleInstance\", new()\n {\n Description = \"desc.\",\n Qos = \"AG\",\n ChargeType = \"PREPAID\",\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // create ccn route table\n var exampleRouteTable = new Tencentcloud.Ccn.RouteTable(\"exampleRouteTable\", new()\n {\n CcnId = exampleInstance.Id,\n Description = \"desc.\",\n });\n\n // attachment instance \u0026 route table\n var attachment = new Tencentcloud.Ccn.Attachment(\"attachment\", new()\n {\n CcnId = exampleInstance.Id,\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n InstanceRegion = region,\n RouteTableId = exampleRouteTable.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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, 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(\"172.16.0.0/24\"),\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 ccn\n\t\texampleInstance, err := Ccn.NewInstance(ctx, \"exampleInstance\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create ccn route table\n\t\texampleRouteTable, err := Ccn.NewRouteTable(ctx, \"exampleRouteTable\", \u0026Ccn.RouteTableArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attachment instance \u0026 route table\n\t\t_, err = Ccn.NewAttachment(ctx, \"attachment\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t\tRouteTableId: exampleRouteTable.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.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTable;\nimport com.pulumi.tencentcloud.Ccn.RouteTableArgs;\nimport com.pulumi.tencentcloud.Ccn.Attachment;\nimport com.pulumi.tencentcloud.Ccn.AttachmentArgs;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create ccn\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .description(\"desc.\")\n .qos(\"AG\")\n .chargeType(\"PREPAID\")\n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // create ccn route table\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder() \n .ccnId(exampleInstance.id())\n .description(\"desc.\")\n .build());\n\n // attachment instance \u0026 route table\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .ccnId(exampleInstance.id())\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .instanceRegion(region)\n .routeTableId(exampleRouteTable.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create ccn\n exampleInstance:\n type: tencentcloud:Ccn:Instance\n properties:\n description: desc.\n qos: AG\n chargeType: PREPAID\n bandwidthLimitType: INTER_REGION_LIMIT\n tags:\n createBy: terraform\n # create ccn route table\n exampleRouteTable:\n type: tencentcloud:Ccn:RouteTable\n properties:\n ccnId: ${exampleInstance.id}\n description: desc.\n # attachment instance \u0026 route table\n attachment:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${exampleInstance.id}\n instanceId: ${vpc.id}\n instanceType: VPC\n instanceRegion: ${region}\n routeTableId: ${exampleRouteTable.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "attachedTime": { "type": "string", @@ -126875,6 +130247,10 @@ }, "description": "Route id list.\n" }, + "routeTableId": { + "type": "string", + "description": "Ccn instance route table ID.\n" + }, "state": { "type": "string", "description": "States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours.\n" @@ -126889,6 +130265,7 @@ "instanceRegion", "instanceType", "routeIds", + "routeTableId", "state" ], "inputProperties": { @@ -126920,6 +130297,11 @@ "type": "string", "description": "Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now.\n", "willReplaceOnChanges": true + }, + "routeTableId": { + "type": "string", + "description": "Ccn instance route table ID.\n", + "willReplaceOnChanges": true } }, "requiredInputs": [ @@ -126978,6 +130360,11 @@ }, "description": "Route id list.\n" }, + "routeTableId": { + "type": "string", + "description": "Ccn instance route table ID.\n", + "willReplaceOnChanges": true + }, "state": { "type": "string", "description": "States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours.\n" @@ -127078,7 +130465,7 @@ } }, "tencentcloud:Ccn/instance:Instance": { - "description": "Provides a resource to create a CCN instance.\n\n## Example Usage\n\n### Create a prepaid CCN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst main = new tencentcloud.ccn.Instance(\"main\", {\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n chargeType: \"PREPAID\",\n description: \"ci-temp-test-ccn-des\",\n qos: \"AG\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmain = tencentcloud.ccn.Instance(\"main\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n charge_type=\"PREPAID\",\n description=\"ci-temp-test-ccn-des\",\n qos=\"AG\")\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 main = new Tencentcloud.Ccn.Instance(\"main\", new()\n {\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n ChargeType = \"PREPAID\",\n Description = \"ci-temp-test-ccn-des\",\n Qos = \"AG\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewInstance(ctx, \"main\", \u0026Ccn.InstanceArgs{\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tDescription: pulumi.String(\"ci-temp-test-ccn-des\"),\n\t\t\tQos: pulumi.String(\"AG\"),\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.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 main = new Instance(\"main\", InstanceArgs.builder() \n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .chargeType(\"PREPAID\")\n .description(\"ci-temp-test-ccn-des\")\n .qos(\"AG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: tencentcloud:Ccn:Instance\n properties:\n bandwidthLimitType: INTER_REGION_LIMIT\n chargeType: PREPAID\n description: ci-temp-test-ccn-des\n qos: AG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a post-paid regional export speed limit type CCN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst main = new tencentcloud.ccn.Instance(\"main\", {\n bandwidthLimitType: \"OUTER_REGION_LIMIT\",\n chargeType: \"POSTPAID\",\n description: \"ci-temp-test-ccn-des\",\n qos: \"AG\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmain = tencentcloud.ccn.Instance(\"main\",\n bandwidth_limit_type=\"OUTER_REGION_LIMIT\",\n charge_type=\"POSTPAID\",\n description=\"ci-temp-test-ccn-des\",\n qos=\"AG\")\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 main = new Tencentcloud.Ccn.Instance(\"main\", new()\n {\n BandwidthLimitType = \"OUTER_REGION_LIMIT\",\n ChargeType = \"POSTPAID\",\n Description = \"ci-temp-test-ccn-des\",\n Qos = \"AG\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewInstance(ctx, \"main\", \u0026Ccn.InstanceArgs{\n\t\t\tBandwidthLimitType: pulumi.String(\"OUTER_REGION_LIMIT\"),\n\t\t\tChargeType: pulumi.String(\"POSTPAID\"),\n\t\t\tDescription: pulumi.String(\"ci-temp-test-ccn-des\"),\n\t\t\tQos: pulumi.String(\"AG\"),\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.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 main = new Instance(\"main\", InstanceArgs.builder() \n .bandwidthLimitType(\"OUTER_REGION_LIMIT\")\n .chargeType(\"POSTPAID\")\n .description(\"ci-temp-test-ccn-des\")\n .qos(\"AG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: tencentcloud:Ccn:Instance\n properties:\n bandwidthLimitType: OUTER_REGION_LIMIT\n chargeType: POSTPAID\n description: ci-temp-test-ccn-des\n qos: AG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a post-paid inter-regional rate limit type CNN\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst main = new tencentcloud.ccn.Instance(\"main\", {\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n chargeType: \"POSTPAID\",\n description: \"ci-temp-test-ccn-des\",\n qos: \"AG\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmain = tencentcloud.ccn.Instance(\"main\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n charge_type=\"POSTPAID\",\n description=\"ci-temp-test-ccn-des\",\n qos=\"AG\")\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 main = new Tencentcloud.Ccn.Instance(\"main\", new()\n {\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n ChargeType = \"POSTPAID\",\n Description = \"ci-temp-test-ccn-des\",\n Qos = \"AG\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewInstance(ctx, \"main\", \u0026Ccn.InstanceArgs{\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tChargeType: pulumi.String(\"POSTPAID\"),\n\t\t\tDescription: pulumi.String(\"ci-temp-test-ccn-des\"),\n\t\t\tQos: pulumi.String(\"AG\"),\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.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 main = new Instance(\"main\", InstanceArgs.builder() \n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .chargeType(\"POSTPAID\")\n .description(\"ci-temp-test-ccn-des\")\n .qos(\"AG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: tencentcloud:Ccn:Instance\n properties:\n bandwidthLimitType: INTER_REGION_LIMIT\n chargeType: POSTPAID\n description: ci-temp-test-ccn-des\n qos: AG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCcn instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/instance:Instance test ccn-id\n```\n", + "description": "Provides a resource to create a CCN instance.\n\n## Example Usage\n\n### Create a prepaid CCN\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.ccn.Instance(\"example\", {\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n chargeType: \"PREPAID\",\n description: \"desc.\",\n qos: \"AG\",\n routeEcmpFlag: true,\n routeOverlapFlag: true,\n tags: {\n createBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ccn.Instance(\"example\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n charge_type=\"PREPAID\",\n description=\"desc.\",\n qos=\"AG\",\n route_ecmp_flag=True,\n route_overlap_flag=True,\n tags={\n \"createBy\": \"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.Ccn.Instance(\"example\", new()\n {\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n ChargeType = \"PREPAID\",\n Description = \"desc.\",\n Qos = \"AG\",\n RouteEcmpFlag = true,\n RouteOverlapFlag = true,\n Tags = \n {\n { \"createBy\", \"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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewInstance(ctx, \"example\", \u0026Ccn.InstanceArgs{\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tRouteEcmpFlag: pulumi.Bool(true),\n\t\t\tRouteOverlapFlag: pulumi.Bool(true),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.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 .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .chargeType(\"PREPAID\")\n .description(\"desc.\")\n .qos(\"AG\")\n .routeEcmpFlag(true)\n .routeOverlapFlag(true)\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ccn:Instance\n properties:\n bandwidthLimitType: INTER_REGION_LIMIT\n chargeType: PREPAID\n description: desc.\n qos: AG\n routeEcmpFlag: true\n routeOverlapFlag: true\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a post-paid regional export speed limit type CCN\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.ccn.Instance(\"example\", {\n bandwidthLimitType: \"OUTER_REGION_LIMIT\",\n chargeType: \"POSTPAID\",\n description: \"desc.\",\n qos: \"AG\",\n routeEcmpFlag: false,\n routeOverlapFlag: false,\n tags: {\n createBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ccn.Instance(\"example\",\n bandwidth_limit_type=\"OUTER_REGION_LIMIT\",\n charge_type=\"POSTPAID\",\n description=\"desc.\",\n qos=\"AG\",\n route_ecmp_flag=False,\n route_overlap_flag=False,\n tags={\n \"createBy\": \"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.Ccn.Instance(\"example\", new()\n {\n BandwidthLimitType = \"OUTER_REGION_LIMIT\",\n ChargeType = \"POSTPAID\",\n Description = \"desc.\",\n Qos = \"AG\",\n RouteEcmpFlag = false,\n RouteOverlapFlag = false,\n Tags = \n {\n { \"createBy\", \"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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewInstance(ctx, \"example\", \u0026Ccn.InstanceArgs{\n\t\t\tBandwidthLimitType: pulumi.String(\"OUTER_REGION_LIMIT\"),\n\t\t\tChargeType: pulumi.String(\"POSTPAID\"),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tRouteEcmpFlag: pulumi.Bool(false),\n\t\t\tRouteOverlapFlag: pulumi.Bool(false),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.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 .bandwidthLimitType(\"OUTER_REGION_LIMIT\")\n .chargeType(\"POSTPAID\")\n .description(\"desc.\")\n .qos(\"AG\")\n .routeEcmpFlag(false)\n .routeOverlapFlag(false)\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ccn:Instance\n properties:\n bandwidthLimitType: OUTER_REGION_LIMIT\n chargeType: POSTPAID\n description: desc.\n qos: AG\n routeEcmpFlag: false\n routeOverlapFlag: false\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a post-paid inter-regional rate limit type CNN\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.ccn.Instance(\"example\", {\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n chargeType: \"POSTPAID\",\n description: \"desc.\",\n qos: \"AG\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ccn.Instance(\"example\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n charge_type=\"POSTPAID\",\n description=\"desc.\",\n qos=\"AG\")\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.Ccn.Instance(\"example\", new()\n {\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n ChargeType = \"POSTPAID\",\n Description = \"desc.\",\n Qos = \"AG\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewInstance(ctx, \"example\", \u0026Ccn.InstanceArgs{\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tChargeType: pulumi.String(\"POSTPAID\"),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.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 .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .chargeType(\"POSTPAID\")\n .description(\"desc.\")\n .qos(\"AG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ccn:Instance\n properties:\n bandwidthLimitType: INTER_REGION_LIMIT\n chargeType: POSTPAID\n description: desc.\n qos: AG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCcn instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/instance:Instance example ccn-al70jo89\n```\n", "properties": { "bandwidthLimitType": { "type": "string", @@ -127108,6 +130495,14 @@ "type": "string", "description": "Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`.\n" }, + "routeEcmpFlag": { + "type": "boolean", + "description": "Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled.\n" + }, + "routeOverlapFlag": { + "type": "boolean", + "description": "Whether to enable the routing overlap function. `true`: enabled, `false`: disabled.\n" + }, "state": { "type": "string", "description": "States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`.\n" @@ -127149,6 +130544,14 @@ "description": "Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`.\n", "willReplaceOnChanges": true }, + "routeEcmpFlag": { + "type": "boolean", + "description": "Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled.\n" + }, + "routeOverlapFlag": { + "type": "boolean", + "description": "Whether to enable the routing overlap function. `true`: enabled, `false`: disabled.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -127190,6 +130593,14 @@ "description": "Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`.\n", "willReplaceOnChanges": true }, + "routeEcmpFlag": { + "type": "boolean", + "description": "Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled.\n" + }, + "routeOverlapFlag": { + "type": "boolean", + "description": "Whether to enable the routing overlap function. `true`: enabled, `false`: disabled.\n" + }, "state": { "type": "string", "description": "States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`.\n" @@ -127395,8 +130806,356 @@ "type": "object" } }, + "tencentcloud:Ccn/routeTable:RouteTable": { + "description": "Provides a resource to create a CCN Route table.\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create 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 ccn\nconst exampleInstance = new tencentcloud.ccn.Instance(\"exampleInstance\", {\n description: \"desc.\",\n qos: \"AG\",\n chargeType: \"PREPAID\",\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n tags: {\n createBy: \"terraform\",\n },\n});\n// create ccn route table\nconst exampleRouteTable = new tencentcloud.ccn.RouteTable(\"exampleRouteTable\", {\n ccnId: exampleInstance.id,\n description: \"desc.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create 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 ccn\nexample_instance = tencentcloud.ccn.Instance(\"exampleInstance\",\n description=\"desc.\",\n qos=\"AG\",\n charge_type=\"PREPAID\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n tags={\n \"createBy\": \"terraform\",\n })\n# create ccn route table\nexample_route_table = tencentcloud.ccn.RouteTable(\"exampleRouteTable\",\n ccn_id=example_instance.id,\n description=\"desc.\")\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 region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create 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 ccn\n var exampleInstance = new Tencentcloud.Ccn.Instance(\"exampleInstance\", new()\n {\n Description = \"desc.\",\n Qos = \"AG\",\n ChargeType = \"PREPAID\",\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // create ccn route table\n var exampleRouteTable = new Tencentcloud.Ccn.RouteTable(\"exampleRouteTable\", new()\n {\n CcnId = exampleInstance.Id,\n Description = \"desc.\",\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/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, 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 ccn\n\t\texampleInstance, err := Ccn.NewInstance(ctx, \"exampleInstance\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create ccn route table\n\t\t_, err = Ccn.NewRouteTable(ctx, \"exampleRouteTable\", \u0026Ccn.RouteTableArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tDescription: pulumi.String(\"desc.\"),\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTable;\nimport com.pulumi.tencentcloud.Ccn.RouteTableArgs;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create 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 ccn\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .description(\"desc.\")\n .qos(\"AG\")\n .chargeType(\"PREPAID\")\n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // create ccn route table\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder() \n .ccnId(exampleInstance.id())\n .description(\"desc.\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create 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 ccn\n exampleInstance:\n type: tencentcloud:Ccn:Instance\n properties:\n description: desc.\n qos: AG\n chargeType: PREPAID\n bandwidthLimitType: INTER_REGION_LIMIT\n tags:\n createBy: terraform\n # create ccn route table\n exampleRouteTable:\n type: tencentcloud:Ccn:RouteTable\n properties:\n ccnId: ${exampleInstance.id}\n description: desc.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCcn instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/routeTable:RouteTable example ccnrtb-r5hrr417\n```\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n" + }, + "createTime": { + "type": "string", + "description": "create time.\n" + }, + "description": { + "type": "string", + "description": "Description of CCN Route table.\n" + }, + "isDefaultTable": { + "type": "boolean", + "description": "True: default routing table False: non default routing table.\n" + }, + "name": { + "type": "string", + "description": "CCN Route table name.\n" + } + }, + "required": [ + "ccnId", + "createTime", + "description", + "isDefaultTable", + "name" + ], + "inputProperties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Description of CCN Route table.\n" + }, + "name": { + "type": "string", + "description": "CCN Route table name.\n" + } + }, + "requiredInputs": [ + "ccnId", + "description" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RouteTable resources.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "createTime": { + "type": "string", + "description": "create time.\n" + }, + "description": { + "type": "string", + "description": "Description of CCN Route table.\n" + }, + "isDefaultTable": { + "type": "boolean", + "description": "True: default routing table False: non default routing table.\n" + }, + "name": { + "type": "string", + "description": "CCN Route table name.\n" + } + }, + "type": "object" + } + }, + "tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig": { + "description": "Provides a resource to create a CCN Route table associate instance config.\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create ccn\nconst exampleInstance = new tencentcloud.ccn.Instance(\"exampleInstance\", {\n description: \"desc.\",\n qos: \"AG\",\n chargeType: \"PREPAID\",\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n tags: {\n createBy: \"terraform\",\n },\n});\n// create ccn route table\nconst exampleRouteTable = new tencentcloud.ccn.RouteTable(\"exampleRouteTable\", {\n ccnId: exampleInstance.id,\n description: \"desc.\",\n});\n// attachment instance\nconst attachment = new tencentcloud.ccn.Attachment(\"attachment\", {\n ccnId: exampleInstance.id,\n instanceId: vpc.id,\n instanceType: \"VPC\",\n instanceRegion: region,\n routeTableId: exampleRouteTable.id,\n});\n// route table associate instance\nconst exampleRouteTableAssociateInstanceConfig = new tencentcloud.ccn.RouteTableAssociateInstanceConfig(\"exampleRouteTableAssociateInstanceConfig\", {\n ccnId: exampleInstance.id,\n routeTableId: exampleRouteTable.id,\n instances: [{\n instanceId: vpc.id,\n instanceType: \"VPC\",\n }],\n}, {\n dependsOn: [attachment],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create ccn\nexample_instance = tencentcloud.ccn.Instance(\"exampleInstance\",\n description=\"desc.\",\n qos=\"AG\",\n charge_type=\"PREPAID\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n tags={\n \"createBy\": \"terraform\",\n })\n# create ccn route table\nexample_route_table = tencentcloud.ccn.RouteTable(\"exampleRouteTable\",\n ccn_id=example_instance.id,\n description=\"desc.\")\n# attachment instance\nattachment = tencentcloud.ccn.Attachment(\"attachment\",\n ccn_id=example_instance.id,\n instance_id=vpc.id,\n instance_type=\"VPC\",\n instance_region=region,\n route_table_id=example_route_table.id)\n# route table associate instance\nexample_route_table_associate_instance_config = tencentcloud.ccn.RouteTableAssociateInstanceConfig(\"exampleRouteTableAssociateInstanceConfig\",\n ccn_id=example_instance.id,\n route_table_id=example_route_table.id,\n instances=[tencentcloud.ccn.RouteTableAssociateInstanceConfigInstanceArgs(\n instance_id=vpc.id,\n instance_type=\"VPC\",\n )],\n opts=pulumi.ResourceOptions(depends_on=[attachment]))\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 region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create ccn\n var exampleInstance = new Tencentcloud.Ccn.Instance(\"exampleInstance\", new()\n {\n Description = \"desc.\",\n Qos = \"AG\",\n ChargeType = \"PREPAID\",\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // create ccn route table\n var exampleRouteTable = new Tencentcloud.Ccn.RouteTable(\"exampleRouteTable\", new()\n {\n CcnId = exampleInstance.Id,\n Description = \"desc.\",\n });\n\n // attachment instance\n var attachment = new Tencentcloud.Ccn.Attachment(\"attachment\", new()\n {\n CcnId = exampleInstance.Id,\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n InstanceRegion = region,\n RouteTableId = exampleRouteTable.Id,\n });\n\n // route table associate instance\n var exampleRouteTableAssociateInstanceConfig = new Tencentcloud.Ccn.RouteTableAssociateInstanceConfig(\"exampleRouteTableAssociateInstanceConfig\", new()\n {\n CcnId = exampleInstance.Id,\n RouteTableId = exampleRouteTable.Id,\n Instances = new[]\n {\n new Tencentcloud.Ccn.Inputs.RouteTableAssociateInstanceConfigInstanceArgs\n {\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n attachment, \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/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, 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(\"172.16.0.0/24\"),\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 ccn\n\t\texampleInstance, err := Ccn.NewInstance(ctx, \"exampleInstance\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create ccn route table\n\t\texampleRouteTable, err := Ccn.NewRouteTable(ctx, \"exampleRouteTable\", \u0026Ccn.RouteTableArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attachment instance\n\t\tattachment, err := Ccn.NewAttachment(ctx, \"attachment\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// route table associate instance\n\t\t_, err = Ccn.NewRouteTableAssociateInstanceConfig(ctx, \"exampleRouteTableAssociateInstanceConfig\", \u0026Ccn.RouteTableAssociateInstanceConfigArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t\tInstances: ccn.RouteTableAssociateInstanceConfigInstanceArray{\n\t\t\t\t\u0026ccn.RouteTableAssociateInstanceConfigInstanceArgs{\n\t\t\t\t\tInstanceId: vpc.ID(),\n\t\t\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tattachment,\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.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTable;\nimport com.pulumi.tencentcloud.Ccn.RouteTableArgs;\nimport com.pulumi.tencentcloud.Ccn.Attachment;\nimport com.pulumi.tencentcloud.Ccn.AttachmentArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTableAssociateInstanceConfig;\nimport com.pulumi.tencentcloud.Ccn.RouteTableAssociateInstanceConfigArgs;\nimport com.pulumi.tencentcloud.Ccn.inputs.RouteTableAssociateInstanceConfigInstanceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create ccn\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .description(\"desc.\")\n .qos(\"AG\")\n .chargeType(\"PREPAID\")\n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // create ccn route table\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder() \n .ccnId(exampleInstance.id())\n .description(\"desc.\")\n .build());\n\n // attachment instance\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .ccnId(exampleInstance.id())\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .instanceRegion(region)\n .routeTableId(exampleRouteTable.id())\n .build());\n\n // route table associate instance\n var exampleRouteTableAssociateInstanceConfig = new RouteTableAssociateInstanceConfig(\"exampleRouteTableAssociateInstanceConfig\", RouteTableAssociateInstanceConfigArgs.builder() \n .ccnId(exampleInstance.id())\n .routeTableId(exampleRouteTable.id())\n .instances(RouteTableAssociateInstanceConfigInstanceArgs.builder()\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(attachment)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create ccn\n exampleInstance:\n type: tencentcloud:Ccn:Instance\n properties:\n description: desc.\n qos: AG\n chargeType: PREPAID\n bandwidthLimitType: INTER_REGION_LIMIT\n tags:\n createBy: terraform\n # create ccn route table\n exampleRouteTable:\n type: tencentcloud:Ccn:RouteTable\n properties:\n ccnId: ${exampleInstance.id}\n description: desc.\n # attachment instance\n attachment:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${exampleInstance.id}\n instanceId: ${vpc.id}\n instanceType: VPC\n instanceRegion: ${region}\n routeTableId: ${exampleRouteTable.id}\n # route table associate instance\n exampleRouteTableAssociateInstanceConfig:\n type: tencentcloud:Ccn:RouteTableAssociateInstanceConfig\n properties:\n ccnId: ${exampleInstance.id}\n routeTableId: ${exampleRouteTable.id}\n instances:\n - instanceId: ${vpc.id}\n instanceType: VPC\n options:\n dependson:\n - ${attachment}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCcn instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig example ccn-gr7nynbd#ccnrtb-jpf7bzn3\n```\n", + "properties": { + "ccnId": { + "type": "string", + "description": "ID of the CCN.\n" + }, + "instances": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableAssociateInstanceConfigInstance:RouteTableAssociateInstanceConfigInstance" + }, + "description": "Instances list.\n" + }, + "routeTableId": { + "type": "string", + "description": "Ccn instance route table ID.\n" + } + }, + "required": [ + "ccnId", + "instances", + "routeTableId" + ], + "inputProperties": { + "ccnId": { + "type": "string", + "description": "ID of the CCN.\n", + "willReplaceOnChanges": true + }, + "instances": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableAssociateInstanceConfigInstance:RouteTableAssociateInstanceConfigInstance" + }, + "description": "Instances list.\n" + }, + "routeTableId": { + "type": "string", + "description": "Ccn instance route table ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "ccnId", + "instances", + "routeTableId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RouteTableAssociateInstanceConfig resources.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "ID of the CCN.\n", + "willReplaceOnChanges": true + }, + "instances": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableAssociateInstanceConfigInstance:RouteTableAssociateInstanceConfigInstance" + }, + "description": "Instances list.\n" + }, + "routeTableId": { + "type": "string", + "description": "Ccn instance route table ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies": { + "description": "Provides a resource to create a CCN Route table broadcast policies.\n\n\u003e **NOTE:** Use this resource to manage all broadcast policies under the routing table of CCN instances.\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create ccn\nconst exampleInstance = new tencentcloud.ccn.Instance(\"exampleInstance\", {\n description: \"desc.\",\n qos: \"AG\",\n chargeType: \"PREPAID\",\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n tags: {\n createBy: \"terraform\",\n },\n});\n// create ccn route table\nconst exampleRouteTable = new tencentcloud.ccn.RouteTable(\"exampleRouteTable\", {\n ccnId: exampleInstance.id,\n description: \"desc.\",\n});\n// attachment instance\nconst attachment = new tencentcloud.ccn.Attachment(\"attachment\", {\n ccnId: exampleInstance.id,\n instanceId: vpc.id,\n instanceType: \"VPC\",\n instanceRegion: region,\n routeTableId: exampleRouteTable.id,\n});\n// create route table broadcast policy\nconst exampleRouteTableBroadcastPolicies = new tencentcloud.ccn.RouteTableBroadcastPolicies(\"exampleRouteTableBroadcastPolicies\", {\n ccnId: exampleInstance.id,\n routeTableId: exampleRouteTable.id,\n policies: [{\n action: \"accept\",\n description: \"desc.\",\n routeConditions: [{\n name: \"instance-region\",\n values: [\"ap-guangzhou\"],\n matchPattern: 1,\n }],\n broadcastConditions: [{\n name: \"instance-region\",\n values: [\"ap-shanghai\"],\n matchPattern: 1,\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create ccn\nexample_instance = tencentcloud.ccn.Instance(\"exampleInstance\",\n description=\"desc.\",\n qos=\"AG\",\n charge_type=\"PREPAID\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n tags={\n \"createBy\": \"terraform\",\n })\n# create ccn route table\nexample_route_table = tencentcloud.ccn.RouteTable(\"exampleRouteTable\",\n ccn_id=example_instance.id,\n description=\"desc.\")\n# attachment instance\nattachment = tencentcloud.ccn.Attachment(\"attachment\",\n ccn_id=example_instance.id,\n instance_id=vpc.id,\n instance_type=\"VPC\",\n instance_region=region,\n route_table_id=example_route_table.id)\n# create route table broadcast policy\nexample_route_table_broadcast_policies = tencentcloud.ccn.RouteTableBroadcastPolicies(\"exampleRouteTableBroadcastPolicies\",\n ccn_id=example_instance.id,\n route_table_id=example_route_table.id,\n policies=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyArgs(\n action=\"accept\",\n description=\"desc.\",\n route_conditions=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyRouteConditionArgs(\n name=\"instance-region\",\n values=[\"ap-guangzhou\"],\n match_pattern=1,\n )],\n broadcast_conditions=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs(\n name=\"instance-region\",\n values=[\"ap-shanghai\"],\n match_pattern=1,\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 config = new Config();\n var region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create ccn\n var exampleInstance = new Tencentcloud.Ccn.Instance(\"exampleInstance\", new()\n {\n Description = \"desc.\",\n Qos = \"AG\",\n ChargeType = \"PREPAID\",\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // create ccn route table\n var exampleRouteTable = new Tencentcloud.Ccn.RouteTable(\"exampleRouteTable\", new()\n {\n CcnId = exampleInstance.Id,\n Description = \"desc.\",\n });\n\n // attachment instance\n var attachment = new Tencentcloud.Ccn.Attachment(\"attachment\", new()\n {\n CcnId = exampleInstance.Id,\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n InstanceRegion = region,\n RouteTableId = exampleRouteTable.Id,\n });\n\n // create route table broadcast policy\n var exampleRouteTableBroadcastPolicies = new Tencentcloud.Ccn.RouteTableBroadcastPolicies(\"exampleRouteTableBroadcastPolicies\", new()\n {\n CcnId = exampleInstance.Id,\n RouteTableId = exampleRouteTable.Id,\n Policies = new[]\n {\n new Tencentcloud.Ccn.Inputs.RouteTableBroadcastPoliciesPolicyArgs\n {\n Action = \"accept\",\n Description = \"desc.\",\n RouteConditions = new[]\n {\n new Tencentcloud.Ccn.Inputs.RouteTableBroadcastPoliciesPolicyRouteConditionArgs\n {\n Name = \"instance-region\",\n Values = new[]\n {\n \"ap-guangzhou\",\n },\n MatchPattern = 1,\n },\n },\n BroadcastConditions = new[]\n {\n new Tencentcloud.Ccn.Inputs.RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs\n {\n Name = \"instance-region\",\n Values = new[]\n {\n \"ap-shanghai\",\n },\n MatchPattern = 1,\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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, 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(\"172.16.0.0/24\"),\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 ccn\n\t\texampleInstance, err := Ccn.NewInstance(ctx, \"exampleInstance\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create ccn route table\n\t\texampleRouteTable, err := Ccn.NewRouteTable(ctx, \"exampleRouteTable\", \u0026Ccn.RouteTableArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attachment instance\n\t\t_, err = Ccn.NewAttachment(ctx, \"attachment\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create route table broadcast policy\n\t\t_, err = Ccn.NewRouteTableBroadcastPolicies(ctx, \"exampleRouteTableBroadcastPolicies\", \u0026Ccn.RouteTableBroadcastPoliciesArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t\tPolicies: ccn.RouteTableBroadcastPoliciesPolicyArray{\n\t\t\t\t\u0026ccn.RouteTableBroadcastPoliciesPolicyArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\t\t\tRouteConditions: ccn.RouteTableBroadcastPoliciesPolicyRouteConditionArray{\n\t\t\t\t\t\t\u0026ccn.RouteTableBroadcastPoliciesPolicyRouteConditionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"instance-region\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ap-guangzhou\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchPattern: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBroadcastConditions: ccn.RouteTableBroadcastPoliciesPolicyBroadcastConditionArray{\n\t\t\t\t\t\t\u0026ccn.RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"instance-region\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ap-shanghai\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchPattern: pulumi.Int(1),\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.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTable;\nimport com.pulumi.tencentcloud.Ccn.RouteTableArgs;\nimport com.pulumi.tencentcloud.Ccn.Attachment;\nimport com.pulumi.tencentcloud.Ccn.AttachmentArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTableBroadcastPolicies;\nimport com.pulumi.tencentcloud.Ccn.RouteTableBroadcastPoliciesArgs;\nimport com.pulumi.tencentcloud.Ccn.inputs.RouteTableBroadcastPoliciesPolicyArgs;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create ccn\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .description(\"desc.\")\n .qos(\"AG\")\n .chargeType(\"PREPAID\")\n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // create ccn route table\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder() \n .ccnId(exampleInstance.id())\n .description(\"desc.\")\n .build());\n\n // attachment instance\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .ccnId(exampleInstance.id())\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .instanceRegion(region)\n .routeTableId(exampleRouteTable.id())\n .build());\n\n // create route table broadcast policy\n var exampleRouteTableBroadcastPolicies = new RouteTableBroadcastPolicies(\"exampleRouteTableBroadcastPolicies\", RouteTableBroadcastPoliciesArgs.builder() \n .ccnId(exampleInstance.id())\n .routeTableId(exampleRouteTable.id())\n .policies(RouteTableBroadcastPoliciesPolicyArgs.builder()\n .action(\"accept\")\n .description(\"desc.\")\n .routeConditions(RouteTableBroadcastPoliciesPolicyRouteConditionArgs.builder()\n .name(\"instance-region\")\n .values(\"ap-guangzhou\")\n .matchPattern(1)\n .build())\n .broadcastConditions(RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs.builder()\n .name(\"instance-region\")\n .values(\"ap-shanghai\")\n .matchPattern(1)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create ccn\n exampleInstance:\n type: tencentcloud:Ccn:Instance\n properties:\n description: desc.\n qos: AG\n chargeType: PREPAID\n bandwidthLimitType: INTER_REGION_LIMIT\n tags:\n createBy: terraform\n # create ccn route table\n exampleRouteTable:\n type: tencentcloud:Ccn:RouteTable\n properties:\n ccnId: ${exampleInstance.id}\n description: desc.\n # attachment instance\n attachment:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${exampleInstance.id}\n instanceId: ${vpc.id}\n instanceType: VPC\n instanceRegion: ${region}\n routeTableId: ${exampleRouteTable.id}\n # create route table broadcast policy\n exampleRouteTableBroadcastPolicies:\n type: tencentcloud:Ccn:RouteTableBroadcastPolicies\n properties:\n ccnId: ${exampleInstance.id}\n routeTableId: ${exampleRouteTable.id}\n policies:\n - action: accept\n description: desc.\n routeConditions:\n - name: instance-region\n values:\n - ap-guangzhou\n matchPattern: 1\n broadcastConditions:\n - name: instance-region\n values:\n - ap-shanghai\n matchPattern: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCcn instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3\n```\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n" + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicy:RouteTableBroadcastPoliciesPolicy" + }, + "description": "Routing propagation strategy.\n" + }, + "routeTableId": { + "type": "string", + "description": "CCN Route table ID.\n" + } + }, + "required": [ + "ccnId", + "policies", + "routeTableId" + ], + "inputProperties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicy:RouteTableBroadcastPoliciesPolicy" + }, + "description": "Routing propagation strategy.\n" + }, + "routeTableId": { + "type": "string", + "description": "CCN Route table ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "ccnId", + "policies", + "routeTableId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RouteTableBroadcastPolicies resources.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableBroadcastPoliciesPolicy:RouteTableBroadcastPoliciesPolicy" + }, + "description": "Routing propagation strategy.\n" + }, + "routeTableId": { + "type": "string", + "description": "CCN Route table ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies": { + "description": "Provides a resource to create a CCN Route table input policies.\n\n\u003e **NOTE:** Use this resource to manage all input policies under the routing table of CCN instances.\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create ccn\nconst exampleInstance = new tencentcloud.ccn.Instance(\"exampleInstance\", {\n description: \"desc.\",\n qos: \"AG\",\n chargeType: \"PREPAID\",\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n tags: {\n createBy: \"terraform\",\n },\n});\n// create ccn route table\nconst exampleRouteTable = new tencentcloud.ccn.RouteTable(\"exampleRouteTable\", {\n ccnId: exampleInstance.id,\n description: \"desc.\",\n});\n// attachment instance\nconst attachment = new tencentcloud.ccn.Attachment(\"attachment\", {\n ccnId: exampleInstance.id,\n instanceId: vpc.id,\n instanceType: \"VPC\",\n instanceRegion: region,\n routeTableId: exampleRouteTable.id,\n});\n// create route table input policy\nconst exampleRouteTableInputPolicies = new tencentcloud.ccn.RouteTableInputPolicies(\"exampleRouteTableInputPolicies\", {\n ccnId: exampleInstance.id,\n routeTableId: exampleRouteTable.id,\n policies: [{\n action: \"accept\",\n description: \"desc.\",\n routeConditions: [{\n name: \"instance-region\",\n values: [region],\n matchPattern: 1,\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create ccn\nexample_instance = tencentcloud.ccn.Instance(\"exampleInstance\",\n description=\"desc.\",\n qos=\"AG\",\n charge_type=\"PREPAID\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n tags={\n \"createBy\": \"terraform\",\n })\n# create ccn route table\nexample_route_table = tencentcloud.ccn.RouteTable(\"exampleRouteTable\",\n ccn_id=example_instance.id,\n description=\"desc.\")\n# attachment instance\nattachment = tencentcloud.ccn.Attachment(\"attachment\",\n ccn_id=example_instance.id,\n instance_id=vpc.id,\n instance_type=\"VPC\",\n instance_region=region,\n route_table_id=example_route_table.id)\n# create route table input policy\nexample_route_table_input_policies = tencentcloud.ccn.RouteTableInputPolicies(\"exampleRouteTableInputPolicies\",\n ccn_id=example_instance.id,\n route_table_id=example_route_table.id,\n policies=[tencentcloud.ccn.RouteTableInputPoliciesPolicyArgs(\n action=\"accept\",\n description=\"desc.\",\n route_conditions=[tencentcloud.ccn.RouteTableInputPoliciesPolicyRouteConditionArgs(\n name=\"instance-region\",\n values=[region],\n match_pattern=1,\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 config = new Config();\n var region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create ccn\n var exampleInstance = new Tencentcloud.Ccn.Instance(\"exampleInstance\", new()\n {\n Description = \"desc.\",\n Qos = \"AG\",\n ChargeType = \"PREPAID\",\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // create ccn route table\n var exampleRouteTable = new Tencentcloud.Ccn.RouteTable(\"exampleRouteTable\", new()\n {\n CcnId = exampleInstance.Id,\n Description = \"desc.\",\n });\n\n // attachment instance\n var attachment = new Tencentcloud.Ccn.Attachment(\"attachment\", new()\n {\n CcnId = exampleInstance.Id,\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n InstanceRegion = region,\n RouteTableId = exampleRouteTable.Id,\n });\n\n // create route table input policy\n var exampleRouteTableInputPolicies = new Tencentcloud.Ccn.RouteTableInputPolicies(\"exampleRouteTableInputPolicies\", new()\n {\n CcnId = exampleInstance.Id,\n RouteTableId = exampleRouteTable.Id,\n Policies = new[]\n {\n new Tencentcloud.Ccn.Inputs.RouteTableInputPoliciesPolicyArgs\n {\n Action = \"accept\",\n Description = \"desc.\",\n RouteConditions = new[]\n {\n new Tencentcloud.Ccn.Inputs.RouteTableInputPoliciesPolicyRouteConditionArgs\n {\n Name = \"instance-region\",\n Values = new[]\n {\n region,\n },\n MatchPattern = 1,\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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, 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(\"172.16.0.0/24\"),\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 ccn\n\t\texampleInstance, err := Ccn.NewInstance(ctx, \"exampleInstance\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create ccn route table\n\t\texampleRouteTable, err := Ccn.NewRouteTable(ctx, \"exampleRouteTable\", \u0026Ccn.RouteTableArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attachment instance\n\t\t_, err = Ccn.NewAttachment(ctx, \"attachment\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create route table input policy\n\t\t_, err = Ccn.NewRouteTableInputPolicies(ctx, \"exampleRouteTableInputPolicies\", \u0026Ccn.RouteTableInputPoliciesArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t\tPolicies: ccn.RouteTableInputPoliciesPolicyArray{\n\t\t\t\t\u0026ccn.RouteTableInputPoliciesPolicyArgs{\n\t\t\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\t\t\tRouteConditions: ccn.RouteTableInputPoliciesPolicyRouteConditionArray{\n\t\t\t\t\t\t\u0026ccn.RouteTableInputPoliciesPolicyRouteConditionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"instance-region\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(region),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMatchPattern: pulumi.Int(1),\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.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTable;\nimport com.pulumi.tencentcloud.Ccn.RouteTableArgs;\nimport com.pulumi.tencentcloud.Ccn.Attachment;\nimport com.pulumi.tencentcloud.Ccn.AttachmentArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTableInputPolicies;\nimport com.pulumi.tencentcloud.Ccn.RouteTableInputPoliciesArgs;\nimport com.pulumi.tencentcloud.Ccn.inputs.RouteTableInputPoliciesPolicyArgs;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create ccn\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .description(\"desc.\")\n .qos(\"AG\")\n .chargeType(\"PREPAID\")\n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // create ccn route table\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder() \n .ccnId(exampleInstance.id())\n .description(\"desc.\")\n .build());\n\n // attachment instance\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .ccnId(exampleInstance.id())\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .instanceRegion(region)\n .routeTableId(exampleRouteTable.id())\n .build());\n\n // create route table input policy\n var exampleRouteTableInputPolicies = new RouteTableInputPolicies(\"exampleRouteTableInputPolicies\", RouteTableInputPoliciesArgs.builder() \n .ccnId(exampleInstance.id())\n .routeTableId(exampleRouteTable.id())\n .policies(RouteTableInputPoliciesPolicyArgs.builder()\n .action(\"accept\")\n .description(\"desc.\")\n .routeConditions(RouteTableInputPoliciesPolicyRouteConditionArgs.builder()\n .name(\"instance-region\")\n .values(region)\n .matchPattern(1)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create ccn\n exampleInstance:\n type: tencentcloud:Ccn:Instance\n properties:\n description: desc.\n qos: AG\n chargeType: PREPAID\n bandwidthLimitType: INTER_REGION_LIMIT\n tags:\n createBy: terraform\n # create ccn route table\n exampleRouteTable:\n type: tencentcloud:Ccn:RouteTable\n properties:\n ccnId: ${exampleInstance.id}\n description: desc.\n # attachment instance\n attachment:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${exampleInstance.id}\n instanceId: ${vpc.id}\n instanceType: VPC\n instanceRegion: ${region}\n routeTableId: ${exampleRouteTable.id}\n # create route table input policy\n exampleRouteTableInputPolicies:\n type: tencentcloud:Ccn:RouteTableInputPolicies\n properties:\n ccnId: ${exampleInstance.id}\n routeTableId: ${exampleRouteTable.id}\n policies:\n - action: accept\n description: desc.\n routeConditions:\n - name: instance-region\n values:\n - ${region}\n matchPattern: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCcn instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3\n```\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n" + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableInputPoliciesPolicy:RouteTableInputPoliciesPolicy" + }, + "description": "Routing reception strategy.\n" + }, + "routeTableId": { + "type": "string", + "description": "CCN Route table ID.\n" + } + }, + "required": [ + "ccnId", + "routeTableId" + ], + "inputProperties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableInputPoliciesPolicy:RouteTableInputPoliciesPolicy" + }, + "description": "Routing reception strategy.\n" + }, + "routeTableId": { + "type": "string", + "description": "CCN Route table ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "ccnId", + "routeTableId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RouteTableInputPolicies resources.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "policies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableInputPoliciesPolicy:RouteTableInputPoliciesPolicy" + }, + "description": "Routing reception strategy.\n" + }, + "routeTableId": { + "type": "string", + "description": "CCN Route table ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies": { + "description": "Provides a resource to create a CCN Route table selection policies.\n\n\u003e **NOTE:** Use this resource to manage all selection policies under the routing table of CCN instances.\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 region = config.get(\"region\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create ccn\nconst exampleInstance = new tencentcloud.ccn.Instance(\"exampleInstance\", {\n description: \"desc.\",\n qos: \"AG\",\n chargeType: \"PREPAID\",\n bandwidthLimitType: \"INTER_REGION_LIMIT\",\n tags: {\n createBy: \"terraform\",\n },\n});\n// create ccn route table\nconst exampleRouteTable = new tencentcloud.ccn.RouteTable(\"exampleRouteTable\", {\n ccnId: exampleInstance.id,\n description: \"desc.\",\n});\n// attachment instance\nconst attachment = new tencentcloud.ccn.Attachment(\"attachment\", {\n ccnId: exampleInstance.id,\n instanceId: vpc.id,\n instanceType: \"VPC\",\n instanceRegion: region,\n routeTableId: exampleRouteTable.id,\n});\n// create route table selection policy\nconst exampleRouteTableSelectionPolicies = new tencentcloud.ccn.RouteTableSelectionPolicies(\"exampleRouteTableSelectionPolicies\", {\n ccnId: exampleInstance.id,\n selectionPolicies: [{\n instanceType: \"VPC\",\n instanceId: vpc.id,\n sourceCidrBlock: \"192.168.100.0/24\",\n routeTableId: exampleRouteTable.id,\n description: \"desc.\",\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nregion = config.get(\"region\")\nif region is None:\n region = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create ccn\nexample_instance = tencentcloud.ccn.Instance(\"exampleInstance\",\n description=\"desc.\",\n qos=\"AG\",\n charge_type=\"PREPAID\",\n bandwidth_limit_type=\"INTER_REGION_LIMIT\",\n tags={\n \"createBy\": \"terraform\",\n })\n# create ccn route table\nexample_route_table = tencentcloud.ccn.RouteTable(\"exampleRouteTable\",\n ccn_id=example_instance.id,\n description=\"desc.\")\n# attachment instance\nattachment = tencentcloud.ccn.Attachment(\"attachment\",\n ccn_id=example_instance.id,\n instance_id=vpc.id,\n instance_type=\"VPC\",\n instance_region=region,\n route_table_id=example_route_table.id)\n# create route table selection policy\nexample_route_table_selection_policies = tencentcloud.ccn.RouteTableSelectionPolicies(\"exampleRouteTableSelectionPolicies\",\n ccn_id=example_instance.id,\n selection_policies=[tencentcloud.ccn.RouteTableSelectionPoliciesSelectionPolicyArgs(\n instance_type=\"VPC\",\n instance_id=vpc.id,\n source_cidr_block=\"192.168.100.0/24\",\n route_table_id=example_route_table.id,\n description=\"desc.\",\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 region = config.Get(\"region\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create ccn\n var exampleInstance = new Tencentcloud.Ccn.Instance(\"exampleInstance\", new()\n {\n Description = \"desc.\",\n Qos = \"AG\",\n ChargeType = \"PREPAID\",\n BandwidthLimitType = \"INTER_REGION_LIMIT\",\n Tags = \n {\n { \"createBy\", \"terraform\" },\n },\n });\n\n // create ccn route table\n var exampleRouteTable = new Tencentcloud.Ccn.RouteTable(\"exampleRouteTable\", new()\n {\n CcnId = exampleInstance.Id,\n Description = \"desc.\",\n });\n\n // attachment instance\n var attachment = new Tencentcloud.Ccn.Attachment(\"attachment\", new()\n {\n CcnId = exampleInstance.Id,\n InstanceId = vpc.Id,\n InstanceType = \"VPC\",\n InstanceRegion = region,\n RouteTableId = exampleRouteTable.Id,\n });\n\n // create route table selection policy\n var exampleRouteTableSelectionPolicies = new Tencentcloud.Ccn.RouteTableSelectionPolicies(\"exampleRouteTableSelectionPolicies\", new()\n {\n CcnId = exampleInstance.Id,\n SelectionPolicies = new[]\n {\n new Tencentcloud.Ccn.Inputs.RouteTableSelectionPoliciesSelectionPolicyArgs\n {\n InstanceType = \"VPC\",\n InstanceId = vpc.Id,\n SourceCidrBlock = \"192.168.100.0/24\",\n RouteTableId = exampleRouteTable.Id,\n Description = \"desc.\",\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/Ccn\"\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\tregion := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"region\"); param != \"\" {\n\t\t\tregion = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, 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(\"172.16.0.0/24\"),\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 ccn\n\t\texampleInstance, err := Ccn.NewInstance(ctx, \"exampleInstance\", \u0026Ccn.InstanceArgs{\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tQos: pulumi.String(\"AG\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tBandwidthLimitType: pulumi.String(\"INTER_REGION_LIMIT\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create ccn route table\n\t\texampleRouteTable, err := Ccn.NewRouteTable(ctx, \"exampleRouteTable\", \u0026Ccn.RouteTableArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attachment instance\n\t\t_, err = Ccn.NewAttachment(ctx, \"attachment\", \u0026Ccn.AttachmentArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tInstanceId: vpc.ID(),\n\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\tInstanceRegion: pulumi.String(region),\n\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create route table selection policy\n\t\t_, err = Ccn.NewRouteTableSelectionPolicies(ctx, \"exampleRouteTableSelectionPolicies\", \u0026Ccn.RouteTableSelectionPoliciesArgs{\n\t\t\tCcnId: exampleInstance.ID(),\n\t\t\tSelectionPolicies: ccn.RouteTableSelectionPoliciesSelectionPolicyArray{\n\t\t\t\t\u0026ccn.RouteTableSelectionPoliciesSelectionPolicyArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"VPC\"),\n\t\t\t\t\tInstanceId: vpc.ID(),\n\t\t\t\t\tSourceCidrBlock: pulumi.String(\"192.168.100.0/24\"),\n\t\t\t\t\tRouteTableId: exampleRouteTable.ID(),\n\t\t\t\t\tDescription: pulumi.String(\"desc.\"),\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.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.Instance;\nimport com.pulumi.tencentcloud.Ccn.InstanceArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTable;\nimport com.pulumi.tencentcloud.Ccn.RouteTableArgs;\nimport com.pulumi.tencentcloud.Ccn.Attachment;\nimport com.pulumi.tencentcloud.Ccn.AttachmentArgs;\nimport com.pulumi.tencentcloud.Ccn.RouteTableSelectionPolicies;\nimport com.pulumi.tencentcloud.Ccn.RouteTableSelectionPoliciesArgs;\nimport com.pulumi.tencentcloud.Ccn.inputs.RouteTableSelectionPoliciesSelectionPolicyArgs;\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 region = config.get(\"region\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create ccn\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .description(\"desc.\")\n .qos(\"AG\")\n .chargeType(\"PREPAID\")\n .bandwidthLimitType(\"INTER_REGION_LIMIT\")\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n // create ccn route table\n var exampleRouteTable = new RouteTable(\"exampleRouteTable\", RouteTableArgs.builder() \n .ccnId(exampleInstance.id())\n .description(\"desc.\")\n .build());\n\n // attachment instance\n var attachment = new Attachment(\"attachment\", AttachmentArgs.builder() \n .ccnId(exampleInstance.id())\n .instanceId(vpc.id())\n .instanceType(\"VPC\")\n .instanceRegion(region)\n .routeTableId(exampleRouteTable.id())\n .build());\n\n // create route table selection policy\n var exampleRouteTableSelectionPolicies = new RouteTableSelectionPolicies(\"exampleRouteTableSelectionPolicies\", RouteTableSelectionPoliciesArgs.builder() \n .ccnId(exampleInstance.id())\n .selectionPolicies(RouteTableSelectionPoliciesSelectionPolicyArgs.builder()\n .instanceType(\"VPC\")\n .instanceId(vpc.id())\n .sourceCidrBlock(\"192.168.100.0/24\")\n .routeTableId(exampleRouteTable.id())\n .description(\"desc.\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create ccn\n exampleInstance:\n type: tencentcloud:Ccn:Instance\n properties:\n description: desc.\n qos: AG\n chargeType: PREPAID\n bandwidthLimitType: INTER_REGION_LIMIT\n tags:\n createBy: terraform\n # create ccn route table\n exampleRouteTable:\n type: tencentcloud:Ccn:RouteTable\n properties:\n ccnId: ${exampleInstance.id}\n description: desc.\n # attachment instance\n attachment:\n type: tencentcloud:Ccn:Attachment\n properties:\n ccnId: ${exampleInstance.id}\n instanceId: ${vpc.id}\n instanceType: VPC\n instanceRegion: ${region}\n routeTableId: ${exampleRouteTable.id}\n # create route table selection policy\n exampleRouteTableSelectionPolicies:\n type: tencentcloud:Ccn:RouteTableSelectionPolicies\n properties:\n ccnId: ${exampleInstance.id}\n selectionPolicies:\n - instanceType: VPC\n instanceId: ${vpc.id}\n sourceCidrBlock: 192.168.100.0/24\n routeTableId: ${exampleRouteTable.id}\n description: desc.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCcn instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies example ccn-gr7nynbd\n```\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n" + }, + "selectionPolicies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableSelectionPoliciesSelectionPolicy:RouteTableSelectionPoliciesSelectionPolicy" + }, + "description": "Select strategy information set.\n" + } + }, + "required": [ + "ccnId", + "selectionPolicies" + ], + "inputProperties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "selectionPolicies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableSelectionPoliciesSelectionPolicy:RouteTableSelectionPoliciesSelectionPolicy" + }, + "description": "Select strategy information set.\n" + } + }, + "requiredInputs": [ + "ccnId", + "selectionPolicies" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RouteTableSelectionPolicies resources.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "CCN Instance ID.\n", + "willReplaceOnChanges": true + }, + "selectionPolicies": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/RouteTableSelectionPoliciesSelectionPolicy:RouteTableSelectionPoliciesSelectionPolicy" + }, + "description": "Select strategy information set.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Ccn/routes:Routes": { - "description": "Provides a resource to create a vpc ccn_routes\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 ccnRoutes = new tencentcloud.ccn.Routes(\"ccnRoutes\", {\n ccnId: \"ccn-39lqkygf\",\n routeId: \"ccnr-3o0dfyuw\",\n \"switch\": \"on\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nccn_routes = tencentcloud.ccn.Routes(\"ccnRoutes\",\n ccn_id=\"ccn-39lqkygf\",\n route_id=\"ccnr-3o0dfyuw\",\n switch=\"on\")\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 ccnRoutes = new Tencentcloud.Ccn.Routes(\"ccnRoutes\", new()\n {\n CcnId = \"ccn-39lqkygf\",\n RouteId = \"ccnr-3o0dfyuw\",\n Switch = \"on\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewRoutes(ctx, \"ccnRoutes\", \u0026Ccn.RoutesArgs{\n\t\t\tCcnId: pulumi.String(\"ccn-39lqkygf\"),\n\t\t\tRouteId: pulumi.String(\"ccnr-3o0dfyuw\"),\n\t\t\tSwitch: pulumi.String(\"on\"),\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.Ccn.Routes;\nimport com.pulumi.tencentcloud.Ccn.RoutesArgs;\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 ccnRoutes = new Routes(\"ccnRoutes\", RoutesArgs.builder() \n .ccnId(\"ccn-39lqkygf\")\n .routeId(\"ccnr-3o0dfyuw\")\n .switch_(\"on\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ccnRoutes:\n type: tencentcloud:Ccn:Routes\n properties:\n ccnId: ccn-39lqkygf\n routeId: ccnr-3o0dfyuw\n switch: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nvpc ccn_routes can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccnId#routesId\n```\n\n", + "description": "Provides a resource to create a vpc ccn_routes switch\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.ccn.Routes(\"example\", {\n ccnId: \"ccn-gr7nynbd\",\n routeId: \"ccnrtb-jpf7bzn3\",\n \"switch\": \"off\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.ccn.Routes(\"example\",\n ccn_id=\"ccn-gr7nynbd\",\n route_id=\"ccnrtb-jpf7bzn3\",\n switch=\"off\")\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.Ccn.Routes(\"example\", new()\n {\n CcnId = \"ccn-gr7nynbd\",\n RouteId = \"ccnrtb-jpf7bzn3\",\n Switch = \"off\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.NewRoutes(ctx, \"example\", \u0026Ccn.RoutesArgs{\n\t\t\tCcnId: pulumi.String(\"ccn-gr7nynbd\"),\n\t\t\tRouteId: pulumi.String(\"ccnrtb-jpf7bzn3\"),\n\t\t\tSwitch: pulumi.String(\"off\"),\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.Ccn.Routes;\nimport com.pulumi.tencentcloud.Ccn.RoutesArgs;\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 Routes(\"example\", RoutesArgs.builder() \n .ccnId(\"ccn-gr7nynbd\")\n .routeId(\"ccnrtb-jpf7bzn3\")\n .switch_(\"off\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Ccn:Routes\n properties:\n ccnId: ccn-gr7nynbd\n routeId: ccnrtb-jpf7bzn3\n switch: off\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nvpc ccn_routes can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccn-gr7nynbd#ccnr-5uhewx1s\n```\n\n", "properties": { "ccnId": { "type": "string", @@ -127458,6 +131217,364 @@ "type": "object" } }, + "tencentcloud:Cdc/dedicatedCluster:DedicatedCluster": { + "description": "Provides a resource to create a CDC dedicated cluster\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\n// create cdc site\nconst exampleSite = new tencentcloud.cdc.Site(\"exampleSite\", {\n country: \"China\",\n province: \"Guangdong Province\",\n city: \"Guangzhou\",\n addressLine: \"Tencent Building\",\n description: \"desc.\",\n});\n// create cdc dedicated cluster\nconst exampleDedicatedCluster = new tencentcloud.cdc.DedicatedCluster(\"exampleDedicatedCluster\", {\n siteId: exampleSite.id,\n zone: \"ap-guangzhou-6\",\n description: \"desc.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\n# create cdc site\nexample_site = tencentcloud.cdc.Site(\"exampleSite\",\n country=\"China\",\n province=\"Guangdong Province\",\n city=\"Guangzhou\",\n address_line=\"Tencent Building\",\n description=\"desc.\")\n# create cdc dedicated cluster\nexample_dedicated_cluster = tencentcloud.cdc.DedicatedCluster(\"exampleDedicatedCluster\",\n site_id=example_site.id,\n zone=\"ap-guangzhou-6\",\n description=\"desc.\")\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 cdc site\n var exampleSite = new Tencentcloud.Cdc.Site(\"exampleSite\", new()\n {\n Country = \"China\",\n Province = \"Guangdong Province\",\n City = \"Guangzhou\",\n AddressLine = \"Tencent Building\",\n Description = \"desc.\",\n });\n\n // create cdc dedicated cluster\n var exampleDedicatedCluster = new Tencentcloud.Cdc.DedicatedCluster(\"exampleDedicatedCluster\", new()\n {\n SiteId = exampleSite.Id,\n Zone = \"ap-guangzhou-6\",\n Description = \"desc.\",\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/Cdc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create cdc site\n\t\texampleSite, err := Cdc.NewSite(ctx, \"exampleSite\", \u0026Cdc.SiteArgs{\n\t\t\tCountry: pulumi.String(\"China\"),\n\t\t\tProvince: pulumi.String(\"Guangdong Province\"),\n\t\t\tCity: pulumi.String(\"Guangzhou\"),\n\t\t\tAddressLine: pulumi.String(\"Tencent Building\"),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create cdc dedicated cluster\n\t\t_, err = Cdc.NewDedicatedCluster(ctx, \"exampleDedicatedCluster\", \u0026Cdc.DedicatedClusterArgs{\n\t\t\tSiteId: exampleSite.ID(),\n\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\tDescription: pulumi.String(\"desc.\"),\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.Cdc.Site;\nimport com.pulumi.tencentcloud.Cdc.SiteArgs;\nimport com.pulumi.tencentcloud.Cdc.DedicatedCluster;\nimport com.pulumi.tencentcloud.Cdc.DedicatedClusterArgs;\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 cdc site\n var exampleSite = new Site(\"exampleSite\", SiteArgs.builder() \n .country(\"China\")\n .province(\"Guangdong Province\")\n .city(\"Guangzhou\")\n .addressLine(\"Tencent Building\")\n .description(\"desc.\")\n .build());\n\n // create cdc dedicated cluster\n var exampleDedicatedCluster = new DedicatedCluster(\"exampleDedicatedCluster\", DedicatedClusterArgs.builder() \n .siteId(exampleSite.id())\n .zone(\"ap-guangzhou-6\")\n .description(\"desc.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # create cdc site\n exampleSite:\n type: tencentcloud:Cdc:Site\n properties:\n country: China\n province: Guangdong Province\n city: Guangzhou\n addressLine: Tencent Building\n description: desc.\n # create cdc dedicated cluster\n exampleDedicatedCluster:\n type: tencentcloud:Cdc:DedicatedCluster\n properties:\n siteId: ${exampleSite.id}\n zone: ap-guangzhou-6\n description: desc.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDC dedicated cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cdc/dedicatedCluster:DedicatedCluster example cluster-d574omhk\n```\n\n", + "properties": { + "description": { + "type": "string", + "description": "Dedicated Cluster Description.\n" + }, + "name": { + "type": "string", + "description": "Dedicated Cluster Name.\n" + }, + "siteId": { + "type": "string", + "description": "Dedicated Cluster Site ID.\n" + }, + "zone": { + "type": "string", + "description": "Dedicated Cluster Zone.\n" + } + }, + "required": [ + "name", + "siteId", + "zone" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Dedicated Cluster Description.\n" + }, + "name": { + "type": "string", + "description": "Dedicated Cluster Name.\n" + }, + "siteId": { + "type": "string", + "description": "Dedicated Cluster Site ID.\n" + }, + "zone": { + "type": "string", + "description": "Dedicated Cluster Zone.\n" + } + }, + "requiredInputs": [ + "siteId", + "zone" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DedicatedCluster resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Dedicated Cluster Description.\n" + }, + "name": { + "type": "string", + "description": "Dedicated Cluster Name.\n" + }, + "siteId": { + "type": "string", + "description": "Dedicated Cluster Site ID.\n" + }, + "zone": { + "type": "string", + "description": "Dedicated Cluster Zone.\n" + } + }, + "type": "object" + } + }, + "tencentcloud:Cdc/site:Site": { + "description": "Provides a resource to create a CDC site\n\n## Example Usage\n\n### Create a basic CDC site\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.cdc.Site(\"example\", {\n addressLine: \"Tencent Building\",\n city: \"Guangzhou\",\n country: \"China\",\n description: \"desc.\",\n province: \"Guangdong Province\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cdc.Site(\"example\",\n address_line=\"Tencent Building\",\n city=\"Guangzhou\",\n country=\"China\",\n description=\"desc.\",\n province=\"Guangdong Province\")\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.Cdc.Site(\"example\", new()\n {\n AddressLine = \"Tencent Building\",\n City = \"Guangzhou\",\n Country = \"China\",\n Description = \"desc.\",\n Province = \"Guangdong Province\",\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/Cdc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdc.NewSite(ctx, \"example\", \u0026Cdc.SiteArgs{\n\t\t\tAddressLine: pulumi.String(\"Tencent Building\"),\n\t\t\tCity: pulumi.String(\"Guangzhou\"),\n\t\t\tCountry: pulumi.String(\"China\"),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tProvince: pulumi.String(\"Guangdong Province\"),\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.Cdc.Site;\nimport com.pulumi.tencentcloud.Cdc.SiteArgs;\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 Site(\"example\", SiteArgs.builder() \n .addressLine(\"Tencent Building\")\n .city(\"Guangzhou\")\n .country(\"China\")\n .description(\"desc.\")\n .province(\"Guangdong Province\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Cdc:Site\n properties:\n addressLine: Tencent Building\n city: Guangzhou\n country: China\n description: desc.\n province: Guangdong Province\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a complete CDC site\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.cdc.Site(\"example\", {\n addressLine: \"Shenzhen Tencent Building\",\n breakerRequirement: true,\n city: \"Guangzhou\",\n conditionRequirement: true,\n country: \"China\",\n description: \"desc.\",\n dimensionRequirement: true,\n fiberType: \"MM\",\n maxWeight: 100,\n needHelp: true,\n opticalStandard: \"MM\",\n optionalAddressLine: \"Shenzhen Tencent Building of Binhai\",\n powerConnectors: \"380VAC3P\",\n powerDrawKva: 10,\n powerFeedDrop: \"DOWN\",\n province: \"Guangdong Province\",\n redundantNetworking: true,\n redundantPower: true,\n uplinkCount: 2,\n uplinkSpeedGbps: 10,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cdc.Site(\"example\",\n address_line=\"Shenzhen Tencent Building\",\n breaker_requirement=True,\n city=\"Guangzhou\",\n condition_requirement=True,\n country=\"China\",\n description=\"desc.\",\n dimension_requirement=True,\n fiber_type=\"MM\",\n max_weight=100,\n need_help=True,\n optical_standard=\"MM\",\n optional_address_line=\"Shenzhen Tencent Building of Binhai\",\n power_connectors=\"380VAC3P\",\n power_draw_kva=10,\n power_feed_drop=\"DOWN\",\n province=\"Guangdong Province\",\n redundant_networking=True,\n redundant_power=True,\n uplink_count=2,\n uplink_speed_gbps=10)\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.Cdc.Site(\"example\", new()\n {\n AddressLine = \"Shenzhen Tencent Building\",\n BreakerRequirement = true,\n City = \"Guangzhou\",\n ConditionRequirement = true,\n Country = \"China\",\n Description = \"desc.\",\n DimensionRequirement = true,\n FiberType = \"MM\",\n MaxWeight = 100,\n NeedHelp = true,\n OpticalStandard = \"MM\",\n OptionalAddressLine = \"Shenzhen Tencent Building of Binhai\",\n PowerConnectors = \"380VAC3P\",\n PowerDrawKva = 10,\n PowerFeedDrop = \"DOWN\",\n Province = \"Guangdong Province\",\n RedundantNetworking = true,\n RedundantPower = true,\n UplinkCount = 2,\n UplinkSpeedGbps = 10,\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/Cdc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdc.NewSite(ctx, \"example\", \u0026Cdc.SiteArgs{\n\t\t\tAddressLine: pulumi.String(\"Shenzhen Tencent Building\"),\n\t\t\tBreakerRequirement: pulumi.Bool(true),\n\t\t\tCity: pulumi.String(\"Guangzhou\"),\n\t\t\tConditionRequirement: pulumi.Bool(true),\n\t\t\tCountry: pulumi.String(\"China\"),\n\t\t\tDescription: pulumi.String(\"desc.\"),\n\t\t\tDimensionRequirement: pulumi.Bool(true),\n\t\t\tFiberType: pulumi.String(\"MM\"),\n\t\t\tMaxWeight: pulumi.Int(100),\n\t\t\tNeedHelp: pulumi.Bool(true),\n\t\t\tOpticalStandard: pulumi.String(\"MM\"),\n\t\t\tOptionalAddressLine: pulumi.String(\"Shenzhen Tencent Building of Binhai\"),\n\t\t\tPowerConnectors: pulumi.String(\"380VAC3P\"),\n\t\t\tPowerDrawKva: pulumi.Int(10),\n\t\t\tPowerFeedDrop: pulumi.String(\"DOWN\"),\n\t\t\tProvince: pulumi.String(\"Guangdong Province\"),\n\t\t\tRedundantNetworking: pulumi.Bool(true),\n\t\t\tRedundantPower: pulumi.Bool(true),\n\t\t\tUplinkCount: pulumi.Int(2),\n\t\t\tUplinkSpeedGbps: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Cdc.Site;\nimport com.pulumi.tencentcloud.Cdc.SiteArgs;\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 Site(\"example\", SiteArgs.builder() \n .addressLine(\"Shenzhen Tencent Building\")\n .breakerRequirement(true)\n .city(\"Guangzhou\")\n .conditionRequirement(true)\n .country(\"China\")\n .description(\"desc.\")\n .dimensionRequirement(true)\n .fiberType(\"MM\")\n .maxWeight(100)\n .needHelp(true)\n .opticalStandard(\"MM\")\n .optionalAddressLine(\"Shenzhen Tencent Building of Binhai\")\n .powerConnectors(\"380VAC3P\")\n .powerDrawKva(10)\n .powerFeedDrop(\"DOWN\")\n .province(\"Guangdong Province\")\n .redundantNetworking(true)\n .redundantPower(true)\n .uplinkCount(2)\n .uplinkSpeedGbps(10)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Cdc:Site\n properties:\n addressLine: Shenzhen Tencent Building\n breakerRequirement: true\n city: Guangzhou\n conditionRequirement: true\n country: China\n description: desc.\n dimensionRequirement: true\n fiberType: MM\n maxWeight: 100\n needHelp: true\n opticalStandard: MM\n optionalAddressLine: Shenzhen Tencent Building of Binhai\n powerConnectors: 380VAC3P\n powerDrawKva: 10\n powerFeedDrop: DOWN\n province: Guangdong Province\n redundantNetworking: true\n redundantPower: true\n uplinkCount: 2\n uplinkSpeedGbps: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDC site can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cdc/site:Site example site-43qcf1ag\n```\n\n", + "properties": { + "addressLine": { + "type": "string", + "description": "Site Detail Address.\n" + }, + "breakerRequirement": { + "type": "boolean", + "description": "Whether there is an upstream circuit breaker.\n" + }, + "city": { + "type": "string", + "description": "Site City.\n" + }, + "conditionRequirement": { + "type": "boolean", + "description": "Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC.\n" + }, + "country": { + "type": "string", + "description": "Site Country.\n" + }, + "description": { + "type": "string", + "description": "Site Description.\n" + }, + "dimensionRequirement": { + "type": "boolean", + "description": "Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed.\n" + }, + "fiberType": { + "type": "string", + "description": "Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available.\n" + }, + "maxWeight": { + "type": "integer", + "description": "Site Max Weight capacity (KG).\n" + }, + "name": { + "type": "string", + "description": "Site Name.\n" + }, + "needHelp": { + "type": "boolean", + "description": "Whether you need help from Tencent Cloud for rack installation.\n" + }, + "opticalStandard": { + "type": "string", + "description": "Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`.\n" + }, + "optionalAddressLine": { + "type": "string", + "description": "Detailed address of the site area (to be added).\n" + }, + "powerConnectors": { + "type": "string", + "description": "Site Power Connectors. Example: 380VAC3P.\n" + }, + "powerDrawKva": { + "type": "integer", + "description": "Site Power DrawKva (KW).\n" + }, + "powerFeedDrop": { + "type": "string", + "description": "Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`.\n" + }, + "province": { + "type": "string", + "description": "Site Province.\n" + }, + "redundantNetworking": { + "type": "boolean", + "description": "Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network.\n" + }, + "redundantPower": { + "type": "boolean", + "description": "Whether there is power redundancy.\n" + }, + "uplinkCount": { + "type": "integer", + "description": "Number of uplinks used by each CDC device (2 devices per rack) when connected to the network.\n" + }, + "uplinkSpeedGbps": { + "type": "integer", + "description": "Uplink speed from the network to Tencent Cloud Region.\n" + } + }, + "required": [ + "addressLine", + "breakerRequirement", + "city", + "conditionRequirement", + "country", + "dimensionRequirement", + "maxWeight", + "name", + "needHelp", + "powerDrawKva", + "province", + "redundantNetworking", + "redundantPower", + "uplinkCount", + "uplinkSpeedGbps" + ], + "inputProperties": { + "addressLine": { + "type": "string", + "description": "Site Detail Address.\n" + }, + "breakerRequirement": { + "type": "boolean", + "description": "Whether there is an upstream circuit breaker.\n" + }, + "city": { + "type": "string", + "description": "Site City.\n" + }, + "conditionRequirement": { + "type": "boolean", + "description": "Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC.\n" + }, + "country": { + "type": "string", + "description": "Site Country.\n" + }, + "description": { + "type": "string", + "description": "Site Description.\n" + }, + "dimensionRequirement": { + "type": "boolean", + "description": "Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed.\n" + }, + "fiberType": { + "type": "string", + "description": "Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available.\n" + }, + "maxWeight": { + "type": "integer", + "description": "Site Max Weight capacity (KG).\n" + }, + "name": { + "type": "string", + "description": "Site Name.\n" + }, + "needHelp": { + "type": "boolean", + "description": "Whether you need help from Tencent Cloud for rack installation.\n" + }, + "opticalStandard": { + "type": "string", + "description": "Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`.\n" + }, + "optionalAddressLine": { + "type": "string", + "description": "Detailed address of the site area (to be added).\n" + }, + "powerConnectors": { + "type": "string", + "description": "Site Power Connectors. Example: 380VAC3P.\n" + }, + "powerDrawKva": { + "type": "integer", + "description": "Site Power DrawKva (KW).\n" + }, + "powerFeedDrop": { + "type": "string", + "description": "Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`.\n" + }, + "province": { + "type": "string", + "description": "Site Province.\n" + }, + "redundantNetworking": { + "type": "boolean", + "description": "Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network.\n" + }, + "redundantPower": { + "type": "boolean", + "description": "Whether there is power redundancy.\n" + }, + "uplinkCount": { + "type": "integer", + "description": "Number of uplinks used by each CDC device (2 devices per rack) when connected to the network.\n" + }, + "uplinkSpeedGbps": { + "type": "integer", + "description": "Uplink speed from the network to Tencent Cloud Region.\n" + } + }, + "requiredInputs": [ + "addressLine", + "city", + "country", + "province" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Site resources.\n", + "properties": { + "addressLine": { + "type": "string", + "description": "Site Detail Address.\n" + }, + "breakerRequirement": { + "type": "boolean", + "description": "Whether there is an upstream circuit breaker.\n" + }, + "city": { + "type": "string", + "description": "Site City.\n" + }, + "conditionRequirement": { + "type": "boolean", + "description": "Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC.\n" + }, + "country": { + "type": "string", + "description": "Site Country.\n" + }, + "description": { + "type": "string", + "description": "Site Description.\n" + }, + "dimensionRequirement": { + "type": "boolean", + "description": "Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed.\n" + }, + "fiberType": { + "type": "string", + "description": "Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available.\n" + }, + "maxWeight": { + "type": "integer", + "description": "Site Max Weight capacity (KG).\n" + }, + "name": { + "type": "string", + "description": "Site Name.\n" + }, + "needHelp": { + "type": "boolean", + "description": "Whether you need help from Tencent Cloud for rack installation.\n" + }, + "opticalStandard": { + "type": "string", + "description": "Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`.\n" + }, + "optionalAddressLine": { + "type": "string", + "description": "Detailed address of the site area (to be added).\n" + }, + "powerConnectors": { + "type": "string", + "description": "Site Power Connectors. Example: 380VAC3P.\n" + }, + "powerDrawKva": { + "type": "integer", + "description": "Site Power DrawKva (KW).\n" + }, + "powerFeedDrop": { + "type": "string", + "description": "Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`.\n" + }, + "province": { + "type": "string", + "description": "Site Province.\n" + }, + "redundantNetworking": { + "type": "boolean", + "description": "Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network.\n" + }, + "redundantPower": { + "type": "boolean", + "description": "Whether there is power redundancy.\n" + }, + "uplinkCount": { + "type": "integer", + "description": "Number of uplinks used by each CDC device (2 devices per rack) when connected to the network.\n" + }, + "uplinkSpeedGbps": { + "type": "integer", + "description": "Uplink speed from the network to Tencent Cloud Region.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Cdh/instance:Instance": { "description": "Provides a resource to manage CDH 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\";\nconst foo = new tencentcloud.cdh.Instance(\"foo\", {\n availabilityZone: availabilityZone,\n hostType: \"HC20\",\n chargeType: \"PREPAID\",\n prepaidPeriod: 1,\n hostName: \"test\",\n prepaidRenewFlag: \"NOTIFY_AND_MANUAL_RENEW\",\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\"\nfoo = tencentcloud.cdh.Instance(\"foo\",\n availability_zone=availability_zone,\n host_type=\"HC20\",\n charge_type=\"PREPAID\",\n prepaid_period=1,\n host_name=\"test\",\n prepaid_renew_flag=\"NOTIFY_AND_MANUAL_RENEW\")\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 foo = new Tencentcloud.Cdh.Instance(\"foo\", new()\n {\n AvailabilityZone = availabilityZone,\n HostType = \"HC20\",\n ChargeType = \"PREPAID\",\n PrepaidPeriod = 1,\n HostName = \"test\",\n PrepaidRenewFlag = \"NOTIFY_AND_MANUAL_RENEW\",\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/Cdh\"\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_, err := Cdh.NewInstance(ctx, \"foo\", \u0026Cdh.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tHostType: pulumi.String(\"HC20\"),\n\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tPrepaidPeriod: pulumi.Int(1),\n\t\t\tHostName: pulumi.String(\"test\"),\n\t\t\tPrepaidRenewFlag: pulumi.String(\"NOTIFY_AND_MANUAL_RENEW\"),\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.Cdh.Instance;\nimport com.pulumi.tencentcloud.Cdh.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 var foo = new Instance(\"foo\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .hostType(\"HC20\")\n .chargeType(\"PREPAID\")\n .prepaidPeriod(1)\n .hostName(\"test\")\n .prepaidRenewFlag(\"NOTIFY_AND_MANUAL_RENEW\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\nresources:\n foo:\n type: tencentcloud:Cdh:Instance\n properties:\n availabilityZone: ${availabilityZone}\n hostType: HC20\n chargeType: PREPAID\n prepaidPeriod: 1\n hostName: test\n prepaidRenewFlag: NOTIFY_AND_MANUAL_RENEW\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDH instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cdh/instance:Instance foo host-d6s7i5q4\n```\n", "properties": { @@ -127741,6 +131858,10 @@ "$ref": "#/types/tencentcloud:Cdn/DomainOssPrivateAccess:DomainOssPrivateAccess", "description": "Access authentication for OSS origin.\n" }, + "othersPrivateAccess": { + "$ref": "#/types/tencentcloud:Cdn/DomainOthersPrivateAccess:DomainOthersPrivateAccess", + "description": "Object storage back-to-source authentication of other vendors.\n" + }, "postMaxSizes": { "type": "array", "items": { @@ -127935,6 +132056,10 @@ "$ref": "#/types/tencentcloud:Cdn/DomainOssPrivateAccess:DomainOssPrivateAccess", "description": "Access authentication for OSS origin.\n" }, + "othersPrivateAccess": { + "$ref": "#/types/tencentcloud:Cdn/DomainOthersPrivateAccess:DomainOthersPrivateAccess", + "description": "Object storage back-to-source authentication of other vendors.\n" + }, "postMaxSizes": { "type": "array", "items": { @@ -128137,6 +132262,10 @@ "$ref": "#/types/tencentcloud:Cdn/DomainOssPrivateAccess:DomainOssPrivateAccess", "description": "Access authentication for OSS origin.\n" }, + "othersPrivateAccess": { + "$ref": "#/types/tencentcloud:Cdn/DomainOthersPrivateAccess:DomainOthersPrivateAccess", + "description": "Object storage back-to-source authentication of other vendors.\n" + }, "postMaxSizes": { "type": "array", "items": { @@ -128451,54 +132580,378 @@ "type": "object" } }, - "tencentcloud:Cdwpg/instance:Instance": { - "description": "Provides a resource to create a cdwpg 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 instance = new tencentcloud.cdwpg.Instance(\"instance\", {\n adminPassword: \"xxxxxx\",\n chargeProperties: {\n chargeType: \"POSTPAID_BY_HOUR\",\n renewFlag: 0,\n timeSpan: 1,\n timeUnit: \"h\",\n },\n instanceName: \"test_cdwpg\",\n resources: [\n {\n count: 2,\n diskSpec: {\n diskCount: 1,\n diskSize: 200,\n diskType: \"CLOUD_HSSD\",\n },\n specName: \"S_4_16_H_CN\",\n type: \"cn\",\n },\n {\n count: 2,\n diskSpec: {\n diskCount: 10,\n diskSize: 20,\n diskType: \"CLOUD_HSSD\",\n },\n specName: \"S_4_16_H_CN\",\n type: \"dn\",\n },\n ],\n tags: {\n tagKey: \"tagValue\",\n },\n userSubnetId: \"subnet-xxxxxx\",\n userVpcId: \"vpc-xxxxxx\",\n zone: \"ap-guangzhou-6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninstance = tencentcloud.cdwpg.Instance(\"instance\",\n admin_password=\"xxxxxx\",\n charge_properties=tencentcloud.cdwpg.InstanceChargePropertiesArgs(\n charge_type=\"POSTPAID_BY_HOUR\",\n renew_flag=0,\n time_span=1,\n time_unit=\"h\",\n ),\n instance_name=\"test_cdwpg\",\n resources=[\n tencentcloud.cdwpg.InstanceResourceArgs(\n count=2,\n disk_spec=tencentcloud.cdwpg.InstanceResourceDiskSpecArgs(\n disk_count=1,\n disk_size=200,\n disk_type=\"CLOUD_HSSD\",\n ),\n spec_name=\"S_4_16_H_CN\",\n type=\"cn\",\n ),\n tencentcloud.cdwpg.InstanceResourceArgs(\n count=2,\n disk_spec=tencentcloud.cdwpg.InstanceResourceDiskSpecArgs(\n disk_count=10,\n disk_size=20,\n disk_type=\"CLOUD_HSSD\",\n ),\n spec_name=\"S_4_16_H_CN\",\n type=\"dn\",\n ),\n ],\n tags={\n \"tagKey\": \"tagValue\",\n },\n user_subnet_id=\"subnet-xxxxxx\",\n user_vpc_id=\"vpc-xxxxxx\",\n zone=\"ap-guangzhou-6\")\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 instance = new Tencentcloud.Cdwpg.Instance(\"instance\", new()\n {\n AdminPassword = \"xxxxxx\",\n ChargeProperties = new Tencentcloud.Cdwpg.Inputs.InstanceChargePropertiesArgs\n {\n ChargeType = \"POSTPAID_BY_HOUR\",\n RenewFlag = 0,\n TimeSpan = 1,\n TimeUnit = \"h\",\n },\n InstanceName = \"test_cdwpg\",\n Resources = new[]\n {\n new Tencentcloud.Cdwpg.Inputs.InstanceResourceArgs\n {\n Count = 2,\n DiskSpec = new Tencentcloud.Cdwpg.Inputs.InstanceResourceDiskSpecArgs\n {\n DiskCount = 1,\n DiskSize = 200,\n DiskType = \"CLOUD_HSSD\",\n },\n SpecName = \"S_4_16_H_CN\",\n Type = \"cn\",\n },\n new Tencentcloud.Cdwpg.Inputs.InstanceResourceArgs\n {\n Count = 2,\n DiskSpec = new Tencentcloud.Cdwpg.Inputs.InstanceResourceDiskSpecArgs\n {\n DiskCount = 10,\n DiskSize = 20,\n DiskType = \"CLOUD_HSSD\",\n },\n SpecName = \"S_4_16_H_CN\",\n Type = \"dn\",\n },\n },\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\n },\n UserSubnetId = \"subnet-xxxxxx\",\n UserVpcId = \"vpc-xxxxxx\",\n Zone = \"ap-guangzhou-6\",\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/Cdwpg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdwpg.NewInstance(ctx, \"instance\", \u0026Cdwpg.InstanceArgs{\n\t\t\tAdminPassword: pulumi.String(\"xxxxxx\"),\n\t\t\tChargeProperties: \u0026cdwpg.InstanceChargePropertiesArgs{\n\t\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\t\tRenewFlag: pulumi.Int(0),\n\t\t\t\tTimeSpan: pulumi.Int(1),\n\t\t\t\tTimeUnit: pulumi.String(\"h\"),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"test_cdwpg\"),\n\t\t\tResources: cdwpg.InstanceResourceArray{\n\t\t\t\t\u0026cdwpg.InstanceResourceArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tDiskSpec: \u0026cdwpg.InstanceResourceDiskSpecArgs{\n\t\t\t\t\t\tDiskCount: pulumi.Int(1),\n\t\t\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t\t\t},\n\t\t\t\t\tSpecName: pulumi.String(\"S_4_16_H_CN\"),\n\t\t\t\t\tType: pulumi.String(\"cn\"),\n\t\t\t\t},\n\t\t\t\t\u0026cdwpg.InstanceResourceArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tDiskSpec: \u0026cdwpg.InstanceResourceDiskSpecArgs{\n\t\t\t\t\t\tDiskCount: pulumi.Int(10),\n\t\t\t\t\t\tDiskSize: pulumi.Int(20),\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t\t\t},\n\t\t\t\t\tSpecName: pulumi.String(\"S_4_16_H_CN\"),\n\t\t\t\t\tType: pulumi.String(\"dn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\n\t\t\t},\n\t\t\tUserSubnetId: pulumi.String(\"subnet-xxxxxx\"),\n\t\t\tUserVpcId: pulumi.String(\"vpc-xxxxxx\"),\n\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\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.Cdwpg.Instance;\nimport com.pulumi.tencentcloud.Cdwpg.InstanceArgs;\nimport com.pulumi.tencentcloud.Cdwpg.inputs.InstanceChargePropertiesArgs;\nimport com.pulumi.tencentcloud.Cdwpg.inputs.InstanceResourceArgs;\nimport com.pulumi.tencentcloud.Cdwpg.inputs.InstanceResourceDiskSpecArgs;\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 instance = new Instance(\"instance\", InstanceArgs.builder() \n .adminPassword(\"xxxxxx\")\n .chargeProperties(InstanceChargePropertiesArgs.builder()\n .chargeType(\"POSTPAID_BY_HOUR\")\n .renewFlag(0)\n .timeSpan(1)\n .timeUnit(\"h\")\n .build())\n .instanceName(\"test_cdwpg\")\n .resources( \n InstanceResourceArgs.builder()\n .count(2)\n .diskSpec(InstanceResourceDiskSpecArgs.builder()\n .diskCount(1)\n .diskSize(200)\n .diskType(\"CLOUD_HSSD\")\n .build())\n .specName(\"S_4_16_H_CN\")\n .type(\"cn\")\n .build(),\n InstanceResourceArgs.builder()\n .count(2)\n .diskSpec(InstanceResourceDiskSpecArgs.builder()\n .diskCount(10)\n .diskSize(20)\n .diskType(\"CLOUD_HSSD\")\n .build())\n .specName(\"S_4_16_H_CN\")\n .type(\"dn\")\n .build())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .userSubnetId(\"subnet-xxxxxx\")\n .userVpcId(\"vpc-xxxxxx\")\n .zone(\"ap-guangzhou-6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: tencentcloud:Cdwpg:Instance\n properties:\n adminPassword: xxxxxx\n chargeProperties:\n chargeType: POSTPAID_BY_HOUR\n renewFlag: 0\n timeSpan: 1\n timeUnit: h\n instanceName: test_cdwpg\n resources:\n - count: 2\n diskSpec:\n diskCount: 1\n diskSize: 200\n diskType: CLOUD_HSSD\n specName: S_4_16_H_CN\n type: cn\n - count: 2\n diskSpec:\n diskCount: 10\n diskSize: 20\n diskType: CLOUD_HSSD\n specName: S_4_16_H_CN\n type: dn\n tags:\n tagKey: tagValue\n userSubnetId: subnet-xxxxxx\n userVpcId: vpc-xxxxxx\n zone: ap-guangzhou-6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncdwpg instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cdwpg/instance:Instance instance instance_id\n```\n\n", + "tencentcloud:Cdwdoris/instance:Instance": { + "description": "Provides a resource to create a cdwdoris instance\n\n## Example Usage\n\n### Create a POSTPAID instance\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\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"security group desc.\",\n tags: {\n createBy: \"Terraform\",\n },\n});\n// create POSTPAID instance\nconst exampleInstance = new tencentcloud.cdwdoris.Instance(\"exampleInstance\", {\n zone: availabilityZone,\n userVpcId: vpc.id,\n userSubnetId: subnet.id,\n productVersion: \"2.1\",\n instanceName: \"tf-example\",\n dorisUserPwd: \"Password@test\",\n haFlag: false,\n caseSensitive: 0,\n enableMultiZones: false,\n workloadGroupStatus: \"open\",\n securityGroupIds: [exampleGroup.id],\n chargeProperties: {\n chargeType: \"POSTPAID_BY_HOUR\",\n },\n feSpec: {\n specName: \"S_4_16_P\",\n count: 3,\n diskSize: 200,\n },\n beSpec: {\n specName: \"S_4_16_P\",\n count: 3,\n diskSize: 200,\n },\n tags: [{\n tagKey: \"createBy\",\n tagValue: \"Terraform\",\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\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"security group desc.\",\n tags={\n \"createBy\": \"Terraform\",\n })\n# create POSTPAID instance\nexample_instance = tencentcloud.cdwdoris.Instance(\"exampleInstance\",\n zone=availability_zone,\n user_vpc_id=vpc.id,\n user_subnet_id=subnet.id,\n product_version=\"2.1\",\n instance_name=\"tf-example\",\n doris_user_pwd=\"Password@test\",\n ha_flag=False,\n case_sensitive=0,\n enable_multi_zones=False,\n workload_group_status=\"open\",\n security_group_ids=[example_group.id],\n charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs(\n charge_type=\"POSTPAID_BY_HOUR\",\n ),\n fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs(\n spec_name=\"S_4_16_P\",\n count=3,\n disk_size=200,\n ),\n be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs(\n spec_name=\"S_4_16_P\",\n count=3,\n disk_size=200,\n ),\n tags=[tencentcloud.cdwdoris.InstanceTagArgs(\n tag_key=\"createBy\",\n tag_value=\"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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-6\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"security group desc.\",\n Tags = \n {\n { \"createBy\", \"Terraform\" },\n },\n });\n\n // create POSTPAID instance\n var exampleInstance = new Tencentcloud.Cdwdoris.Instance(\"exampleInstance\", new()\n {\n Zone = availabilityZone,\n UserVpcId = vpc.Id,\n UserSubnetId = subnet.Id,\n ProductVersion = \"2.1\",\n InstanceName = \"tf-example\",\n DorisUserPwd = \"Password@test\",\n HaFlag = false,\n CaseSensitive = 0,\n EnableMultiZones = false,\n WorkloadGroupStatus = \"open\",\n SecurityGroupIds = new[]\n {\n exampleGroup.Id,\n },\n ChargeProperties = new Tencentcloud.Cdwdoris.Inputs.InstanceChargePropertiesArgs\n {\n ChargeType = \"POSTPAID_BY_HOUR\",\n },\n FeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceFeSpecArgs\n {\n SpecName = \"S_4_16_P\",\n Count = 3,\n DiskSize = 200,\n },\n BeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceBeSpecArgs\n {\n SpecName = \"S_4_16_P\",\n Count = 3,\n DiskSize = 200,\n },\n Tags = new[]\n {\n new Tencentcloud.Cdwdoris.Inputs.InstanceTagArgs\n {\n TagKey = \"createBy\",\n TagValue = \"Terraform\",\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/Cdwdoris\"\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\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// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create 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(\"172.16.0.0/24\"),\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"security group desc.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create POSTPAID instance\n\t\t_, err = Cdwdoris.NewInstance(ctx, \"exampleInstance\", \u0026Cdwdoris.InstanceArgs{\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tUserVpcId: vpc.ID(),\n\t\t\tUserSubnetId: subnet.ID(),\n\t\t\tProductVersion: pulumi.String(\"2.1\"),\n\t\t\tInstanceName: pulumi.String(\"tf-example\"),\n\t\t\tDorisUserPwd: pulumi.String(\"Password@test\"),\n\t\t\tHaFlag: pulumi.Bool(false),\n\t\t\tCaseSensitive: pulumi.Int(0),\n\t\t\tEnableMultiZones: pulumi.Bool(false),\n\t\t\tWorkloadGroupStatus: pulumi.String(\"open\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tChargeProperties: \u0026cdwdoris.InstanceChargePropertiesArgs{\n\t\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\t},\n\t\t\tFeSpec: \u0026cdwdoris.InstanceFeSpecArgs{\n\t\t\t\tSpecName: pulumi.String(\"S_4_16_P\"),\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t},\n\t\t\tBeSpec: \u0026cdwdoris.InstanceBeSpecArgs{\n\t\t\t\tSpecName: pulumi.String(\"S_4_16_P\"),\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t},\n\t\t\tTags: cdwdoris.InstanceTagArray{\n\t\t\t\t\u0026cdwdoris.InstanceTagArgs{\n\t\t\t\t\tTagKey: pulumi.String(\"createBy\"),\n\t\t\t\t\tTagValue: pulumi.String(\"Terraform\"),\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.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.Cdwdoris.Instance;\nimport com.pulumi.tencentcloud.Cdwdoris.InstanceArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceChargePropertiesArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceFeSpecArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceBeSpecArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceTagArgs;\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 // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"security group desc.\")\n .tags(Map.of(\"createBy\", \"Terraform\"))\n .build());\n\n // create POSTPAID instance\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .zone(availabilityZone)\n .userVpcId(vpc.id())\n .userSubnetId(subnet.id())\n .productVersion(\"2.1\")\n .instanceName(\"tf-example\")\n .dorisUserPwd(\"Password@test\")\n .haFlag(false)\n .caseSensitive(0)\n .enableMultiZones(false)\n .workloadGroupStatus(\"open\")\n .securityGroupIds(exampleGroup.id())\n .chargeProperties(InstanceChargePropertiesArgs.builder()\n .chargeType(\"POSTPAID_BY_HOUR\")\n .build())\n .feSpec(InstanceFeSpecArgs.builder()\n .specName(\"S_4_16_P\")\n .count(3)\n .diskSize(200)\n .build())\n .beSpec(InstanceBeSpecArgs.builder()\n .specName(\"S_4_16_P\")\n .count(3)\n .diskSize(200)\n .build())\n .tags(InstanceTagArgs.builder()\n .tagKey(\"createBy\")\n .tagValue(\"Terraform\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # availability zone\n availabilityZone:\n type: string\n default: ap-guangzhou-6\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: security group desc.\n tags:\n createBy: Terraform\n # create POSTPAID instance\n exampleInstance:\n type: tencentcloud:Cdwdoris:Instance\n properties:\n zone: ${availabilityZone}\n userVpcId: ${vpc.id}\n userSubnetId: ${subnet.id}\n productVersion: '2.1'\n instanceName: tf-example\n dorisUserPwd: Password@test\n haFlag: false\n caseSensitive: 0\n enableMultiZones: false\n workloadGroupStatus: open\n securityGroupIds:\n - ${exampleGroup.id}\n chargeProperties:\n chargeType: POSTPAID_BY_HOUR\n feSpec:\n specName: S_4_16_P\n count: 3\n diskSize: 200\n beSpec:\n specName: S_4_16_P\n count: 3\n diskSize: 200\n tags:\n - tagKey: createBy\n tagValue: Terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a POSTPAID instance\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\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"security group desc.\",\n tags: {\n createBy: \"Terraform\",\n },\n});\n// create PREPAID instance\nconst exampleInstance = new tencentcloud.cdwdoris.Instance(\"exampleInstance\", {\n zone: availabilityZone,\n userVpcId: vpc.id,\n userSubnetId: subnet.id,\n productVersion: \"2.1\",\n instanceName: \"tf-example\",\n dorisUserPwd: \"Password@test\",\n haFlag: false,\n caseSensitive: 0,\n enableMultiZones: false,\n workloadGroupStatus: \"close\",\n securityGroupIds: [exampleGroup.id],\n chargeProperties: {\n chargeType: \"PREPAID\",\n timeSpan: 1,\n timeUnit: \"m\",\n },\n feSpec: {\n specName: \"S_4_16_P\",\n count: 3,\n diskSize: 200,\n },\n beSpec: {\n specName: \"S_4_16_P\",\n count: 3,\n diskSize: 200,\n },\n tags: [{\n tagKey: \"createBy\",\n tagValue: \"Terraform\",\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\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"security group desc.\",\n tags={\n \"createBy\": \"Terraform\",\n })\n# create PREPAID instance\nexample_instance = tencentcloud.cdwdoris.Instance(\"exampleInstance\",\n zone=availability_zone,\n user_vpc_id=vpc.id,\n user_subnet_id=subnet.id,\n product_version=\"2.1\",\n instance_name=\"tf-example\",\n doris_user_pwd=\"Password@test\",\n ha_flag=False,\n case_sensitive=0,\n enable_multi_zones=False,\n workload_group_status=\"close\",\n security_group_ids=[example_group.id],\n charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs(\n charge_type=\"PREPAID\",\n time_span=1,\n time_unit=\"m\",\n ),\n fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs(\n spec_name=\"S_4_16_P\",\n count=3,\n disk_size=200,\n ),\n be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs(\n spec_name=\"S_4_16_P\",\n count=3,\n disk_size=200,\n ),\n tags=[tencentcloud.cdwdoris.InstanceTagArgs(\n tag_key=\"createBy\",\n tag_value=\"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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-6\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"security group desc.\",\n Tags = \n {\n { \"createBy\", \"Terraform\" },\n },\n });\n\n // create PREPAID instance\n var exampleInstance = new Tencentcloud.Cdwdoris.Instance(\"exampleInstance\", new()\n {\n Zone = availabilityZone,\n UserVpcId = vpc.Id,\n UserSubnetId = subnet.Id,\n ProductVersion = \"2.1\",\n InstanceName = \"tf-example\",\n DorisUserPwd = \"Password@test\",\n HaFlag = false,\n CaseSensitive = 0,\n EnableMultiZones = false,\n WorkloadGroupStatus = \"close\",\n SecurityGroupIds = new[]\n {\n exampleGroup.Id,\n },\n ChargeProperties = new Tencentcloud.Cdwdoris.Inputs.InstanceChargePropertiesArgs\n {\n ChargeType = \"PREPAID\",\n TimeSpan = 1,\n TimeUnit = \"m\",\n },\n FeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceFeSpecArgs\n {\n SpecName = \"S_4_16_P\",\n Count = 3,\n DiskSize = 200,\n },\n BeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceBeSpecArgs\n {\n SpecName = \"S_4_16_P\",\n Count = 3,\n DiskSize = 200,\n },\n Tags = new[]\n {\n new Tencentcloud.Cdwdoris.Inputs.InstanceTagArgs\n {\n TagKey = \"createBy\",\n TagValue = \"Terraform\",\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/Cdwdoris\"\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\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// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create 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(\"172.16.0.0/24\"),\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"security group desc.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create PREPAID instance\n\t\t_, err = Cdwdoris.NewInstance(ctx, \"exampleInstance\", \u0026Cdwdoris.InstanceArgs{\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tUserVpcId: vpc.ID(),\n\t\t\tUserSubnetId: subnet.ID(),\n\t\t\tProductVersion: pulumi.String(\"2.1\"),\n\t\t\tInstanceName: pulumi.String(\"tf-example\"),\n\t\t\tDorisUserPwd: pulumi.String(\"Password@test\"),\n\t\t\tHaFlag: pulumi.Bool(false),\n\t\t\tCaseSensitive: pulumi.Int(0),\n\t\t\tEnableMultiZones: pulumi.Bool(false),\n\t\t\tWorkloadGroupStatus: pulumi.String(\"close\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tChargeProperties: \u0026cdwdoris.InstanceChargePropertiesArgs{\n\t\t\t\tChargeType: pulumi.String(\"PREPAID\"),\n\t\t\t\tTimeSpan: pulumi.Int(1),\n\t\t\t\tTimeUnit: pulumi.String(\"m\"),\n\t\t\t},\n\t\t\tFeSpec: \u0026cdwdoris.InstanceFeSpecArgs{\n\t\t\t\tSpecName: pulumi.String(\"S_4_16_P\"),\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t},\n\t\t\tBeSpec: \u0026cdwdoris.InstanceBeSpecArgs{\n\t\t\t\tSpecName: pulumi.String(\"S_4_16_P\"),\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t},\n\t\t\tTags: cdwdoris.InstanceTagArray{\n\t\t\t\t\u0026cdwdoris.InstanceTagArgs{\n\t\t\t\t\tTagKey: pulumi.String(\"createBy\"),\n\t\t\t\t\tTagValue: pulumi.String(\"Terraform\"),\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.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.Cdwdoris.Instance;\nimport com.pulumi.tencentcloud.Cdwdoris.InstanceArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceChargePropertiesArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceFeSpecArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceBeSpecArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceTagArgs;\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 // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"security group desc.\")\n .tags(Map.of(\"createBy\", \"Terraform\"))\n .build());\n\n // create PREPAID instance\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .zone(availabilityZone)\n .userVpcId(vpc.id())\n .userSubnetId(subnet.id())\n .productVersion(\"2.1\")\n .instanceName(\"tf-example\")\n .dorisUserPwd(\"Password@test\")\n .haFlag(false)\n .caseSensitive(0)\n .enableMultiZones(false)\n .workloadGroupStatus(\"close\")\n .securityGroupIds(exampleGroup.id())\n .chargeProperties(InstanceChargePropertiesArgs.builder()\n .chargeType(\"PREPAID\")\n .timeSpan(1)\n .timeUnit(\"m\")\n .build())\n .feSpec(InstanceFeSpecArgs.builder()\n .specName(\"S_4_16_P\")\n .count(3)\n .diskSize(200)\n .build())\n .beSpec(InstanceBeSpecArgs.builder()\n .specName(\"S_4_16_P\")\n .count(3)\n .diskSize(200)\n .build())\n .tags(InstanceTagArgs.builder()\n .tagKey(\"createBy\")\n .tagValue(\"Terraform\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # availability zone\n availabilityZone:\n type: string\n default: ap-guangzhou-6\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: security group desc.\n tags:\n createBy: Terraform\n # create PREPAID instance\n exampleInstance:\n type: tencentcloud:Cdwdoris:Instance\n properties:\n zone: ${availabilityZone}\n userVpcId: ${vpc.id}\n userSubnetId: ${subnet.id}\n productVersion: '2.1'\n instanceName: tf-example\n dorisUserPwd: Password@test\n haFlag: false\n caseSensitive: 0\n enableMultiZones: false\n workloadGroupStatus: close\n securityGroupIds:\n - ${exampleGroup.id}\n chargeProperties:\n chargeType: PREPAID\n timeSpan: 1\n timeUnit: m\n feSpec:\n specName: S_4_16_P\n count: 3\n diskSize: 200\n beSpec:\n specName: S_4_16_P\n count: 3\n diskSize: 200\n tags:\n - tagKey: createBy\n tagValue: Terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { - "adminPassword": { + "beSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceBeSpec:InstanceBeSpec", + "description": "BE specifications.\n" + }, + "caseSensitive": { + "type": "integer", + "description": "Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.\n" + }, + "chargeProperties": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceChargeProperties:InstanceChargeProperties", + "description": "Payment type.\n" + }, + "dorisUserPwd": { "type": "string", - "description": "cluster password.\n", + "description": "Database password.\n", "secret": true }, - "chargeProperties": { - "$ref": "#/types/tencentcloud:Cdwpg/InstanceChargeProperties:InstanceChargeProperties", - "description": "instance billing mode.\n" + "enableMultiZones": { + "type": "boolean", + "description": "Whether to enable multi-availability zone.\n" + }, + "feSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceFeSpec:InstanceFeSpec", + "description": "FE specifications.\n" + }, + "haFlag": { + "type": "boolean", + "description": "Whether it is highly available.\n" + }, + "haType": { + "type": "integer", + "description": "High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count\u003e=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count\u003e=5, and it must be an odd number).\n" }, "instanceName": { "type": "string", - "description": "instance name.\n" + "description": "Instance name.\n" }, - "resources": { + "productVersion": { + "type": "string", + "description": "Product version number.\n" + }, + "securityGroupIds": { "type": "array", "items": { - "$ref": "#/types/tencentcloud:Cdwpg/InstanceResource:InstanceResource" + "type": "string" }, - "description": "resource information.\n" + "description": "Security Group Id list.\n" }, "tags": { - "type": "object", - "additionalProperties": { - "$ref": "pulumi.json#/Any" + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceTag:InstanceTag" }, - "description": "Tag description list.\n" + "description": "Tag list.\n" + }, + "userMultiZoneInfos": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceUserMultiZoneInfos:InstanceUserMultiZoneInfos", + "description": "After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown.\n" }, "userSubnetId": { "type": "string", - "description": "subnet.\n" + "description": "User subnet ID.\n" }, "userVpcId": { "type": "string", - "description": "private network.\n" + "description": "User VPCID.\n" + }, + "workloadGroupStatus": { + "type": "string", + "description": "Whether to enable resource group. `open` - enable, `close` - disable.\n" }, "zone": { "type": "string", - "description": "Availability Zone.\n" + "description": "Availability zone.\n" } }, "required": [ - "adminPassword", + "beSpec", "chargeProperties", + "dorisUserPwd", + "feSpec", + "haFlag", "instanceName", - "resources", + "productVersion", + "userSubnetId", + "userVpcId", + "workloadGroupStatus", + "zone" + ], + "inputProperties": { + "beSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceBeSpec:InstanceBeSpec", + "description": "BE specifications.\n" + }, + "caseSensitive": { + "type": "integer", + "description": "Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.\n" + }, + "chargeProperties": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceChargeProperties:InstanceChargeProperties", + "description": "Payment type.\n" + }, + "dorisUserPwd": { + "type": "string", + "description": "Database password.\n", + "secret": true + }, + "enableMultiZones": { + "type": "boolean", + "description": "Whether to enable multi-availability zone.\n" + }, + "feSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceFeSpec:InstanceFeSpec", + "description": "FE specifications.\n" + }, + "haFlag": { + "type": "boolean", + "description": "Whether it is highly available.\n" + }, + "haType": { + "type": "integer", + "description": "High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count\u003e=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count\u003e=5, and it must be an odd number).\n" + }, + "instanceName": { + "type": "string", + "description": "Instance name.\n" + }, + "productVersion": { + "type": "string", + "description": "Product version number.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security Group Id list.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceTag:InstanceTag" + }, + "description": "Tag list.\n" + }, + "userMultiZoneInfos": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceUserMultiZoneInfos:InstanceUserMultiZoneInfos", + "description": "After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown.\n" + }, + "userSubnetId": { + "type": "string", + "description": "User subnet ID.\n" + }, + "userVpcId": { + "type": "string", + "description": "User VPCID.\n" + }, + "workloadGroupStatus": { + "type": "string", + "description": "Whether to enable resource group. `open` - enable, `close` - disable.\n" + }, + "zone": { + "type": "string", + "description": "Availability zone.\n" + } + }, + "requiredInputs": [ + "beSpec", + "chargeProperties", + "dorisUserPwd", + "feSpec", + "haFlag", + "instanceName", + "productVersion", + "userSubnetId", + "userVpcId", + "workloadGroupStatus", + "zone" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Instance resources.\n", + "properties": { + "beSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceBeSpec:InstanceBeSpec", + "description": "BE specifications.\n" + }, + "caseSensitive": { + "type": "integer", + "description": "Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.\n" + }, + "chargeProperties": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceChargeProperties:InstanceChargeProperties", + "description": "Payment type.\n" + }, + "dorisUserPwd": { + "type": "string", + "description": "Database password.\n", + "secret": true + }, + "enableMultiZones": { + "type": "boolean", + "description": "Whether to enable multi-availability zone.\n" + }, + "feSpec": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceFeSpec:InstanceFeSpec", + "description": "FE specifications.\n" + }, + "haFlag": { + "type": "boolean", + "description": "Whether it is highly available.\n" + }, + "haType": { + "type": "integer", + "description": "High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count\u003e=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count\u003e=5, and it must be an odd number).\n" + }, + "instanceName": { + "type": "string", + "description": "Instance name.\n" + }, + "productVersion": { + "type": "string", + "description": "Product version number.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security Group Id list.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceTag:InstanceTag" + }, + "description": "Tag list.\n" + }, + "userMultiZoneInfos": { + "$ref": "#/types/tencentcloud:Cdwdoris/InstanceUserMultiZoneInfos:InstanceUserMultiZoneInfos", + "description": "After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown.\n" + }, + "userSubnetId": { + "type": "string", + "description": "User subnet ID.\n" + }, + "userVpcId": { + "type": "string", + "description": "User VPCID.\n" + }, + "workloadGroupStatus": { + "type": "string", + "description": "Whether to enable resource group. `open` - enable, `close` - disable.\n" + }, + "zone": { + "type": "string", + "description": "Availability zone.\n" + } + }, + "type": "object" + } + }, + "tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup": { + "description": "Provides a resource to create a cdwdoris workload group\n\n\u003e **NOTE:** To use this resource, The `workload_group_status` field of `tencentcloud.Cdwdoris.Instance` needs to be set 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\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-6\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create instance\nconst exampleInstance = new tencentcloud.cdwdoris.Instance(\"exampleInstance\", {\n zone: availabilityZone,\n userVpcId: vpc.id,\n userSubnetId: subnet.id,\n productVersion: \"2.1\",\n instanceName: \"tf-example\",\n dorisUserPwd: \"Password@test\",\n haFlag: false,\n caseSensitive: 0,\n enableMultiZones: false,\n workloadGroupStatus: \"open\",\n chargeProperties: {\n chargeType: \"POSTPAID_BY_HOUR\",\n },\n feSpec: {\n specName: \"S_4_16_P\",\n count: 3,\n diskSize: 200,\n },\n beSpec: {\n specName: \"S_4_16_P\",\n count: 3,\n diskSize: 200,\n },\n tags: [{\n tagKey: \"createBy\",\n tagValue: \"Terraform\",\n }],\n});\n// create workload group\nconst exampleWorkloadGroup = new tencentcloud.cdwdoris.WorkloadGroup(\"exampleWorkloadGroup\", {\n instanceId: exampleInstance.id,\n workloadGroup: {\n workloadGroupName: \"example\",\n cpuShare: 1024,\n memoryLimit: 20,\n enableMemoryOverCommit: true,\n cpuHardLimit: \"30%\",\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\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create instance\nexample_instance = tencentcloud.cdwdoris.Instance(\"exampleInstance\",\n zone=availability_zone,\n user_vpc_id=vpc.id,\n user_subnet_id=subnet.id,\n product_version=\"2.1\",\n instance_name=\"tf-example\",\n doris_user_pwd=\"Password@test\",\n ha_flag=False,\n case_sensitive=0,\n enable_multi_zones=False,\n workload_group_status=\"open\",\n charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs(\n charge_type=\"POSTPAID_BY_HOUR\",\n ),\n fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs(\n spec_name=\"S_4_16_P\",\n count=3,\n disk_size=200,\n ),\n be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs(\n spec_name=\"S_4_16_P\",\n count=3,\n disk_size=200,\n ),\n tags=[tencentcloud.cdwdoris.InstanceTagArgs(\n tag_key=\"createBy\",\n tag_value=\"Terraform\",\n )])\n# create workload group\nexample_workload_group = tencentcloud.cdwdoris.WorkloadGroup(\"exampleWorkloadGroup\",\n instance_id=example_instance.id,\n workload_group=tencentcloud.cdwdoris.WorkloadGroupWorkloadGroupArgs(\n workload_group_name=\"example\",\n cpu_share=1024,\n memory_limit=20,\n enable_memory_over_commit=True,\n cpu_hard_limit=\"30%\",\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 // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create instance\n var exampleInstance = new Tencentcloud.Cdwdoris.Instance(\"exampleInstance\", new()\n {\n Zone = availabilityZone,\n UserVpcId = vpc.Id,\n UserSubnetId = subnet.Id,\n ProductVersion = \"2.1\",\n InstanceName = \"tf-example\",\n DorisUserPwd = \"Password@test\",\n HaFlag = false,\n CaseSensitive = 0,\n EnableMultiZones = false,\n WorkloadGroupStatus = \"open\",\n ChargeProperties = new Tencentcloud.Cdwdoris.Inputs.InstanceChargePropertiesArgs\n {\n ChargeType = \"POSTPAID_BY_HOUR\",\n },\n FeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceFeSpecArgs\n {\n SpecName = \"S_4_16_P\",\n Count = 3,\n DiskSize = 200,\n },\n BeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceBeSpecArgs\n {\n SpecName = \"S_4_16_P\",\n Count = 3,\n DiskSize = 200,\n },\n Tags = new[]\n {\n new Tencentcloud.Cdwdoris.Inputs.InstanceTagArgs\n {\n TagKey = \"createBy\",\n TagValue = \"Terraform\",\n },\n },\n });\n\n // create workload group\n var exampleWorkloadGroup = new Tencentcloud.Cdwdoris.WorkloadGroup(\"exampleWorkloadGroup\", new()\n {\n InstanceId = exampleInstance.Id,\n CdwdorisWorkloadGroup = new Tencentcloud.Cdwdoris.Inputs.WorkloadGroupWorkloadGroupArgs\n {\n WorkloadGroupName = \"example\",\n CpuShare = 1024,\n MemoryLimit = 20,\n EnableMemoryOverCommit = true,\n CpuHardLimit = \"30%\",\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/Cdwdoris\"\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\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create 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(\"172.16.0.0/24\"),\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 instance\n\t\texampleInstance, err := Cdwdoris.NewInstance(ctx, \"exampleInstance\", \u0026Cdwdoris.InstanceArgs{\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tUserVpcId: vpc.ID(),\n\t\t\tUserSubnetId: subnet.ID(),\n\t\t\tProductVersion: pulumi.String(\"2.1\"),\n\t\t\tInstanceName: pulumi.String(\"tf-example\"),\n\t\t\tDorisUserPwd: pulumi.String(\"Password@test\"),\n\t\t\tHaFlag: pulumi.Bool(false),\n\t\t\tCaseSensitive: pulumi.Int(0),\n\t\t\tEnableMultiZones: pulumi.Bool(false),\n\t\t\tWorkloadGroupStatus: pulumi.String(\"open\"),\n\t\t\tChargeProperties: \u0026cdwdoris.InstanceChargePropertiesArgs{\n\t\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\t},\n\t\t\tFeSpec: \u0026cdwdoris.InstanceFeSpecArgs{\n\t\t\t\tSpecName: pulumi.String(\"S_4_16_P\"),\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t},\n\t\t\tBeSpec: \u0026cdwdoris.InstanceBeSpecArgs{\n\t\t\t\tSpecName: pulumi.String(\"S_4_16_P\"),\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t},\n\t\t\tTags: cdwdoris.InstanceTagArray{\n\t\t\t\t\u0026cdwdoris.InstanceTagArgs{\n\t\t\t\t\tTagKey: pulumi.String(\"createBy\"),\n\t\t\t\t\tTagValue: pulumi.String(\"Terraform\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create workload group\n\t\t_, err = Cdwdoris.NewWorkloadGroup(ctx, \"exampleWorkloadGroup\", \u0026Cdwdoris.WorkloadGroupArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tWorkloadGroup: \u0026cdwdoris.WorkloadGroupWorkloadGroupArgs{\n\t\t\t\tWorkloadGroupName: pulumi.String(\"example\"),\n\t\t\t\tCpuShare: pulumi.Int(1024),\n\t\t\t\tMemoryLimit: pulumi.Int(20),\n\t\t\t\tEnableMemoryOverCommit: pulumi.Bool(true),\n\t\t\t\tCpuHardLimit: pulumi.String(\"30%\"),\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.Cdwdoris.Instance;\nimport com.pulumi.tencentcloud.Cdwdoris.InstanceArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceChargePropertiesArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceFeSpecArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceBeSpecArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.InstanceTagArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.WorkloadGroup;\nimport com.pulumi.tencentcloud.Cdwdoris.WorkloadGroupArgs;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.WorkloadGroupWorkloadGroupArgs;\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 // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create instance\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .zone(availabilityZone)\n .userVpcId(vpc.id())\n .userSubnetId(subnet.id())\n .productVersion(\"2.1\")\n .instanceName(\"tf-example\")\n .dorisUserPwd(\"Password@test\")\n .haFlag(false)\n .caseSensitive(0)\n .enableMultiZones(false)\n .workloadGroupStatus(\"open\")\n .chargeProperties(InstanceChargePropertiesArgs.builder()\n .chargeType(\"POSTPAID_BY_HOUR\")\n .build())\n .feSpec(InstanceFeSpecArgs.builder()\n .specName(\"S_4_16_P\")\n .count(3)\n .diskSize(200)\n .build())\n .beSpec(InstanceBeSpecArgs.builder()\n .specName(\"S_4_16_P\")\n .count(3)\n .diskSize(200)\n .build())\n .tags(InstanceTagArgs.builder()\n .tagKey(\"createBy\")\n .tagValue(\"Terraform\")\n .build())\n .build());\n\n // create workload group\n var exampleWorkloadGroup = new WorkloadGroup(\"exampleWorkloadGroup\", WorkloadGroupArgs.builder() \n .instanceId(exampleInstance.id())\n .workloadGroup(WorkloadGroupWorkloadGroupArgs.builder()\n .workloadGroupName(\"example\")\n .cpuShare(1024)\n .memoryLimit(20)\n .enableMemoryOverCommit(true)\n .cpuHardLimit(\"30%\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n # availability zone\n availabilityZone:\n type: string\n default: ap-guangzhou-6\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create instance\n exampleInstance:\n type: tencentcloud:Cdwdoris:Instance\n properties:\n zone: ${availabilityZone}\n userVpcId: ${vpc.id}\n userSubnetId: ${subnet.id}\n productVersion: '2.1'\n instanceName: tf-example\n dorisUserPwd: Password@test\n haFlag: false\n caseSensitive: 0\n enableMultiZones: false\n workloadGroupStatus: open\n chargeProperties:\n chargeType: POSTPAID_BY_HOUR\n feSpec:\n specName: S_4_16_P\n count: 3\n diskSize: 200\n beSpec:\n specName: S_4_16_P\n count: 3\n diskSize: 200\n tags:\n - tagKey: createBy\n tagValue: Terraform\n # create workload group\n exampleWorkloadGroup:\n type: tencentcloud:Cdwdoris:WorkloadGroup\n properties:\n instanceId: ${exampleInstance.id}\n workloadGroup:\n workloadGroupName: example\n cpuShare: 1024\n memoryLimit: 20\n enableMemoryOverCommit: true\n cpuHardLimit: 30%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncdwdoris workload group can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup example cdwdoris-rhbflamd#tf-example\n```\n\n", + "properties": { + "instanceId": { + "type": "string", + "description": "Instance id.\n" + }, + "workloadGroup": { + "$ref": "#/types/tencentcloud:Cdwdoris/WorkloadGroupWorkloadGroup:WorkloadGroupWorkloadGroup", + "description": "Resource group configuration.\n", + "language": { + "csharp": { + "name": "CdwdorisWorkloadGroup" + } + } + } + }, + "required": [ + "instanceId" + ], + "inputProperties": { + "instanceId": { + "type": "string", + "description": "Instance id.\n", + "willReplaceOnChanges": true + }, + "workloadGroup": { + "$ref": "#/types/tencentcloud:Cdwdoris/WorkloadGroupWorkloadGroup:WorkloadGroupWorkloadGroup", + "description": "Resource group configuration.\n", + "language": { + "csharp": { + "name": "CdwdorisWorkloadGroup" + } + } + } + }, + "requiredInputs": [ + "instanceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering WorkloadGroup resources.\n", + "properties": { + "instanceId": { + "type": "string", + "description": "Instance id.\n", + "willReplaceOnChanges": true + }, + "workloadGroup": { + "$ref": "#/types/tencentcloud:Cdwdoris/WorkloadGroupWorkloadGroup:WorkloadGroupWorkloadGroup", + "description": "Resource group configuration.\n", + "language": { + "csharp": { + "name": "CdwdorisWorkloadGroup" + } + } + } + }, + "type": "object" + } + }, + "tencentcloud:Cdwpg/instance:Instance": { + "description": "Provides a resource to create a cdwpg 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 instance = new tencentcloud.cdwpg.Instance(\"instance\", {\n adminPassword: \"xxxxxx\",\n chargeProperties: {\n chargeType: \"POSTPAID_BY_HOUR\",\n renewFlag: 0,\n timeSpan: 1,\n timeUnit: \"h\",\n },\n instanceName: \"test_cdwpg\",\n resources: [\n {\n count: 2,\n diskSpec: {\n diskCount: 1,\n diskSize: 200,\n diskType: \"CLOUD_HSSD\",\n },\n specName: \"S_4_16_H_CN\",\n type: \"cn\",\n },\n {\n count: 2,\n diskSpec: {\n diskCount: 10,\n diskSize: 20,\n diskType: \"CLOUD_HSSD\",\n },\n specName: \"S_4_16_H_CN\",\n type: \"dn\",\n },\n ],\n tags: {\n tagKey: \"tagValue\",\n },\n userSubnetId: \"subnet-xxxxxx\",\n userVpcId: \"vpc-xxxxxx\",\n zone: \"ap-guangzhou-6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninstance = tencentcloud.cdwpg.Instance(\"instance\",\n admin_password=\"xxxxxx\",\n charge_properties=tencentcloud.cdwpg.InstanceChargePropertiesArgs(\n charge_type=\"POSTPAID_BY_HOUR\",\n renew_flag=0,\n time_span=1,\n time_unit=\"h\",\n ),\n instance_name=\"test_cdwpg\",\n resources=[\n tencentcloud.cdwpg.InstanceResourceArgs(\n count=2,\n disk_spec=tencentcloud.cdwpg.InstanceResourceDiskSpecArgs(\n disk_count=1,\n disk_size=200,\n disk_type=\"CLOUD_HSSD\",\n ),\n spec_name=\"S_4_16_H_CN\",\n type=\"cn\",\n ),\n tencentcloud.cdwpg.InstanceResourceArgs(\n count=2,\n disk_spec=tencentcloud.cdwpg.InstanceResourceDiskSpecArgs(\n disk_count=10,\n disk_size=20,\n disk_type=\"CLOUD_HSSD\",\n ),\n spec_name=\"S_4_16_H_CN\",\n type=\"dn\",\n ),\n ],\n tags={\n \"tagKey\": \"tagValue\",\n },\n user_subnet_id=\"subnet-xxxxxx\",\n user_vpc_id=\"vpc-xxxxxx\",\n zone=\"ap-guangzhou-6\")\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 instance = new Tencentcloud.Cdwpg.Instance(\"instance\", new()\n {\n AdminPassword = \"xxxxxx\",\n ChargeProperties = new Tencentcloud.Cdwpg.Inputs.InstanceChargePropertiesArgs\n {\n ChargeType = \"POSTPAID_BY_HOUR\",\n RenewFlag = 0,\n TimeSpan = 1,\n TimeUnit = \"h\",\n },\n InstanceName = \"test_cdwpg\",\n Resources = new[]\n {\n new Tencentcloud.Cdwpg.Inputs.InstanceResourceArgs\n {\n Count = 2,\n DiskSpec = new Tencentcloud.Cdwpg.Inputs.InstanceResourceDiskSpecArgs\n {\n DiskCount = 1,\n DiskSize = 200,\n DiskType = \"CLOUD_HSSD\",\n },\n SpecName = \"S_4_16_H_CN\",\n Type = \"cn\",\n },\n new Tencentcloud.Cdwpg.Inputs.InstanceResourceArgs\n {\n Count = 2,\n DiskSpec = new Tencentcloud.Cdwpg.Inputs.InstanceResourceDiskSpecArgs\n {\n DiskCount = 10,\n DiskSize = 20,\n DiskType = \"CLOUD_HSSD\",\n },\n SpecName = \"S_4_16_H_CN\",\n Type = \"dn\",\n },\n },\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\n },\n UserSubnetId = \"subnet-xxxxxx\",\n UserVpcId = \"vpc-xxxxxx\",\n Zone = \"ap-guangzhou-6\",\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/Cdwpg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdwpg.NewInstance(ctx, \"instance\", \u0026Cdwpg.InstanceArgs{\n\t\t\tAdminPassword: pulumi.String(\"xxxxxx\"),\n\t\t\tChargeProperties: \u0026cdwpg.InstanceChargePropertiesArgs{\n\t\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\t\tRenewFlag: pulumi.Int(0),\n\t\t\t\tTimeSpan: pulumi.Int(1),\n\t\t\t\tTimeUnit: pulumi.String(\"h\"),\n\t\t\t},\n\t\t\tInstanceName: pulumi.String(\"test_cdwpg\"),\n\t\t\tResources: cdwpg.InstanceResourceArray{\n\t\t\t\t\u0026cdwpg.InstanceResourceArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tDiskSpec: \u0026cdwpg.InstanceResourceDiskSpecArgs{\n\t\t\t\t\t\tDiskCount: pulumi.Int(1),\n\t\t\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t\t\t},\n\t\t\t\t\tSpecName: pulumi.String(\"S_4_16_H_CN\"),\n\t\t\t\t\tType: pulumi.String(\"cn\"),\n\t\t\t\t},\n\t\t\t\t\u0026cdwpg.InstanceResourceArgs{\n\t\t\t\t\tCount: pulumi.Int(2),\n\t\t\t\t\tDiskSpec: \u0026cdwpg.InstanceResourceDiskSpecArgs{\n\t\t\t\t\t\tDiskCount: pulumi.Int(10),\n\t\t\t\t\t\tDiskSize: pulumi.Int(20),\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t\t\t},\n\t\t\t\t\tSpecName: pulumi.String(\"S_4_16_H_CN\"),\n\t\t\t\t\tType: pulumi.String(\"dn\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\n\t\t\t},\n\t\t\tUserSubnetId: pulumi.String(\"subnet-xxxxxx\"),\n\t\t\tUserVpcId: pulumi.String(\"vpc-xxxxxx\"),\n\t\t\tZone: pulumi.String(\"ap-guangzhou-6\"),\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.Cdwpg.Instance;\nimport com.pulumi.tencentcloud.Cdwpg.InstanceArgs;\nimport com.pulumi.tencentcloud.Cdwpg.inputs.InstanceChargePropertiesArgs;\nimport com.pulumi.tencentcloud.Cdwpg.inputs.InstanceResourceArgs;\nimport com.pulumi.tencentcloud.Cdwpg.inputs.InstanceResourceDiskSpecArgs;\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 instance = new Instance(\"instance\", InstanceArgs.builder() \n .adminPassword(\"xxxxxx\")\n .chargeProperties(InstanceChargePropertiesArgs.builder()\n .chargeType(\"POSTPAID_BY_HOUR\")\n .renewFlag(0)\n .timeSpan(1)\n .timeUnit(\"h\")\n .build())\n .instanceName(\"test_cdwpg\")\n .resources( \n InstanceResourceArgs.builder()\n .count(2)\n .diskSpec(InstanceResourceDiskSpecArgs.builder()\n .diskCount(1)\n .diskSize(200)\n .diskType(\"CLOUD_HSSD\")\n .build())\n .specName(\"S_4_16_H_CN\")\n .type(\"cn\")\n .build(),\n InstanceResourceArgs.builder()\n .count(2)\n .diskSpec(InstanceResourceDiskSpecArgs.builder()\n .diskCount(10)\n .diskSize(20)\n .diskType(\"CLOUD_HSSD\")\n .build())\n .specName(\"S_4_16_H_CN\")\n .type(\"dn\")\n .build())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .userSubnetId(\"subnet-xxxxxx\")\n .userVpcId(\"vpc-xxxxxx\")\n .zone(\"ap-guangzhou-6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: tencentcloud:Cdwpg:Instance\n properties:\n adminPassword: xxxxxx\n chargeProperties:\n chargeType: POSTPAID_BY_HOUR\n renewFlag: 0\n timeSpan: 1\n timeUnit: h\n instanceName: test_cdwpg\n resources:\n - count: 2\n diskSpec:\n diskCount: 1\n diskSize: 200\n diskType: CLOUD_HSSD\n specName: S_4_16_H_CN\n type: cn\n - count: 2\n diskSpec:\n diskCount: 10\n diskSize: 20\n diskType: CLOUD_HSSD\n specName: S_4_16_H_CN\n type: dn\n tags:\n tagKey: tagValue\n userSubnetId: subnet-xxxxxx\n userVpcId: vpc-xxxxxx\n zone: ap-guangzhou-6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncdwpg instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cdwpg/instance:Instance instance instance_id\n```\n\n", + "properties": { + "adminPassword": { + "type": "string", + "description": "cluster password.\n", + "secret": true + }, + "chargeProperties": { + "$ref": "#/types/tencentcloud:Cdwpg/InstanceChargeProperties:InstanceChargeProperties", + "description": "instance billing mode.\n" + }, + "instanceName": { + "type": "string", + "description": "instance name.\n" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cdwpg/InstanceResource:InstanceResource" + }, + "description": "resource information.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" + }, + "userSubnetId": { + "type": "string", + "description": "subnet.\n" + }, + "userVpcId": { + "type": "string", + "description": "private network.\n" + }, + "zone": { + "type": "string", + "description": "Availability Zone.\n" + } + }, + "required": [ + "adminPassword", + "chargeProperties", + "instanceName", + "resources", "userSubnetId", "userVpcId", "zone" @@ -134242,12 +138695,16 @@ } }, "tencentcloud:Clb/attachment:Attachment": { - "description": "Provides a resource to create a CLB attachment.\n\n\u003e **NOTE:** This resource is designed to manage the entire set of binding relationships associated with a particular CLB (Cloud Load Balancer). As such, it does not allow the simultaneous use of this resource for the same CLB across different contexts or environments.\n\n## Example Usage\n\n### Bind a 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 foo = new tencentcloud.clb.Attachment(\"foo\", {\n clbId: \"lb-k2zjp9lv\",\n listenerId: \"lbl-hh141sn9\",\n ruleId: \"loc-4xxr2cy7\",\n targets: [{\n instanceId: \"ins-1flbqyp8\",\n port: 80,\n weight: 10,\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.clb.Attachment(\"foo\",\n clb_id=\"lb-k2zjp9lv\",\n listener_id=\"lbl-hh141sn9\",\n rule_id=\"loc-4xxr2cy7\",\n targets=[tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-1flbqyp8\",\n port=80,\n weight=10,\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.Clb.Attachment(\"foo\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n ListenerId = \"lbl-hh141sn9\",\n RuleId = \"loc-4xxr2cy7\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-1flbqyp8\",\n Port = 80,\n Weight = 10,\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/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewAttachment(ctx, \"foo\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tRuleId: pulumi.String(\"loc-4xxr2cy7\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-1flbqyp8\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(10),\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.Clb.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"foo\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .listenerId(\"lbl-hh141sn9\")\n .ruleId(\"loc-4xxr2cy7\")\n .targets(AttachmentTargetArgs.builder()\n .instanceId(\"ins-1flbqyp8\")\n .port(80)\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n listenerId: lbl-hh141sn9\n ruleId: loc-4xxr2cy7\n targets:\n - instanceId: ins-1flbqyp8\n port: 80\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bind multiple Cvm instances\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.clb.Attachment(\"foo\", {\n clbId: \"lb-k2zjp9lv\",\n listenerId: \"lbl-hh141sn9\",\n ruleId: \"loc-4xxr2cy7\",\n targets: [\n {\n instanceId: \"ins-1flbqyp8\",\n port: 80,\n weight: 10,\n },\n {\n instanceId: \"ins-ekloqpa1\",\n port: 81,\n weight: 10,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.clb.Attachment(\"foo\",\n clb_id=\"lb-k2zjp9lv\",\n listener_id=\"lbl-hh141sn9\",\n rule_id=\"loc-4xxr2cy7\",\n targets=[\n tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-1flbqyp8\",\n port=80,\n weight=10,\n ),\n tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-ekloqpa1\",\n port=81,\n weight=10,\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 foo = new Tencentcloud.Clb.Attachment(\"foo\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n ListenerId = \"lbl-hh141sn9\",\n RuleId = \"loc-4xxr2cy7\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-1flbqyp8\",\n Port = 80,\n Weight = 10,\n },\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-ekloqpa1\",\n Port = 81,\n Weight = 10,\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/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewAttachment(ctx, \"foo\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tRuleId: pulumi.String(\"loc-4xxr2cy7\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-1flbqyp8\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-ekloqpa1\"),\n\t\t\t\t\tPort: pulumi.Int(81),\n\t\t\t\t\tWeight: pulumi.Int(10),\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.Clb.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"foo\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .listenerId(\"lbl-hh141sn9\")\n .ruleId(\"loc-4xxr2cy7\")\n .targets( \n AttachmentTargetArgs.builder()\n .instanceId(\"ins-1flbqyp8\")\n .port(80)\n .weight(10)\n .build(),\n AttachmentTargetArgs.builder()\n .instanceId(\"ins-ekloqpa1\")\n .port(81)\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n listenerId: lbl-hh141sn9\n ruleId: loc-4xxr2cy7\n targets:\n - instanceId: ins-1flbqyp8\n port: 80\n weight: 10\n - instanceId: ins-ekloqpa1\n port: 81\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Bind backend target is ENI\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.clb.Attachment(\"foo\", {\n clbId: \"lb-k2zjp9lv\",\n listenerId: \"lbl-hh141sn9\",\n ruleId: \"loc-4xxr2cy7\",\n targets: [{\n eniIp: \"example-ip\",\n port: 23,\n weight: 50,\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.clb.Attachment(\"foo\",\n clb_id=\"lb-k2zjp9lv\",\n listener_id=\"lbl-hh141sn9\",\n rule_id=\"loc-4xxr2cy7\",\n targets=[tencentcloud.clb.AttachmentTargetArgs(\n eni_ip=\"example-ip\",\n port=23,\n weight=50,\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.Clb.Attachment(\"foo\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n ListenerId = \"lbl-hh141sn9\",\n RuleId = \"loc-4xxr2cy7\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n EniIp = \"example-ip\",\n Port = 23,\n Weight = 50,\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/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewAttachment(ctx, \"foo\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tRuleId: pulumi.String(\"loc-4xxr2cy7\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tEniIp: pulumi.String(\"example-ip\"),\n\t\t\t\t\tPort: pulumi.Int(23),\n\t\t\t\t\tWeight: pulumi.Int(50),\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.Clb.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"foo\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .listenerId(\"lbl-hh141sn9\")\n .ruleId(\"loc-4xxr2cy7\")\n .targets(AttachmentTargetArgs.builder()\n .eniIp(\"example-ip\")\n .port(23)\n .weight(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n listenerId: lbl-hh141sn9\n ruleId: loc-4xxr2cy7\n targets:\n - eniIp: example-ip\n port: 23\n weight: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLB attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Clb/attachment:Attachment foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb\n```\n", + "description": "Provides a resource to create a CLB attachment.\n\n\u003e **NOTE:** This resource is designed to manage the entire set of binding relationships associated with a particular CLB (Cloud Load Balancer). As such, it does not allow the simultaneous use of this resource for the same CLB across different contexts or environments.\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.clb.Attachment(\"example\", {\n clbId: \"lb-k2zjp9lv\",\n listenerId: \"lbl-hh141sn9\",\n ruleId: \"loc-4xxr2cy7\",\n targets: [{\n instanceId: \"ins-1flbqyp8\",\n port: 80,\n weight: 10,\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.Attachment(\"example\",\n clb_id=\"lb-k2zjp9lv\",\n listener_id=\"lbl-hh141sn9\",\n rule_id=\"loc-4xxr2cy7\",\n targets=[tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-1flbqyp8\",\n port=80,\n weight=10,\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.Clb.Attachment(\"example\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n ListenerId = \"lbl-hh141sn9\",\n RuleId = \"loc-4xxr2cy7\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-1flbqyp8\",\n Port = 80,\n Weight = 10,\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/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewAttachment(ctx, \"example\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tRuleId: pulumi.String(\"loc-4xxr2cy7\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-1flbqyp8\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(10),\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.Clb.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"example\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .listenerId(\"lbl-hh141sn9\")\n .ruleId(\"loc-4xxr2cy7\")\n .targets(AttachmentTargetArgs.builder()\n .instanceId(\"ins-1flbqyp8\")\n .port(80)\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n listenerId: lbl-hh141sn9\n ruleId: loc-4xxr2cy7\n targets:\n - instanceId: ins-1flbqyp8\n port: 80\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.clb.Attachment(\"example\", {\n clbId: \"lb-k2zjp9lv\",\n domain: \"test.com\",\n listenerId: \"lbl-hh141sn9\",\n targets: [{\n instanceId: \"ins-1flbqyp8\",\n port: 80,\n weight: 10,\n }],\n url: \"/\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.Attachment(\"example\",\n clb_id=\"lb-k2zjp9lv\",\n domain=\"test.com\",\n listener_id=\"lbl-hh141sn9\",\n targets=[tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-1flbqyp8\",\n port=80,\n weight=10,\n )],\n url=\"/\")\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.Clb.Attachment(\"example\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n Domain = \"test.com\",\n ListenerId = \"lbl-hh141sn9\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-1flbqyp8\",\n Port = 80,\n Weight = 10,\n },\n },\n Url = \"/\",\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.NewAttachment(ctx, \"example\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tDomain: pulumi.String(\"test.com\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-1flbqyp8\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"/\"),\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.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"example\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .domain(\"test.com\")\n .listenerId(\"lbl-hh141sn9\")\n .targets(AttachmentTargetArgs.builder()\n .instanceId(\"ins-1flbqyp8\")\n .port(80)\n .weight(10)\n .build())\n .url(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n domain: test.com\n listenerId: lbl-hh141sn9\n targets:\n - instanceId: ins-1flbqyp8\n port: 80\n weight: 10\n url: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.clb.Attachment(\"example\", {\n clbId: \"lb-k2zjp9lv\",\n listenerId: \"lbl-hh141sn9\",\n ruleId: \"loc-4xxr2cy7\",\n targets: [\n {\n instanceId: \"ins-1flbqyp8\",\n port: 80,\n weight: 10,\n },\n {\n instanceId: \"ins-ekloqpa1\",\n port: 81,\n weight: 10,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.Attachment(\"example\",\n clb_id=\"lb-k2zjp9lv\",\n listener_id=\"lbl-hh141sn9\",\n rule_id=\"loc-4xxr2cy7\",\n targets=[\n tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-1flbqyp8\",\n port=80,\n weight=10,\n ),\n tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-ekloqpa1\",\n port=81,\n weight=10,\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 example = new Tencentcloud.Clb.Attachment(\"example\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n ListenerId = \"lbl-hh141sn9\",\n RuleId = \"loc-4xxr2cy7\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-1flbqyp8\",\n Port = 80,\n Weight = 10,\n },\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-ekloqpa1\",\n Port = 81,\n Weight = 10,\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/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewAttachment(ctx, \"example\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tRuleId: pulumi.String(\"loc-4xxr2cy7\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-1flbqyp8\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-ekloqpa1\"),\n\t\t\t\t\tPort: pulumi.Int(81),\n\t\t\t\t\tWeight: pulumi.Int(10),\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.Clb.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"example\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .listenerId(\"lbl-hh141sn9\")\n .ruleId(\"loc-4xxr2cy7\")\n .targets( \n AttachmentTargetArgs.builder()\n .instanceId(\"ins-1flbqyp8\")\n .port(80)\n .weight(10)\n .build(),\n AttachmentTargetArgs.builder()\n .instanceId(\"ins-ekloqpa1\")\n .port(81)\n .weight(10)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n listenerId: lbl-hh141sn9\n ruleId: loc-4xxr2cy7\n targets:\n - instanceId: ins-1flbqyp8\n port: 80\n weight: 10\n - instanceId: ins-ekloqpa1\n port: 81\n weight: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.clb.Attachment(\"example\", {\n clbId: \"lb-k2zjp9lv\",\n domain: \"test.com\",\n listenerId: \"lbl-hh141sn9\",\n targets: [\n {\n instanceId: \"ins-1flbqyp8\",\n port: 80,\n weight: 10,\n },\n {\n instanceId: \"ins-ekloqpa1\",\n port: 81,\n weight: 10,\n },\n ],\n url: \"/\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.Attachment(\"example\",\n clb_id=\"lb-k2zjp9lv\",\n domain=\"test.com\",\n listener_id=\"lbl-hh141sn9\",\n targets=[\n tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-1flbqyp8\",\n port=80,\n weight=10,\n ),\n tencentcloud.clb.AttachmentTargetArgs(\n instance_id=\"ins-ekloqpa1\",\n port=81,\n weight=10,\n ),\n ],\n url=\"/\")\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.Clb.Attachment(\"example\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n Domain = \"test.com\",\n ListenerId = \"lbl-hh141sn9\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-1flbqyp8\",\n Port = 80,\n Weight = 10,\n },\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n InstanceId = \"ins-ekloqpa1\",\n Port = 81,\n Weight = 10,\n },\n },\n Url = \"/\",\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.NewAttachment(ctx, \"example\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tDomain: pulumi.String(\"test.com\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-1flbqyp8\"),\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tInstanceId: pulumi.String(\"ins-ekloqpa1\"),\n\t\t\t\t\tPort: pulumi.Int(81),\n\t\t\t\t\tWeight: pulumi.Int(10),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"/\"),\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.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"example\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .domain(\"test.com\")\n .listenerId(\"lbl-hh141sn9\")\n .targets( \n AttachmentTargetArgs.builder()\n .instanceId(\"ins-1flbqyp8\")\n .port(80)\n .weight(10)\n .build(),\n AttachmentTargetArgs.builder()\n .instanceId(\"ins-ekloqpa1\")\n .port(81)\n .weight(10)\n .build())\n .url(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n domain: test.com\n listenerId: lbl-hh141sn9\n targets:\n - instanceId: ins-1flbqyp8\n port: 80\n weight: 10\n - instanceId: ins-ekloqpa1\n port: 81\n weight: 10\n url: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.clb.Attachment(\"example\", {\n clbId: \"lb-k2zjp9lv\",\n listenerId: \"lbl-hh141sn9\",\n ruleId: \"loc-4xxr2cy7\",\n targets: [{\n eniIp: \"172.16.16.52\",\n port: 8090,\n weight: 50,\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.Attachment(\"example\",\n clb_id=\"lb-k2zjp9lv\",\n listener_id=\"lbl-hh141sn9\",\n rule_id=\"loc-4xxr2cy7\",\n targets=[tencentcloud.clb.AttachmentTargetArgs(\n eni_ip=\"172.16.16.52\",\n port=8090,\n weight=50,\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.Clb.Attachment(\"example\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n ListenerId = \"lbl-hh141sn9\",\n RuleId = \"loc-4xxr2cy7\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n EniIp = \"172.16.16.52\",\n Port = 8090,\n Weight = 50,\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/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewAttachment(ctx, \"example\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tRuleId: pulumi.String(\"loc-4xxr2cy7\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tEniIp: pulumi.String(\"172.16.16.52\"),\n\t\t\t\t\tPort: pulumi.Int(8090),\n\t\t\t\t\tWeight: pulumi.Int(50),\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.Clb.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"example\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .listenerId(\"lbl-hh141sn9\")\n .ruleId(\"loc-4xxr2cy7\")\n .targets(AttachmentTargetArgs.builder()\n .eniIp(\"172.16.16.52\")\n .port(8090)\n .weight(50)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n listenerId: lbl-hh141sn9\n ruleId: loc-4xxr2cy7\n targets:\n - eniIp: 172.16.16.52\n port: 8090\n weight: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.clb.Attachment(\"example\", {\n clbId: \"lb-k2zjp9lv\",\n domain: \"test.com\",\n listenerId: \"lbl-hh141sn9\",\n targets: [{\n eniIp: \"172.16.16.52\",\n port: 8090,\n weight: 50,\n }],\n url: \"/\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.Attachment(\"example\",\n clb_id=\"lb-k2zjp9lv\",\n domain=\"test.com\",\n listener_id=\"lbl-hh141sn9\",\n targets=[tencentcloud.clb.AttachmentTargetArgs(\n eni_ip=\"172.16.16.52\",\n port=8090,\n weight=50,\n )],\n url=\"/\")\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.Clb.Attachment(\"example\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n Domain = \"test.com\",\n ListenerId = \"lbl-hh141sn9\",\n Targets = new[]\n {\n new Tencentcloud.Clb.Inputs.AttachmentTargetArgs\n {\n EniIp = \"172.16.16.52\",\n Port = 8090,\n Weight = 50,\n },\n },\n Url = \"/\",\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.NewAttachment(ctx, \"example\", \u0026Clb.AttachmentArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tDomain: pulumi.String(\"test.com\"),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tTargets: clb.AttachmentTargetArray{\n\t\t\t\t\u0026clb.AttachmentTargetArgs{\n\t\t\t\t\tEniIp: pulumi.String(\"172.16.16.52\"),\n\t\t\t\t\tPort: pulumi.Int(8090),\n\t\t\t\t\tWeight: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"/\"),\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.Attachment;\nimport com.pulumi.tencentcloud.Clb.AttachmentArgs;\nimport com.pulumi.tencentcloud.Clb.inputs.AttachmentTargetArgs;\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 Attachment(\"example\", AttachmentArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .domain(\"test.com\")\n .listenerId(\"lbl-hh141sn9\")\n .targets(AttachmentTargetArgs.builder()\n .eniIp(\"172.16.16.52\")\n .port(8090)\n .weight(50)\n .build())\n .url(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:Attachment\n properties:\n clbId: lb-k2zjp9lv\n domain: test.com\n listenerId: lbl-hh141sn9\n targets:\n - eniIp: 172.16.16.52\n port: 8090\n weight: 50\n url: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLB attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Clb/attachment:Attachment example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb\n```\n\nOr\n\n```sh\n$ pulumi import tencentcloud:Clb/attachment:Attachment example test.com,/#lbl-hh141sn9#lb-7a0t6zqb\n```\n\n", "properties": { "clbId": { "type": "string", "description": "ID of the CLB.\n" }, + "domain": { + "type": "string", + "description": "Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.\n" + }, "listenerId": { "type": "string", "description": "ID of the CLB listener.\n" @@ -134266,6 +138723,10 @@ "$ref": "#/types/tencentcloud:Clb/AttachmentTarget:AttachmentTarget" }, "description": "Information of the backends to be attached.\n" + }, + "url": { + "type": "string", + "description": "URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.\n" } }, "required": [ @@ -134280,6 +138741,11 @@ "description": "ID of the CLB.\n", "willReplaceOnChanges": true }, + "domain": { + "type": "string", + "description": "Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.\n", + "willReplaceOnChanges": true + }, "listenerId": { "type": "string", "description": "ID of the CLB listener.\n", @@ -134296,6 +138762,11 @@ "$ref": "#/types/tencentcloud:Clb/AttachmentTarget:AttachmentTarget" }, "description": "Information of the backends to be attached.\n" + }, + "url": { + "type": "string", + "description": "URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.\n", + "willReplaceOnChanges": true } }, "requiredInputs": [ @@ -134311,6 +138782,11 @@ "description": "ID of the CLB.\n", "willReplaceOnChanges": true }, + "domain": { + "type": "string", + "description": "Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.\n", + "willReplaceOnChanges": true + }, "listenerId": { "type": "string", "description": "ID of the CLB listener.\n", @@ -134331,6 +138807,11 @@ "$ref": "#/types/tencentcloud:Clb/AttachmentTarget:AttachmentTarget" }, "description": "Information of the backends to be attached.\n" + }, + "url": { + "type": "string", + "description": "URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided.\n", + "willReplaceOnChanges": true } }, "type": "object" @@ -134529,7 +139010,7 @@ } }, "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 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", + "description": "Provides a resource to create a CLB instance.\n\n## Example Usage\n\n### Create 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 config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n isMulticast: false,\n});\n// create clb\nconst example = new tencentcloud.clb.Instance(\"example\", {\n networkType: \"INTERNAL\",\n clbName: \"tf-example\",\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n tags: {\n tagKey: \"tagValue\",\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-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\",\n is_multicast=False)\n# create clb\nexample = tencentcloud.clb.Instance(\"example\",\n network_type=\"INTERNAL\",\n clb_name=\"tf-example\",\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n tags={\n \"tagKey\": \"tagValue\",\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-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n IsMulticast = false,\n });\n\n // create clb\n var example = new Tencentcloud.Clb.Instance(\"example\", new()\n {\n NetworkType = \"INTERNAL\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Clb\"\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-4\"\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 subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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 clb\n\t\t_, err = Clb.NewInstance(ctx, \"example\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.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 final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .isMulticast(false)\n .build());\n\n // create clb\n var example = new Instance(\"example\", InstanceArgs.builder() \n .networkType(\"INTERNAL\")\n .clbName(\"tf-example\")\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n isMulticast: false\n # create clb\n example:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: INTERNAL\n clbName: tf-example\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n tags:\n tagKey: tagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create dedicated cluster clb\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-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n cdcId: \"cluster-lchwgxhs\",\n isMulticast: false,\n});\n// create clb\nconst example = new tencentcloud.clb.Instance(\"example\", {\n networkType: \"INTERNAL\",\n clbName: \"tf-example\",\n projectId: 0,\n clusterId: \"cluster-lchwgxhs\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n tags: {\n tagKey: \"tagValue\",\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-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\",\n cdc_id=\"cluster-lchwgxhs\",\n is_multicast=False)\n# create clb\nexample = tencentcloud.clb.Instance(\"example\",\n network_type=\"INTERNAL\",\n clb_name=\"tf-example\",\n project_id=0,\n cluster_id=\"cluster-lchwgxhs\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n tags={\n \"tagKey\": \"tagValue\",\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-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n CdcId = \"cluster-lchwgxhs\",\n IsMulticast = false,\n });\n\n // create clb\n var example = new Tencentcloud.Clb.Instance(\"example\", new()\n {\n NetworkType = \"INTERNAL\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n ClusterId = \"cluster-lchwgxhs\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Clb\"\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-4\"\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 subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tCdcId: pulumi.String(\"cluster-lchwgxhs\"),\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 clb\n\t\t_, err = Clb.NewInstance(ctx, \"example\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tClusterId: pulumi.String(\"cluster-lchwgxhs\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.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 final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .cdcId(\"cluster-lchwgxhs\")\n .isMulticast(false)\n .build());\n\n // create clb\n var example = new Instance(\"example\", InstanceArgs.builder() \n .networkType(\"INTERNAL\")\n .clbName(\"tf-example\")\n .projectId(0)\n .clusterId(\"cluster-lchwgxhs\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n cdcId: cluster-lchwgxhs\n isMulticast: false\n # create clb\n example:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: INTERNAL\n clbName: tf-example\n projectId: 0\n clusterId: cluster-lchwgxhs\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n tags:\n tagKey: tagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create 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 config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n isMulticast: false,\n});\n// create clb\nconst example = new tencentcloud.clb.Instance(\"example\", {\n networkType: \"INTERNAL\",\n clbName: \"tf-example\",\n projectId: 0,\n slaType: \"clb.c3.medium\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n tags: {\n tagKey: \"tagValue\",\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-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\",\n is_multicast=False)\n# create clb\nexample = tencentcloud.clb.Instance(\"example\",\n network_type=\"INTERNAL\",\n clb_name=\"tf-example\",\n project_id=0,\n sla_type=\"clb.c3.medium\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n tags={\n \"tagKey\": \"tagValue\",\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-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n IsMulticast = false,\n });\n\n // create clb\n var example = new Tencentcloud.Clb.Instance(\"example\", new()\n {\n NetworkType = \"INTERNAL\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n SlaType = \"clb.c3.medium\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Clb\"\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-4\"\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 subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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 clb\n\t\t_, err = Clb.NewInstance(ctx, \"example\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSlaType: pulumi.String(\"clb.c3.medium\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.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 final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .isMulticast(false)\n .build());\n\n // create clb\n var example = new Instance(\"example\", InstanceArgs.builder() \n .networkType(\"INTERNAL\")\n .clbName(\"tf-example\")\n .projectId(0)\n .slaType(\"clb.c3.medium\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n isMulticast: false\n # create clb\n example:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: INTERNAL\n clbName: tf-example\n projectId: 0\n slaType: clb.c3.medium\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n tags:\n tagKey: tagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create 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 config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create clb\nconst exampleInstance = new tencentcloud.clb.Instance(\"exampleInstance\", {\n networkType: \"OPEN\",\n clbName: \"tf-example\",\n projectId: 0,\n vpcId: vpc.id,\n securityGroups: [exampleGroup.id],\n tags: {\n tagKey: \"tagValue\",\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-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create clb\nexample_instance = tencentcloud.clb.Instance(\"exampleInstance\",\n network_type=\"OPEN\",\n clb_name=\"tf-example\",\n project_id=0,\n vpc_id=vpc.id,\n security_groups=[example_group.id],\n tags={\n \"tagKey\": \"tagValue\",\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-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create clb\n var exampleInstance = new Tencentcloud.Clb.Instance(\"exampleInstance\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n VpcId = vpc.Id,\n SecurityGroups = new[]\n {\n exampleGroup.Id,\n },\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/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\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create clb\n\t\t_, err = Clb.NewInstance(ctx, \"exampleInstance\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.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 final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create clb\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"tf-example\")\n .projectId(0)\n .vpcId(vpc.id())\n .securityGroups(exampleGroup.id())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create clb\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: tf-example\n projectId: 0\n vpcId: ${vpc.id}\n securityGroups:\n - ${exampleGroup.id}\n tags:\n tagKey: tagValue\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 config = new pulumi.Config();\nconst zone = config.get(\"zone\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create clb\nconst exampleInstance = new tencentcloud.clb.Instance(\"exampleInstance\", {\n networkType: \"OPEN\",\n clbName: \"tf-example\",\n projectId: 0,\n vpcId: vpc.id,\n securityGroups: [exampleGroup.id],\n targetRegionInfoRegion: zone,\n targetRegionInfoVpcId: vpc.id,\n tags: {\n tagKey: \"tagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nzone = config.get(\"zone\")\nif zone is None:\n zone = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create clb\nexample_instance = tencentcloud.clb.Instance(\"exampleInstance\",\n network_type=\"OPEN\",\n clb_name=\"tf-example\",\n project_id=0,\n vpc_id=vpc.id,\n security_groups=[example_group.id],\n target_region_info_region=zone,\n target_region_info_vpc_id=vpc.id,\n tags={\n \"tagKey\": \"tagValue\",\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 zone = config.Get(\"zone\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create clb\n var exampleInstance = new Tencentcloud.Clb.Instance(\"exampleInstance\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n VpcId = vpc.Id,\n SecurityGroups = new[]\n {\n exampleGroup.Id,\n },\n TargetRegionInfoRegion = zone,\n TargetRegionInfoVpcId = vpc.Id,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/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\tcfg := config.New(ctx, \"\")\n\t\tzone := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"zone\"); param != \"\" {\n\t\t\tzone = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create clb\n\t\t_, err = Clb.NewInstance(ctx, \"exampleInstance\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(zone),\n\t\t\tTargetRegionInfoVpcId: vpc.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.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 final var config = ctx.config();\n final var zone = config.get(\"zone\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create clb\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"tf-example\")\n .projectId(0)\n .vpcId(vpc.id())\n .securityGroups(exampleGroup.id())\n .targetRegionInfoRegion(zone)\n .targetRegionInfoVpcId(vpc.id())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n zone:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create clb\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: tf-example\n projectId: 0\n vpcId: ${vpc.id}\n securityGroups:\n - ${exampleGroup.id}\n targetRegionInfoRegion: ${zone}\n targetRegionInfoVpcId: ${vpc.id}\n tags:\n tagKey: tagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Open 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 vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc bandwidth package\nconst exampleBandwidthPackage = new tencentcloud.vpc.BandwidthPackage(\"exampleBandwidthPackage\", {\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});\n// create clb\nconst exampleInstance = new tencentcloud.clb.Instance(\"exampleInstance\", {\n networkType: \"OPEN\",\n clbName: \"tf-example\",\n projectId: 0,\n vipIsp: \"CMCC\",\n internetChargeType: \"BANDWIDTH_PACKAGE\",\n bandwidthPackageId: exampleBandwidthPackage.id,\n vpcId: vpc.id,\n tags: {\n tagKey: \"tagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc bandwidth package\nexample_bandwidth_package = tencentcloud.vpc.BandwidthPackage(\"exampleBandwidthPackage\",\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 })\n# create clb\nexample_instance = tencentcloud.clb.Instance(\"exampleInstance\",\n network_type=\"OPEN\",\n clb_name=\"tf-example\",\n project_id=0,\n vip_isp=\"CMCC\",\n internet_charge_type=\"BANDWIDTH_PACKAGE\",\n bandwidth_package_id=example_bandwidth_package.id,\n vpc_id=vpc.id,\n tags={\n \"tagKey\": \"tagValue\",\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 vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create vpc bandwidth package\n var exampleBandwidthPackage = new Tencentcloud.Vpc.BandwidthPackage(\"exampleBandwidthPackage\", 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 // create clb\n var exampleInstance = new Tencentcloud.Clb.Instance(\"exampleInstance\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n VipIsp = \"CMCC\",\n InternetChargeType = \"BANDWIDTH_PACKAGE\",\n BandwidthPackageId = exampleBandwidthPackage.Id,\n VpcId = vpc.Id,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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\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 bandwidth package\n\t\texampleBandwidthPackage, err := Vpc.NewBandwidthPackage(ctx, \"exampleBandwidthPackage\", \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// create clb\n\t\t_, err = Clb.NewInstance(ctx, \"exampleInstance\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVipIsp: pulumi.String(\"CMCC\"),\n\t\t\tInternetChargeType: pulumi.String(\"BANDWIDTH_PACKAGE\"),\n\t\t\tBandwidthPackageId: exampleBandwidthPackage.ID(),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.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 vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create vpc bandwidth package\n var exampleBandwidthPackage = new BandwidthPackage(\"exampleBandwidthPackage\", 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 // create clb\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"tf-example\")\n .projectId(0)\n .vipIsp(\"CMCC\")\n .internetChargeType(\"BANDWIDTH_PACKAGE\")\n .bandwidthPackageId(exampleBandwidthPackage.id())\n .vpcId(vpc.id())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create vpc bandwidth package\n exampleBandwidthPackage:\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 # create clb\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: tf-example\n projectId: 0\n vipIsp: CMCC\n internetChargeType: BANDWIDTH_PACKAGE\n bandwidthPackageId: ${exampleBandwidthPackage.id}\n vpcId: ${vpc.id}\n tags:\n tagKey: tagValue\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 config = new pulumi.Config();\nconst zone = config.get(\"zone\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n isMulticast: false,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create clb\nconst exampleInstance = new tencentcloud.clb.Instance(\"exampleInstance\", {\n networkType: \"OPEN\",\n clbName: \"tf-example\",\n projectId: 0,\n vpcId: vpc.id,\n targetRegionInfoRegion: zone,\n targetRegionInfoVpcId: vpc.id,\n securityGroups: [exampleGroup.id],\n dynamicVip: true,\n tags: {\n tagKey: \"tagValue\",\n },\n});\nexport const domain = exampleInstance.domain;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nzone = config.get(\"zone\")\nif zone is None:\n zone = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\",\n is_multicast=False)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create clb\nexample_instance = tencentcloud.clb.Instance(\"exampleInstance\",\n network_type=\"OPEN\",\n clb_name=\"tf-example\",\n project_id=0,\n vpc_id=vpc.id,\n target_region_info_region=zone,\n target_region_info_vpc_id=vpc.id,\n security_groups=[example_group.id],\n dynamic_vip=True,\n tags={\n \"tagKey\": \"tagValue\",\n })\npulumi.export(\"domain\", example_instance.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 config = new Config();\n var zone = config.Get(\"zone\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n IsMulticast = false,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create clb\n var exampleInstance = new Tencentcloud.Clb.Instance(\"exampleInstance\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n VpcId = vpc.Id,\n TargetRegionInfoRegion = zone,\n TargetRegionInfoVpcId = vpc.Id,\n SecurityGroups = new[]\n {\n exampleGroup.Id,\n },\n DynamicVip = true,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = exampleInstance.Domain,\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/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\tcfg := config.New(ctx, \"\")\n\t\tzone := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"zone\"); param != \"\" {\n\t\t\tzone = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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 subnet\n\t\t_, err = Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create clb\n\t\texampleInstance, err := Clb.NewInstance(ctx, \"exampleInstance\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tTargetRegionInfoRegion: pulumi.String(zone),\n\t\t\tTargetRegionInfoVpcId: vpc.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tDynamicVip: pulumi.Bool(true),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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\", exampleInstance.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.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 final var config = ctx.config();\n final var zone = config.get(\"zone\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .isMulticast(false)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create clb\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"tf-example\")\n .projectId(0)\n .vpcId(vpc.id())\n .targetRegionInfoRegion(zone)\n .targetRegionInfoVpcId(vpc.id())\n .securityGroups(exampleGroup.id())\n .dynamicVip(true)\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n ctx.export(\"domain\", exampleInstance.domain());\n }\n}\n```\n```yaml\nconfiguration:\n zone:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n isMulticast: false\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create clb\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: tf-example\n projectId: 0\n vpcId: ${vpc.id}\n targetRegionInfoRegion: ${zone}\n targetRegionInfoVpcId: ${vpc.id}\n securityGroups:\n - ${exampleGroup.id}\n dynamicVip: true\n tags:\n tagKey: tagValue\noutputs:\n domain: ${exampleInstance.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 config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create clb\nconst exampleInstance = new tencentcloud.clb.Instance(\"exampleInstance\", {\n networkType: \"OPEN\",\n clbName: \"tf-example\",\n projectId: 0,\n vpcId: vpc.id,\n securityGroups: [exampleGroup.id],\n vip: \"111.230.4.204\",\n tags: {\n tagKey: \"tagValue\",\n },\n});\nexport const domain = exampleInstance.domain;\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-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create clb\nexample_instance = tencentcloud.clb.Instance(\"exampleInstance\",\n network_type=\"OPEN\",\n clb_name=\"tf-example\",\n project_id=0,\n vpc_id=vpc.id,\n security_groups=[example_group.id],\n vip=\"111.230.4.204\",\n tags={\n \"tagKey\": \"tagValue\",\n })\npulumi.export(\"domain\", example_instance.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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create clb\n var exampleInstance = new Tencentcloud.Clb.Instance(\"exampleInstance\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n VpcId = vpc.Id,\n SecurityGroups = new[]\n {\n exampleGroup.Id,\n },\n Vip = \"111.230.4.204\",\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = exampleInstance.Domain,\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/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\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create clb\n\t\texampleInstance, err := Clb.NewInstance(ctx, \"exampleInstance\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleGroup.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\"tagKey\": pulumi.Any(\"tagValue\"),\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\", exampleInstance.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.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.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 final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create clb\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"tf-example\")\n .projectId(0)\n .vpcId(vpc.id())\n .securityGroups(exampleGroup.id())\n .vip(\"111.230.4.204\")\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n ctx.export(\"domain\", exampleInstance.domain());\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create clb\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: tf-example\n projectId: 0\n vpcId: ${vpc.id}\n securityGroups:\n - ${exampleGroup.id}\n vip: 111.230.4.204\n tags:\n tagKey: tagValue\noutputs:\n domain: ${exampleInstance.domain}\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 config = new pulumi.Config();\nconst zone = config.get(\"zone\") || \"ap-guangzhou\";\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n isMulticast: false,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create clb\nconst exampleInstance = new tencentcloud.clb.Instance(\"exampleInstance\", {\n networkType: \"OPEN\",\n clbName: \"tf-example\",\n projectId: 0,\n loadBalancerPassToTarget: true,\n vpcId: vpc.id,\n securityGroups: [exampleGroup.id],\n targetRegionInfoVpcId: vpc.id,\n targetRegionInfoRegion: zone,\n tags: {\n tagKey: \"tagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\nzone = config.get(\"zone\")\nif zone is None:\n zone = \"ap-guangzhou\"\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\",\n is_multicast=False)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create clb\nexample_instance = tencentcloud.clb.Instance(\"exampleInstance\",\n network_type=\"OPEN\",\n clb_name=\"tf-example\",\n project_id=0,\n load_balancer_pass_to_target=True,\n vpc_id=vpc.id,\n security_groups=[example_group.id],\n target_region_info_vpc_id=vpc.id,\n target_region_info_region=zone,\n tags={\n \"tagKey\": \"tagValue\",\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 zone = config.Get(\"zone\") ?? \"ap-guangzhou\";\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n IsMulticast = false,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create clb\n var exampleInstance = new Tencentcloud.Clb.Instance(\"exampleInstance\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n LoadBalancerPassToTarget = true,\n VpcId = vpc.Id,\n SecurityGroups = new[]\n {\n exampleGroup.Id,\n },\n TargetRegionInfoVpcId = vpc.Id,\n TargetRegionInfoRegion = zone,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/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\tcfg := config.New(ctx, \"\")\n\t\tzone := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"zone\"); param != \"\" {\n\t\t\tzone = param\n\t\t}\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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 subnet\n\t\t_, err = Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create clb\n\t\t_, err = Clb.NewInstance(ctx, \"exampleInstance\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tTargetRegionInfoVpcId: vpc.ID(),\n\t\t\tTargetRegionInfoRegion: pulumi.String(zone),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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 final var config = ctx.config();\n final var zone = config.get(\"zone\").orElse(\"ap-guangzhou\");\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .isMulticast(false)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create clb\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"tf-example\")\n .projectId(0)\n .loadBalancerPassToTarget(true)\n .vpcId(vpc.id())\n .securityGroups(exampleGroup.id())\n .targetRegionInfoVpcId(vpc.id())\n .targetRegionInfoRegion(zone)\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n zone:\n type: string\n default: ap-guangzhou\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n isMulticast: false\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create clb\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: tf-example\n projectId: 0\n loadBalancerPassToTarget: true\n vpcId: ${vpc.id}\n securityGroups:\n - ${exampleGroup.id}\n targetRegionInfoVpcId: ${vpc.id}\n targetRegionInfoRegion: ${zone}\n tags:\n tagKey: tagValue\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 config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\nconst example = new tencentcloud.clb.Instance(\"example\", {\n networkType: \"OPEN\",\n clbName: \"tf-example\",\n masterZoneId: availabilityZone,\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-4\"\nexample = tencentcloud.clb.Instance(\"example\",\n network_type=\"OPEN\",\n clb_name=\"tf-example\",\n master_zone_id=availability_zone)\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-4\";\n var example = new Tencentcloud.Clb.Instance(\"example\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"tf-example\",\n MasterZoneId = availabilityZone,\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/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\t_, err := Clb.NewInstance(ctx, \"example\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tMasterZoneId: pulumi.String(availabilityZone),\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 final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n var example = new Instance(\"example\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"tf-example\")\n .masterZoneId(availabilityZone)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n example:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: tf-example\n masterZoneId: ${availabilityZone}\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\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: _var.availability_zone,\n cidrBlock: \"10.0.1.0/24\",\n isMulticast: false,\n});\n// create route table\nconst route = new tencentcloud.route.Table(\"route\", {vpcId: vpc.id});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\nconst log = new tencentcloud.clb.LogSet(\"log\", {period: 7});\n// create topic\nconst topic = new tencentcloud.clb.LogTopic(\"topic\", {\n logSetId: log.id,\n topicName: \"clb-topic\",\n});\n// create clb\nconst exampleInstance = new tencentcloud.clb.Instance(\"exampleInstance\", {\n networkType: \"INTERNAL\",\n clbName: \"tf-example\",\n projectId: 0,\n loadBalancerPassToTarget: true,\n vpcId: vpc.id,\n subnetId: subnet.id,\n securityGroups: [exampleGroup.id],\n logSetId: log.id,\n logTopicId: topic.id,\n tags: {\n tagKey: \"tagValue\",\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 subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=var[\"availability_zone\"],\n cidr_block=\"10.0.1.0/24\",\n is_multicast=False)\n# create route table\nroute = tencentcloud.route.Table(\"route\", vpc_id=vpc.id)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\nlog = tencentcloud.clb.LogSet(\"log\", period=7)\n# create topic\ntopic = tencentcloud.clb.LogTopic(\"topic\",\n log_set_id=log.id,\n topic_name=\"clb-topic\")\n# create clb\nexample_instance = tencentcloud.clb.Instance(\"exampleInstance\",\n network_type=\"INTERNAL\",\n clb_name=\"tf-example\",\n project_id=0,\n load_balancer_pass_to_target=True,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n security_groups=[example_group.id],\n log_set_id=log.id,\n log_topic_id=topic.id,\n tags={\n \"tagKey\": \"tagValue\",\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 subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = @var.Availability_zone,\n CidrBlock = \"10.0.1.0/24\",\n IsMulticast = false,\n });\n\n // create route table\n var route = new Tencentcloud.Route.Table(\"route\", new()\n {\n VpcId = vpc.Id,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n var log = new Tencentcloud.Clb.LogSet(\"log\", new()\n {\n Period = 7,\n });\n\n // create topic\n var topic = new Tencentcloud.Clb.LogTopic(\"topic\", new()\n {\n LogSetId = log.Id,\n TopicName = \"clb-topic\",\n });\n\n // create clb\n var exampleInstance = new Tencentcloud.Clb.Instance(\"exampleInstance\", new()\n {\n NetworkType = \"INTERNAL\",\n ClbName = \"tf-example\",\n ProjectId = 0,\n LoadBalancerPassToTarget = true,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n SecurityGroups = new[]\n {\n exampleGroup.Id,\n },\n LogSetId = log.Id,\n LogTopicId = topic.Id,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Route\"\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\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 subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.Any(_var.Availability_zone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\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 route table\n\t\t_, err = Route.NewTable(ctx, \"route\", \u0026Route.TableArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\tlog, err := Clb.NewLogSet(ctx, \"log\", \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\t// create topic\n\t\ttopic, err := Clb.NewLogTopic(ctx, \"topic\", \u0026Clb.LogTopicArgs{\n\t\t\tLogSetId: log.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// create clb\n\t\t_, err = Clb.NewInstance(ctx, \"exampleInstance\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tClbName: pulumi.String(\"tf-example\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tLogSetId: log.ID(),\n\t\t\tLogTopicId: topic.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.Route.Table;\nimport com.pulumi.tencentcloud.Route.TableArgs;\nimport com.pulumi.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Security.GroupArgs;\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 // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(var_.availability_zone())\n .cidrBlock(\"10.0.1.0/24\")\n .isMulticast(false)\n .build());\n\n // create route table\n var route = new Table(\"route\", TableArgs.builder() \n .vpcId(vpc.id())\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n var log = new LogSet(\"log\", LogSetArgs.builder() \n .period(7)\n .build());\n\n // create topic\n var topic = new LogTopic(\"topic\", LogTopicArgs.builder() \n .logSetId(log.id())\n .topicName(\"clb-topic\")\n .build());\n\n // create clb\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .networkType(\"INTERNAL\")\n .clbName(\"tf-example\")\n .projectId(0)\n .loadBalancerPassToTarget(true)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .securityGroups(exampleGroup.id())\n .logSetId(log.id())\n .logTopicId(topic.id())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\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 subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${var.availability_zone}\n cidrBlock: 10.0.1.0/24\n isMulticast: false\n # create route table\n route:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${vpc.id}\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n log:\n type: tencentcloud:Clb:LogSet\n properties:\n period: 7\n # create topic\n topic:\n type: tencentcloud:Clb:LogTopic\n properties:\n logSetId: ${log.id}\n topicName: clb-topic\n # create clb\n exampleInstance:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: INTERNAL\n clbName: tf-example\n projectId: 0\n loadBalancerPassToTarget: true\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n securityGroups:\n - ${exampleGroup.id}\n logSetId: ${log.id}\n logTopicId: ${topic.id}\n tags:\n tagKey: tagValue\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 example lb-7a0t6zqb\n```\n", "properties": { "addressIpVersion": { "type": "string", @@ -134554,6 +139035,10 @@ }, "description": "The virtual service address table of the CLB.\n" }, + "clusterId": { + "type": "string", + "description": "Cluster ID.\n" + }, "deleteProtect": { "type": "boolean", "description": "Whether to enable delete protection.\n" @@ -134673,13 +139158,16 @@ "internetBandwidthMaxOut", "internetChargeType", "ipv6Mode", + "masterZoneId", "networkType", "slaType", + "slaveZoneId", "targetRegionInfoRegion", "targetRegionInfoVpcId", "vip", "vipIsp", - "vpcId" + "vpcId", + "zoneId" ], "inputProperties": { "addressIpVersion": { @@ -134694,6 +139182,11 @@ "type": "string", "description": "Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'.\n" }, + "clusterId": { + "type": "string", + "description": "Cluster ID.\n", + "willReplaceOnChanges": true + }, "deleteProtect": { "type": "boolean", "description": "Whether to enable delete protection.\n" @@ -134733,8 +139226,7 @@ }, "projectId": { "type": "integer", - "description": "ID of the project within the CLB instance, `0` - Default Project.\n", - "willReplaceOnChanges": true + "description": "ID of the project within the CLB instance, `0` - Default Project.\n" }, "securityGroups": { "type": "array", @@ -134832,6 +139324,11 @@ }, "description": "The virtual service address table of the CLB.\n" }, + "clusterId": { + "type": "string", + "description": "Cluster ID.\n", + "willReplaceOnChanges": true + }, "deleteProtect": { "type": "boolean", "description": "Whether to enable delete protection.\n" @@ -134879,8 +139376,7 @@ }, "projectId": { "type": "integer", - "description": "ID of the project within the CLB instance, `0` - Default Project.\n", - "willReplaceOnChanges": true + "description": "ID of the project within the CLB instance, `0` - Default Project.\n" }, "securityGroups": { "type": "array", @@ -135459,7 +139955,7 @@ } }, "tencentcloud:Clb/listenerRule:ListenerRule": { - "description": "Provides a resource to create a CLB listener rule.\n\n\u003e **NOTE:** This resource only be applied to the HTTP or HTTPS listeners.\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.clb.ListenerRule(\"foo\", {\n certificateCaId: \"VfqO4zkB\",\n certificateId: \"VjANRdz8\",\n certificateSslMode: \"MUTUAL\",\n clbId: \"lb-k2zjp9lv\",\n domain: \"foo.net\",\n healthCheckHealthNum: 3,\n healthCheckHttpCode: 2,\n healthCheckHttpDomain: \"Default Domain\",\n healthCheckHttpMethod: \"GET\",\n healthCheckHttpPath: \"Default Path\",\n healthCheckIntervalTime: 5,\n healthCheckSwitch: true,\n healthCheckUnhealthNum: 3,\n listenerId: \"lbl-hh141sn9\",\n scheduler: \"WRR\",\n sessionExpireTime: 30,\n url: \"/bar\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.clb.ListenerRule(\"foo\",\n certificate_ca_id=\"VfqO4zkB\",\n certificate_id=\"VjANRdz8\",\n certificate_ssl_mode=\"MUTUAL\",\n clb_id=\"lb-k2zjp9lv\",\n domain=\"foo.net\",\n health_check_health_num=3,\n health_check_http_code=2,\n health_check_http_domain=\"Default Domain\",\n health_check_http_method=\"GET\",\n health_check_http_path=\"Default Path\",\n health_check_interval_time=5,\n health_check_switch=True,\n health_check_unhealth_num=3,\n listener_id=\"lbl-hh141sn9\",\n scheduler=\"WRR\",\n session_expire_time=30,\n url=\"/bar\")\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.Clb.ListenerRule(\"foo\", new()\n {\n CertificateCaId = \"VfqO4zkB\",\n CertificateId = \"VjANRdz8\",\n CertificateSslMode = \"MUTUAL\",\n ClbId = \"lb-k2zjp9lv\",\n Domain = \"foo.net\",\n HealthCheckHealthNum = 3,\n HealthCheckHttpCode = 2,\n HealthCheckHttpDomain = \"Default Domain\",\n HealthCheckHttpMethod = \"GET\",\n HealthCheckHttpPath = \"Default Path\",\n HealthCheckIntervalTime = 5,\n HealthCheckSwitch = true,\n HealthCheckUnhealthNum = 3,\n ListenerId = \"lbl-hh141sn9\",\n Scheduler = \"WRR\",\n SessionExpireTime = 30,\n Url = \"/bar\",\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.NewListenerRule(ctx, \"foo\", \u0026Clb.ListenerRuleArgs{\n\t\t\tCertificateCaId: pulumi.String(\"VfqO4zkB\"),\n\t\t\tCertificateId: pulumi.String(\"VjANRdz8\"),\n\t\t\tCertificateSslMode: pulumi.String(\"MUTUAL\"),\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tDomain: pulumi.String(\"foo.net\"),\n\t\t\tHealthCheckHealthNum: pulumi.Int(3),\n\t\t\tHealthCheckHttpCode: pulumi.Int(2),\n\t\t\tHealthCheckHttpDomain: pulumi.String(\"Default Domain\"),\n\t\t\tHealthCheckHttpMethod: pulumi.String(\"GET\"),\n\t\t\tHealthCheckHttpPath: pulumi.String(\"Default Path\"),\n\t\t\tHealthCheckIntervalTime: pulumi.Int(5),\n\t\t\tHealthCheckSwitch: pulumi.Bool(true),\n\t\t\tHealthCheckUnhealthNum: pulumi.Int(3),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tScheduler: pulumi.String(\"WRR\"),\n\t\t\tSessionExpireTime: pulumi.Int(30),\n\t\t\tUrl: pulumi.String(\"/bar\"),\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.ListenerRule;\nimport com.pulumi.tencentcloud.Clb.ListenerRuleArgs;\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 ListenerRule(\"foo\", ListenerRuleArgs.builder() \n .certificateCaId(\"VfqO4zkB\")\n .certificateId(\"VjANRdz8\")\n .certificateSslMode(\"MUTUAL\")\n .clbId(\"lb-k2zjp9lv\")\n .domain(\"foo.net\")\n .healthCheckHealthNum(3)\n .healthCheckHttpCode(2)\n .healthCheckHttpDomain(\"Default Domain\")\n .healthCheckHttpMethod(\"GET\")\n .healthCheckHttpPath(\"Default Path\")\n .healthCheckIntervalTime(5)\n .healthCheckSwitch(true)\n .healthCheckUnhealthNum(3)\n .listenerId(\"lbl-hh141sn9\")\n .scheduler(\"WRR\")\n .sessionExpireTime(30)\n .url(\"/bar\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Clb:ListenerRule\n properties:\n certificateCaId: VfqO4zkB\n certificateId: VjANRdz8\n certificateSslMode: MUTUAL\n clbId: lb-k2zjp9lv\n domain: foo.net\n healthCheckHealthNum: 3\n healthCheckHttpCode: 2\n healthCheckHttpDomain: Default Domain\n healthCheckHttpMethod: GET\n healthCheckHttpPath: Default Path\n healthCheckIntervalTime: 5\n healthCheckSwitch: true\n healthCheckUnhealthNum: 3\n listenerId: lbl-hh141sn9\n scheduler: WRR\n sessionExpireTime: 30\n url: /bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLB listener rule can be imported using the id (version \u003e= 1.47.0), e.g.\n\n```sh\n$ pulumi import tencentcloud:Clb/listenerRule:ListenerRule foo lb-7a0t6zqb#lbl-hh141sn9#loc-agg236ys\n```\n", + "description": "Provides a resource to create a CLB listener rule.\n\n\u003e **NOTE:** This resource only be applied to the HTTP or HTTPS listeners.\n\n## Example Usage\n\n### Create a single domain listener rule\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.clb.ListenerRule(\"example\", {\n certificateCaId: \"VfqO4zkB\",\n certificateId: \"VjANRdz8\",\n certificateSslMode: \"MUTUAL\",\n clbId: \"lb-k2zjp9lv\",\n domain: \"example.com\",\n healthCheckHealthNum: 3,\n healthCheckHttpCode: 2,\n healthCheckHttpDomain: \"check.com\",\n healthCheckHttpMethod: \"GET\",\n healthCheckHttpPath: \"/\",\n healthCheckIntervalTime: 5,\n healthCheckSwitch: true,\n healthCheckUnhealthNum: 3,\n listenerId: \"lbl-hh141sn9\",\n scheduler: \"WRR\",\n sessionExpireTime: 30,\n url: \"/\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.ListenerRule(\"example\",\n certificate_ca_id=\"VfqO4zkB\",\n certificate_id=\"VjANRdz8\",\n certificate_ssl_mode=\"MUTUAL\",\n clb_id=\"lb-k2zjp9lv\",\n domain=\"example.com\",\n health_check_health_num=3,\n health_check_http_code=2,\n health_check_http_domain=\"check.com\",\n health_check_http_method=\"GET\",\n health_check_http_path=\"/\",\n health_check_interval_time=5,\n health_check_switch=True,\n health_check_unhealth_num=3,\n listener_id=\"lbl-hh141sn9\",\n scheduler=\"WRR\",\n session_expire_time=30,\n url=\"/\")\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.Clb.ListenerRule(\"example\", new()\n {\n CertificateCaId = \"VfqO4zkB\",\n CertificateId = \"VjANRdz8\",\n CertificateSslMode = \"MUTUAL\",\n ClbId = \"lb-k2zjp9lv\",\n Domain = \"example.com\",\n HealthCheckHealthNum = 3,\n HealthCheckHttpCode = 2,\n HealthCheckHttpDomain = \"check.com\",\n HealthCheckHttpMethod = \"GET\",\n HealthCheckHttpPath = \"/\",\n HealthCheckIntervalTime = 5,\n HealthCheckSwitch = true,\n HealthCheckUnhealthNum = 3,\n ListenerId = \"lbl-hh141sn9\",\n Scheduler = \"WRR\",\n SessionExpireTime = 30,\n Url = \"/\",\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.NewListenerRule(ctx, \"example\", \u0026Clb.ListenerRuleArgs{\n\t\t\tCertificateCaId: pulumi.String(\"VfqO4zkB\"),\n\t\t\tCertificateId: pulumi.String(\"VjANRdz8\"),\n\t\t\tCertificateSslMode: pulumi.String(\"MUTUAL\"),\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\tHealthCheckHealthNum: pulumi.Int(3),\n\t\t\tHealthCheckHttpCode: pulumi.Int(2),\n\t\t\tHealthCheckHttpDomain: pulumi.String(\"check.com\"),\n\t\t\tHealthCheckHttpMethod: pulumi.String(\"GET\"),\n\t\t\tHealthCheckHttpPath: pulumi.String(\"/\"),\n\t\t\tHealthCheckIntervalTime: pulumi.Int(5),\n\t\t\tHealthCheckSwitch: pulumi.Bool(true),\n\t\t\tHealthCheckUnhealthNum: pulumi.Int(3),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tScheduler: pulumi.String(\"WRR\"),\n\t\t\tSessionExpireTime: pulumi.Int(30),\n\t\t\tUrl: pulumi.String(\"/\"),\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.ListenerRule;\nimport com.pulumi.tencentcloud.Clb.ListenerRuleArgs;\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 ListenerRule(\"example\", ListenerRuleArgs.builder() \n .certificateCaId(\"VfqO4zkB\")\n .certificateId(\"VjANRdz8\")\n .certificateSslMode(\"MUTUAL\")\n .clbId(\"lb-k2zjp9lv\")\n .domain(\"example.com\")\n .healthCheckHealthNum(3)\n .healthCheckHttpCode(2)\n .healthCheckHttpDomain(\"check.com\")\n .healthCheckHttpMethod(\"GET\")\n .healthCheckHttpPath(\"/\")\n .healthCheckIntervalTime(5)\n .healthCheckSwitch(true)\n .healthCheckUnhealthNum(3)\n .listenerId(\"lbl-hh141sn9\")\n .scheduler(\"WRR\")\n .sessionExpireTime(30)\n .url(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:ListenerRule\n properties:\n certificateCaId: VfqO4zkB\n certificateId: VjANRdz8\n certificateSslMode: MUTUAL\n clbId: lb-k2zjp9lv\n domain: example.com\n healthCheckHealthNum: 3\n healthCheckHttpCode: 2\n healthCheckHttpDomain: check.com\n healthCheckHttpMethod: GET\n healthCheckHttpPath: /\n healthCheckIntervalTime: 5\n healthCheckSwitch: true\n healthCheckUnhealthNum: 3\n listenerId: lbl-hh141sn9\n scheduler: WRR\n sessionExpireTime: 30\n url: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a listener rule for domain lists\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.clb.ListenerRule(\"example\", {\n clbId: \"lb-k2zjp9lv\",\n domains: [\n \"example1.com\",\n \"example2.com\",\n ],\n healthCheckHealthNum: 3,\n healthCheckHttpCode: 2,\n healthCheckHttpDomain: \"check.com\",\n healthCheckHttpMethod: \"GET\",\n healthCheckHttpPath: \"/\",\n healthCheckIntervalTime: 5,\n healthCheckSwitch: true,\n healthCheckUnhealthNum: 3,\n listenerId: \"lbl-hh141sn9\",\n scheduler: \"WRR\",\n url: \"/\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.clb.ListenerRule(\"example\",\n clb_id=\"lb-k2zjp9lv\",\n domains=[\n \"example1.com\",\n \"example2.com\",\n ],\n health_check_health_num=3,\n health_check_http_code=2,\n health_check_http_domain=\"check.com\",\n health_check_http_method=\"GET\",\n health_check_http_path=\"/\",\n health_check_interval_time=5,\n health_check_switch=True,\n health_check_unhealth_num=3,\n listener_id=\"lbl-hh141sn9\",\n scheduler=\"WRR\",\n url=\"/\")\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.Clb.ListenerRule(\"example\", new()\n {\n ClbId = \"lb-k2zjp9lv\",\n Domains = new[]\n {\n \"example1.com\",\n \"example2.com\",\n },\n HealthCheckHealthNum = 3,\n HealthCheckHttpCode = 2,\n HealthCheckHttpDomain = \"check.com\",\n HealthCheckHttpMethod = \"GET\",\n HealthCheckHttpPath = \"/\",\n HealthCheckIntervalTime = 5,\n HealthCheckSwitch = true,\n HealthCheckUnhealthNum = 3,\n ListenerId = \"lbl-hh141sn9\",\n Scheduler = \"WRR\",\n Url = \"/\",\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.NewListenerRule(ctx, \"example\", \u0026Clb.ListenerRuleArgs{\n\t\t\tClbId: pulumi.String(\"lb-k2zjp9lv\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example1.com\"),\n\t\t\t\tpulumi.String(\"example2.com\"),\n\t\t\t},\n\t\t\tHealthCheckHealthNum: pulumi.Int(3),\n\t\t\tHealthCheckHttpCode: pulumi.Int(2),\n\t\t\tHealthCheckHttpDomain: pulumi.String(\"check.com\"),\n\t\t\tHealthCheckHttpMethod: pulumi.String(\"GET\"),\n\t\t\tHealthCheckHttpPath: pulumi.String(\"/\"),\n\t\t\tHealthCheckIntervalTime: pulumi.Int(5),\n\t\t\tHealthCheckSwitch: pulumi.Bool(true),\n\t\t\tHealthCheckUnhealthNum: pulumi.Int(3),\n\t\t\tListenerId: pulumi.String(\"lbl-hh141sn9\"),\n\t\t\tScheduler: pulumi.String(\"WRR\"),\n\t\t\tUrl: pulumi.String(\"/\"),\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.ListenerRule;\nimport com.pulumi.tencentcloud.Clb.ListenerRuleArgs;\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 ListenerRule(\"example\", ListenerRuleArgs.builder() \n .clbId(\"lb-k2zjp9lv\")\n .domains( \n \"example1.com\",\n \"example2.com\")\n .healthCheckHealthNum(3)\n .healthCheckHttpCode(2)\n .healthCheckHttpDomain(\"check.com\")\n .healthCheckHttpMethod(\"GET\")\n .healthCheckHttpPath(\"/\")\n .healthCheckIntervalTime(5)\n .healthCheckSwitch(true)\n .healthCheckUnhealthNum(3)\n .listenerId(\"lbl-hh141sn9\")\n .scheduler(\"WRR\")\n .url(\"/\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Clb:ListenerRule\n properties:\n clbId: lb-k2zjp9lv\n domains:\n - example1.com\n - example2.com\n healthCheckHealthNum: 3\n healthCheckHttpCode: 2\n healthCheckHttpDomain: check.com\n healthCheckHttpMethod: GET\n healthCheckHttpPath: /\n healthCheckIntervalTime: 5\n healthCheckSwitch: true\n healthCheckUnhealthNum: 3\n listenerId: lbl-hh141sn9\n scheduler: WRR\n url: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLB listener rule can be imported using the id (version \u003e= 1.47.0), e.g.\n\n```sh\n$ pulumi import tencentcloud:Clb/listenerRule:ListenerRule example lb-k2zjp9lv#lbl-hh141sn9#loc-agg236ys\n```\n", "properties": { "certificateCaId": { "type": "string", @@ -135479,7 +139975,14 @@ }, "domain": { "type": "string", - "description": "Domain name of the listener rule.\n" + "description": "Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n" + }, + "domains": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n" }, "forwardType": { "type": "string", @@ -135561,6 +140064,7 @@ "required": [ "clbId", "domain", + "domains", "forwardType", "healthCheckHealthNum", "healthCheckHttpCode", @@ -135598,7 +140102,15 @@ }, "domain": { "type": "string", - "description": "Domain name of the listener rule.\n" + "description": "Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n" + }, + "domains": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n", + "willReplaceOnChanges": true }, "forwardType": { "type": "string", @@ -135677,7 +140189,6 @@ }, "requiredInputs": [ "clbId", - "domain", "listenerId", "url" ], @@ -135703,7 +140214,15 @@ }, "domain": { "type": "string", - "description": "Domain name of the listener rule.\n" + "description": "Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n" + }, + "domains": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`.\n", + "willReplaceOnChanges": true }, "forwardType": { "type": "string", @@ -138379,38 +142898,38 @@ } }, "tencentcloud:Cls/dataTransform:DataTransform": { - "description": "Provides a resource to create a cls data_transform\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 logsetSrc = new tencentcloud.cls.Logset(\"logsetSrc\", {\n logsetName: \"tf-example-src\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst topicSrc = new tencentcloud.cls.Topic(\"topicSrc\", {\n topicName: \"tf-example_src\",\n logsetId: logsetSrc.id,\n autoSplit: false,\n maxSplitPartitions: 20,\n partitionCount: 1,\n period: 10,\n storageType: \"hot\",\n tags: {\n test: \"test\",\n },\n});\nconst logsetDst = new tencentcloud.cls.Logset(\"logsetDst\", {\n logsetName: \"tf-example-dst\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst topicDst = new tencentcloud.cls.Topic(\"topicDst\", {\n topicName: \"tf-example-dst\",\n logsetId: logsetDst.id,\n autoSplit: false,\n maxSplitPartitions: 20,\n partitionCount: 1,\n period: 10,\n storageType: \"hot\",\n tags: {\n test: \"test\",\n },\n});\nconst dataTransform = new tencentcloud.cls.DataTransform(\"dataTransform\", {\n funcType: 1,\n srcTopicId: topicSrc.id,\n etlContent: \"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\",\n taskType: 3,\n enableFlag: 1,\n dstResources: [{\n topicId: topicDst.id,\n alias: \"iac-test-dst\",\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nlogset_src = tencentcloud.cls.Logset(\"logsetSrc\",\n logset_name=\"tf-example-src\",\n tags={\n \"createdBy\": \"terraform\",\n })\ntopic_src = tencentcloud.cls.Topic(\"topicSrc\",\n topic_name=\"tf-example_src\",\n logset_id=logset_src.id,\n auto_split=False,\n max_split_partitions=20,\n partition_count=1,\n period=10,\n storage_type=\"hot\",\n tags={\n \"test\": \"test\",\n })\nlogset_dst = tencentcloud.cls.Logset(\"logsetDst\",\n logset_name=\"tf-example-dst\",\n tags={\n \"createdBy\": \"terraform\",\n })\ntopic_dst = tencentcloud.cls.Topic(\"topicDst\",\n topic_name=\"tf-example-dst\",\n logset_id=logset_dst.id,\n auto_split=False,\n max_split_partitions=20,\n partition_count=1,\n period=10,\n storage_type=\"hot\",\n tags={\n \"test\": \"test\",\n })\ndata_transform = tencentcloud.cls.DataTransform(\"dataTransform\",\n func_type=1,\n src_topic_id=topic_src.id,\n etl_content=\"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\",\n task_type=3,\n enable_flag=1,\n dst_resources=[tencentcloud.cls.DataTransformDstResourceArgs(\n topic_id=topic_dst.id,\n alias=\"iac-test-dst\",\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 logsetSrc = new Tencentcloud.Cls.Logset(\"logsetSrc\", new()\n {\n LogsetName = \"tf-example-src\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var topicSrc = new Tencentcloud.Cls.Topic(\"topicSrc\", new()\n {\n TopicName = \"tf-example_src\",\n LogsetId = logsetSrc.Id,\n AutoSplit = false,\n MaxSplitPartitions = 20,\n PartitionCount = 1,\n Period = 10,\n StorageType = \"hot\",\n Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var logsetDst = new Tencentcloud.Cls.Logset(\"logsetDst\", new()\n {\n LogsetName = \"tf-example-dst\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var topicDst = new Tencentcloud.Cls.Topic(\"topicDst\", new()\n {\n TopicName = \"tf-example-dst\",\n LogsetId = logsetDst.Id,\n AutoSplit = false,\n MaxSplitPartitions = 20,\n PartitionCount = 1,\n Period = 10,\n StorageType = \"hot\",\n Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var dataTransform = new Tencentcloud.Cls.DataTransform(\"dataTransform\", new()\n {\n FuncType = 1,\n SrcTopicId = topicSrc.Id,\n EtlContent = \"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\",\n TaskType = 3,\n EnableFlag = 1,\n DstResources = new[]\n {\n new Tencentcloud.Cls.Inputs.DataTransformDstResourceArgs\n {\n TopicId = topicDst.Id,\n Alias = \"iac-test-dst\",\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/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogsetSrc, err := Cls.NewLogset(ctx, \"logsetSrc\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf-example-src\"),\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\ttopicSrc, err := Cls.NewTopic(ctx, \"topicSrc\", \u0026Cls.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"tf-example_src\"),\n\t\t\tLogsetId: logsetSrc.ID(),\n\t\t\tAutoSplit: pulumi.Bool(false),\n\t\t\tMaxSplitPartitions: pulumi.Int(20),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(10),\n\t\t\tStorageType: pulumi.String(\"hot\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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\tlogsetDst, err := Cls.NewLogset(ctx, \"logsetDst\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf-example-dst\"),\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\ttopicDst, err := Cls.NewTopic(ctx, \"topicDst\", \u0026Cls.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"tf-example-dst\"),\n\t\t\tLogsetId: logsetDst.ID(),\n\t\t\tAutoSplit: pulumi.Bool(false),\n\t\t\tMaxSplitPartitions: pulumi.Int(20),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(10),\n\t\t\tStorageType: pulumi.String(\"hot\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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\t_, err = Cls.NewDataTransform(ctx, \"dataTransform\", \u0026Cls.DataTransformArgs{\n\t\t\tFuncType: pulumi.Int(1),\n\t\t\tSrcTopicId: topicSrc.ID(),\n\t\t\tEtlContent: pulumi.String(\"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\"),\n\t\t\tTaskType: pulumi.Int(3),\n\t\t\tEnableFlag: pulumi.Int(1),\n\t\t\tDstResources: cls.DataTransformDstResourceArray{\n\t\t\t\t\u0026cls.DataTransformDstResourceArgs{\n\t\t\t\t\tTopicId: topicDst.ID(),\n\t\t\t\t\tAlias: pulumi.String(\"iac-test-dst\"),\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.Cls.Logset;\nimport com.pulumi.tencentcloud.Cls.LogsetArgs;\nimport com.pulumi.tencentcloud.Cls.Topic;\nimport com.pulumi.tencentcloud.Cls.TopicArgs;\nimport com.pulumi.tencentcloud.Cls.DataTransform;\nimport com.pulumi.tencentcloud.Cls.DataTransformArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.DataTransformDstResourceArgs;\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 logsetSrc = new Logset(\"logsetSrc\", LogsetArgs.builder() \n .logsetName(\"tf-example-src\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var topicSrc = new Topic(\"topicSrc\", TopicArgs.builder() \n .topicName(\"tf-example_src\")\n .logsetId(logsetSrc.id())\n .autoSplit(false)\n .maxSplitPartitions(20)\n .partitionCount(1)\n .period(10)\n .storageType(\"hot\")\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n var logsetDst = new Logset(\"logsetDst\", LogsetArgs.builder() \n .logsetName(\"tf-example-dst\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var topicDst = new Topic(\"topicDst\", TopicArgs.builder() \n .topicName(\"tf-example-dst\")\n .logsetId(logsetDst.id())\n .autoSplit(false)\n .maxSplitPartitions(20)\n .partitionCount(1)\n .period(10)\n .storageType(\"hot\")\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n var dataTransform = new DataTransform(\"dataTransform\", DataTransformArgs.builder() \n .funcType(1)\n .srcTopicId(topicSrc.id())\n .etlContent(\"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\")\n .taskType(3)\n .enableFlag(1)\n .dstResources(DataTransformDstResourceArgs.builder()\n .topicId(topicDst.id())\n .alias(\"iac-test-dst\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logsetSrc:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf-example-src\n tags:\n createdBy: terraform\n topicSrc:\n type: tencentcloud:Cls:Topic\n properties:\n topicName: tf-example_src\n logsetId: ${logsetSrc.id}\n autoSplit: false\n maxSplitPartitions: 20\n partitionCount: 1\n period: 10\n storageType: hot\n tags:\n test: test\n logsetDst:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf-example-dst\n tags:\n createdBy: terraform\n topicDst:\n type: tencentcloud:Cls:Topic\n properties:\n topicName: tf-example-dst\n logsetId: ${logsetDst.id}\n autoSplit: false\n maxSplitPartitions: 20\n partitionCount: 1\n period: 10\n storageType: hot\n tags:\n test: test\n dataTransform:\n type: tencentcloud:Cls:DataTransform\n properties:\n funcType: 1\n srcTopicId: ${topicSrc.id}\n etlContent: ext_sep(\"content\", \"f1, f2, f3\", sep=\",\", quote=\"\", restrict=False, mode=\"overwrite\")fields_drop(\"content\")\n taskType: 3\n enableFlag: 1\n dstResources:\n - topicId: ${topicDst.id}\n alias: iac-test-dst\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncls data_transform can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cls/dataTransform:DataTransform data_transform data_transform_id\n```\n\n", + "description": "Provides a resource to create a CLS data transform\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 logsetSrc = new tencentcloud.cls.Logset(\"logsetSrc\", {\n logsetName: \"tf-example-src\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst topicSrc = new tencentcloud.cls.Topic(\"topicSrc\", {\n topicName: \"tf-example_src\",\n logsetId: logsetSrc.id,\n autoSplit: false,\n maxSplitPartitions: 20,\n partitionCount: 1,\n period: 10,\n storageType: \"hot\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst logsetDst = new tencentcloud.cls.Logset(\"logsetDst\", {\n logsetName: \"tf-example-dst\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst topicDst = new tencentcloud.cls.Topic(\"topicDst\", {\n topicName: \"tf-example-dst\",\n logsetId: logsetDst.id,\n autoSplit: false,\n maxSplitPartitions: 20,\n partitionCount: 1,\n period: 10,\n storageType: \"hot\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst example = new tencentcloud.cls.DataTransform(\"example\", {\n funcType: 1,\n srcTopicId: topicSrc.id,\n etlContent: \"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\",\n taskType: 3,\n enableFlag: 1,\n dstResources: [{\n topicId: topicDst.id,\n alias: \"iac-test-dst\",\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nlogset_src = tencentcloud.cls.Logset(\"logsetSrc\",\n logset_name=\"tf-example-src\",\n tags={\n \"createdBy\": \"terraform\",\n })\ntopic_src = tencentcloud.cls.Topic(\"topicSrc\",\n topic_name=\"tf-example_src\",\n logset_id=logset_src.id,\n auto_split=False,\n max_split_partitions=20,\n partition_count=1,\n period=10,\n storage_type=\"hot\",\n tags={\n \"createdBy\": \"terraform\",\n })\nlogset_dst = tencentcloud.cls.Logset(\"logsetDst\",\n logset_name=\"tf-example-dst\",\n tags={\n \"createdBy\": \"terraform\",\n })\ntopic_dst = tencentcloud.cls.Topic(\"topicDst\",\n topic_name=\"tf-example-dst\",\n logset_id=logset_dst.id,\n auto_split=False,\n max_split_partitions=20,\n partition_count=1,\n period=10,\n storage_type=\"hot\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample = tencentcloud.cls.DataTransform(\"example\",\n func_type=1,\n src_topic_id=topic_src.id,\n etl_content=\"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\",\n task_type=3,\n enable_flag=1,\n dst_resources=[tencentcloud.cls.DataTransformDstResourceArgs(\n topic_id=topic_dst.id,\n alias=\"iac-test-dst\",\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 logsetSrc = new Tencentcloud.Cls.Logset(\"logsetSrc\", new()\n {\n LogsetName = \"tf-example-src\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var topicSrc = new Tencentcloud.Cls.Topic(\"topicSrc\", new()\n {\n TopicName = \"tf-example_src\",\n LogsetId = logsetSrc.Id,\n AutoSplit = false,\n MaxSplitPartitions = 20,\n PartitionCount = 1,\n Period = 10,\n StorageType = \"hot\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var logsetDst = new Tencentcloud.Cls.Logset(\"logsetDst\", new()\n {\n LogsetName = \"tf-example-dst\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var topicDst = new Tencentcloud.Cls.Topic(\"topicDst\", new()\n {\n TopicName = \"tf-example-dst\",\n LogsetId = logsetDst.Id,\n AutoSplit = false,\n MaxSplitPartitions = 20,\n PartitionCount = 1,\n Period = 10,\n StorageType = \"hot\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var example = new Tencentcloud.Cls.DataTransform(\"example\", new()\n {\n FuncType = 1,\n SrcTopicId = topicSrc.Id,\n EtlContent = \"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\",\n TaskType = 3,\n EnableFlag = 1,\n DstResources = new[]\n {\n new Tencentcloud.Cls.Inputs.DataTransformDstResourceArgs\n {\n TopicId = topicDst.Id,\n Alias = \"iac-test-dst\",\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/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlogsetSrc, err := Cls.NewLogset(ctx, \"logsetSrc\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf-example-src\"),\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\ttopicSrc, err := Cls.NewTopic(ctx, \"topicSrc\", \u0026Cls.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"tf-example_src\"),\n\t\t\tLogsetId: logsetSrc.ID(),\n\t\t\tAutoSplit: pulumi.Bool(false),\n\t\t\tMaxSplitPartitions: pulumi.Int(20),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(10),\n\t\t\tStorageType: pulumi.String(\"hot\"),\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\tlogsetDst, err := Cls.NewLogset(ctx, \"logsetDst\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf-example-dst\"),\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\ttopicDst, err := Cls.NewTopic(ctx, \"topicDst\", \u0026Cls.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"tf-example-dst\"),\n\t\t\tLogsetId: logsetDst.ID(),\n\t\t\tAutoSplit: pulumi.Bool(false),\n\t\t\tMaxSplitPartitions: pulumi.Int(20),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(10),\n\t\t\tStorageType: pulumi.String(\"hot\"),\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 = Cls.NewDataTransform(ctx, \"example\", \u0026Cls.DataTransformArgs{\n\t\t\tFuncType: pulumi.Int(1),\n\t\t\tSrcTopicId: topicSrc.ID(),\n\t\t\tEtlContent: pulumi.String(\"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\"),\n\t\t\tTaskType: pulumi.Int(3),\n\t\t\tEnableFlag: pulumi.Int(1),\n\t\t\tDstResources: cls.DataTransformDstResourceArray{\n\t\t\t\t\u0026cls.DataTransformDstResourceArgs{\n\t\t\t\t\tTopicId: topicDst.ID(),\n\t\t\t\t\tAlias: pulumi.String(\"iac-test-dst\"),\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.Cls.Logset;\nimport com.pulumi.tencentcloud.Cls.LogsetArgs;\nimport com.pulumi.tencentcloud.Cls.Topic;\nimport com.pulumi.tencentcloud.Cls.TopicArgs;\nimport com.pulumi.tencentcloud.Cls.DataTransform;\nimport com.pulumi.tencentcloud.Cls.DataTransformArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.DataTransformDstResourceArgs;\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 logsetSrc = new Logset(\"logsetSrc\", LogsetArgs.builder() \n .logsetName(\"tf-example-src\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var topicSrc = new Topic(\"topicSrc\", TopicArgs.builder() \n .topicName(\"tf-example_src\")\n .logsetId(logsetSrc.id())\n .autoSplit(false)\n .maxSplitPartitions(20)\n .partitionCount(1)\n .period(10)\n .storageType(\"hot\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var logsetDst = new Logset(\"logsetDst\", LogsetArgs.builder() \n .logsetName(\"tf-example-dst\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var topicDst = new Topic(\"topicDst\", TopicArgs.builder() \n .topicName(\"tf-example-dst\")\n .logsetId(logsetDst.id())\n .autoSplit(false)\n .maxSplitPartitions(20)\n .partitionCount(1)\n .period(10)\n .storageType(\"hot\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var example = new DataTransform(\"example\", DataTransformArgs.builder() \n .funcType(1)\n .srcTopicId(topicSrc.id())\n .etlContent(\"ext_sep(\\\"content\\\", \\\"f1, f2, f3\\\", sep=\\\",\\\", quote=\\\"\\\", restrict=False, mode=\\\"overwrite\\\")fields_drop(\\\"content\\\")\")\n .taskType(3)\n .enableFlag(1)\n .dstResources(DataTransformDstResourceArgs.builder()\n .topicId(topicDst.id())\n .alias(\"iac-test-dst\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n logsetSrc:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf-example-src\n tags:\n createdBy: terraform\n topicSrc:\n type: tencentcloud:Cls:Topic\n properties:\n topicName: tf-example_src\n logsetId: ${logsetSrc.id}\n autoSplit: false\n maxSplitPartitions: 20\n partitionCount: 1\n period: 10\n storageType: hot\n tags:\n createdBy: terraform\n logsetDst:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf-example-dst\n tags:\n createdBy: terraform\n topicDst:\n type: tencentcloud:Cls:Topic\n properties:\n topicName: tf-example-dst\n logsetId: ${logsetDst.id}\n autoSplit: false\n maxSplitPartitions: 20\n partitionCount: 1\n period: 10\n storageType: hot\n tags:\n createdBy: terraform\n example:\n type: tencentcloud:Cls:DataTransform\n properties:\n funcType: 1\n srcTopicId: ${topicSrc.id}\n etlContent: ext_sep(\"content\", \"f1, f2, f3\", sep=\",\", quote=\"\", restrict=False, mode=\"overwrite\")fields_drop(\"content\")\n taskType: 3\n enableFlag: 1\n dstResources:\n - topicId: ${topicDst.id}\n alias: iac-test-dst\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLS data transform can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cls/dataTransform:DataTransform example 7b4bcb05-9154-4cdc-a479-f6b5743846e5\n```\n\n", "properties": { "dstResources": { "type": "array", "items": { "$ref": "#/types/tencentcloud:Cls/DataTransformDstResource:DataTransformDstResource" }, - "description": "data transform des resources.\n" + "description": "Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in.\n" }, "enableFlag": { "type": "integer", - "description": "task enable flag.\n" + "description": "Task enable flag. `1`: enable, `2`: disable, Default is `1`.\n" }, "etlContent": { "type": "string", - "description": "data transform content.\n" + "description": "Data transform content. If `func_type` is `2`, must use `log_auto_output`.\n" }, "funcType": { "type": "integer", - "description": "task type.\n" + "description": "Task type. `1`: Specify the theme; `2`: Dynamic creation.\n" }, "name": { "type": "string", - "description": "task name.\n" + "description": "Task name.\n" }, "srcTopicId": { "type": "string", - "description": "src topic id.\n" + "description": "Source topic ID.\n" }, "taskType": { "type": "integer", - "description": "task type.\n" + "description": "Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks.\n" } }, "required": [ @@ -138426,31 +142945,31 @@ "items": { "$ref": "#/types/tencentcloud:Cls/DataTransformDstResource:DataTransformDstResource" }, - "description": "data transform des resources.\n" + "description": "Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in.\n" }, "enableFlag": { "type": "integer", - "description": "task enable flag.\n" + "description": "Task enable flag. `1`: enable, `2`: disable, Default is `1`.\n" }, "etlContent": { "type": "string", - "description": "data transform content.\n" + "description": "Data transform content. If `func_type` is `2`, must use `log_auto_output`.\n" }, "funcType": { "type": "integer", - "description": "task type.\n" + "description": "Task type. `1`: Specify the theme; `2`: Dynamic creation.\n" }, "name": { "type": "string", - "description": "task name.\n" + "description": "Task name.\n" }, "srcTopicId": { "type": "string", - "description": "src topic id.\n" + "description": "Source topic ID.\n" }, "taskType": { "type": "integer", - "description": "task type.\n" + "description": "Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks.\n" } }, "requiredInputs": [ @@ -138467,31 +142986,31 @@ "items": { "$ref": "#/types/tencentcloud:Cls/DataTransformDstResource:DataTransformDstResource" }, - "description": "data transform des resources.\n" + "description": "Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in.\n" }, "enableFlag": { "type": "integer", - "description": "task enable flag.\n" + "description": "Task enable flag. `1`: enable, `2`: disable, Default is `1`.\n" }, "etlContent": { "type": "string", - "description": "data transform content.\n" + "description": "Data transform content. If `func_type` is `2`, must use `log_auto_output`.\n" }, "funcType": { "type": "integer", - "description": "task type.\n" + "description": "Task type. `1`: Specify the theme; `2`: Dynamic creation.\n" }, "name": { "type": "string", - "description": "task name.\n" + "description": "Task name.\n" }, "srcTopicId": { "type": "string", - "description": "src topic id.\n" + "description": "Source topic ID.\n" }, "taskType": { "type": "integer", - "description": "task type.\n" + "description": "Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks.\n" } }, "type": "object" @@ -139259,7 +143778,7 @@ } }, "tencentcloud:Cls/topic:Topic": { - "description": "Provides a resource to create a cls 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 exampleLogset = new tencentcloud.cls.Logset(\"exampleLogset\", {\n logsetName: \"tf_example\",\n tags: {\n demo: \"test\",\n },\n});\nconst exampleTopic = new tencentcloud.cls.Topic(\"exampleTopic\", {\n topicName: \"tf_example\",\n logsetId: exampleLogset.id,\n autoSplit: false,\n maxSplitPartitions: 20,\n partitionCount: 1,\n period: 30,\n storageType: \"hot\",\n describes: \"Test Demo.\",\n hotPeriod: 10,\n tags: {\n test: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_logset = tencentcloud.cls.Logset(\"exampleLogset\",\n logset_name=\"tf_example\",\n tags={\n \"demo\": \"test\",\n })\nexample_topic = tencentcloud.cls.Topic(\"exampleTopic\",\n topic_name=\"tf_example\",\n logset_id=example_logset.id,\n auto_split=False,\n max_split_partitions=20,\n partition_count=1,\n period=30,\n storage_type=\"hot\",\n describes=\"Test Demo.\",\n hot_period=10,\n tags={\n \"test\": \"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 exampleLogset = new Tencentcloud.Cls.Logset(\"exampleLogset\", new()\n {\n LogsetName = \"tf_example\",\n Tags = \n {\n { \"demo\", \"test\" },\n },\n });\n\n var exampleTopic = new Tencentcloud.Cls.Topic(\"exampleTopic\", new()\n {\n TopicName = \"tf_example\",\n LogsetId = exampleLogset.Id,\n AutoSplit = false,\n MaxSplitPartitions = 20,\n PartitionCount = 1,\n Period = 30,\n StorageType = \"hot\",\n Describes = \"Test Demo.\",\n HotPeriod = 10,\n Tags = \n {\n { \"test\", \"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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogset, err := Cls.NewLogset(ctx, \"exampleLogset\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf_example\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"demo\": 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\t_, err = Cls.NewTopic(ctx, \"exampleTopic\", \u0026Cls.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"tf_example\"),\n\t\t\tLogsetId: exampleLogset.ID(),\n\t\t\tAutoSplit: pulumi.Bool(false),\n\t\t\tMaxSplitPartitions: pulumi.Int(20),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(30),\n\t\t\tStorageType: pulumi.String(\"hot\"),\n\t\t\tDescribes: pulumi.String(\"Test Demo.\"),\n\t\t\tHotPeriod: pulumi.Int(10),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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.Cls.Logset;\nimport com.pulumi.tencentcloud.Cls.LogsetArgs;\nimport com.pulumi.tencentcloud.Cls.Topic;\nimport com.pulumi.tencentcloud.Cls.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 exampleLogset = new Logset(\"exampleLogset\", LogsetArgs.builder() \n .logsetName(\"tf_example\")\n .tags(Map.of(\"demo\", \"test\"))\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .topicName(\"tf_example\")\n .logsetId(exampleLogset.id())\n .autoSplit(false)\n .maxSplitPartitions(20)\n .partitionCount(1)\n .period(30)\n .storageType(\"hot\")\n .describes(\"Test Demo.\")\n .hotPeriod(10)\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogset:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf_example\n tags:\n demo: test\n exampleTopic:\n type: tencentcloud:Cls:Topic\n properties:\n topicName: tf_example\n logsetId: ${exampleLogset.id}\n autoSplit: false\n maxSplitPartitions: 20\n partitionCount: 1\n period: 30\n storageType: hot\n describes: Test Demo.\n hotPeriod: 10\n tags:\n test: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncls topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cls/topic:Topic example 2f5764c1-c833-44c5-84c7-950979b2a278\n```\n", + "description": "Provides a resource to create a cls topic.\n\n## Example Usage\n\n### Create a standard cls topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleLogset = new tencentcloud.cls.Logset(\"exampleLogset\", {\n logsetName: \"tf_example\",\n tags: {\n tagKey: \"tagValue\",\n },\n});\nconst exampleTopic = new tencentcloud.cls.Topic(\"exampleTopic\", {\n topicName: \"tf_example\",\n logsetId: exampleLogset.id,\n autoSplit: false,\n maxSplitPartitions: 20,\n partitionCount: 1,\n period: 30,\n storageType: \"hot\",\n describes: \"Test Demo.\",\n hotPeriod: 10,\n tags: {\n tagKey: \"tagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_logset = tencentcloud.cls.Logset(\"exampleLogset\",\n logset_name=\"tf_example\",\n tags={\n \"tagKey\": \"tagValue\",\n })\nexample_topic = tencentcloud.cls.Topic(\"exampleTopic\",\n topic_name=\"tf_example\",\n logset_id=example_logset.id,\n auto_split=False,\n max_split_partitions=20,\n partition_count=1,\n period=30,\n storage_type=\"hot\",\n describes=\"Test Demo.\",\n hot_period=10,\n tags={\n \"tagKey\": \"tagValue\",\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 exampleLogset = new Tencentcloud.Cls.Logset(\"exampleLogset\", new()\n {\n LogsetName = \"tf_example\",\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\n },\n });\n\n var exampleTopic = new Tencentcloud.Cls.Topic(\"exampleTopic\", new()\n {\n TopicName = \"tf_example\",\n LogsetId = exampleLogset.Id,\n AutoSplit = false,\n MaxSplitPartitions = 20,\n PartitionCount = 1,\n Period = 30,\n StorageType = \"hot\",\n Describes = \"Test Demo.\",\n HotPeriod = 10,\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogset, err := Cls.NewLogset(ctx, \"exampleLogset\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf_example\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cls.NewTopic(ctx, \"exampleTopic\", \u0026Cls.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"tf_example\"),\n\t\t\tLogsetId: exampleLogset.ID(),\n\t\t\tAutoSplit: pulumi.Bool(false),\n\t\t\tMaxSplitPartitions: pulumi.Int(20),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(30),\n\t\t\tStorageType: pulumi.String(\"hot\"),\n\t\t\tDescribes: pulumi.String(\"Test Demo.\"),\n\t\t\tHotPeriod: pulumi.Int(10),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.Cls.Logset;\nimport com.pulumi.tencentcloud.Cls.LogsetArgs;\nimport com.pulumi.tencentcloud.Cls.Topic;\nimport com.pulumi.tencentcloud.Cls.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 exampleLogset = new Logset(\"exampleLogset\", LogsetArgs.builder() \n .logsetName(\"tf_example\")\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .topicName(\"tf_example\")\n .logsetId(exampleLogset.id())\n .autoSplit(false)\n .maxSplitPartitions(20)\n .partitionCount(1)\n .period(30)\n .storageType(\"hot\")\n .describes(\"Test Demo.\")\n .hotPeriod(10)\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogset:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf_example\n tags:\n tagKey: tagValue\n exampleTopic:\n type: tencentcloud:Cls:Topic\n properties:\n topicName: tf_example\n logsetId: ${exampleLogset.id}\n autoSplit: false\n maxSplitPartitions: 20\n partitionCount: 1\n period: 30\n storageType: hot\n describes: Test Demo.\n hotPeriod: 10\n tags:\n tagKey: tagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a cls topic with web tracking\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleLogset = new tencentcloud.cls.Logset(\"exampleLogset\", {\n logsetName: \"tf_example\",\n tags: {\n tagKey: \"tagValue\",\n },\n});\nconst exampleTopic = new tencentcloud.cls.Topic(\"exampleTopic\", {\n topicName: \"tf_example\",\n logsetId: exampleLogset.id,\n autoSplit: false,\n maxSplitPartitions: 20,\n partitionCount: 1,\n period: 30,\n storageType: \"hot\",\n describes: \"Test Demo.\",\n hotPeriod: 10,\n isWebTracking: true,\n \"extends\": {\n anonymousAccess: {\n operations: [\n \"trackLog\",\n \"realtimeProducer\",\n ],\n conditions: [{\n attributes: \"VpcID\",\n rule: 1,\n conditionValue: \"vpc-ahr3xajx\",\n }],\n },\n },\n tags: {\n tagKey: \"tagValue\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_logset = tencentcloud.cls.Logset(\"exampleLogset\",\n logset_name=\"tf_example\",\n tags={\n \"tagKey\": \"tagValue\",\n })\nexample_topic = tencentcloud.cls.Topic(\"exampleTopic\",\n topic_name=\"tf_example\",\n logset_id=example_logset.id,\n auto_split=False,\n max_split_partitions=20,\n partition_count=1,\n period=30,\n storage_type=\"hot\",\n describes=\"Test Demo.\",\n hot_period=10,\n is_web_tracking=True,\n extends=tencentcloud.cls.TopicExtendsArgs(\n anonymous_access=tencentcloud.cls.TopicExtendsAnonymousAccessArgs(\n operations=[\n \"trackLog\",\n \"realtimeProducer\",\n ],\n conditions=[tencentcloud.cls.TopicExtendsAnonymousAccessConditionArgs(\n attributes=\"VpcID\",\n rule=1,\n condition_value=\"vpc-ahr3xajx\",\n )],\n ),\n ),\n tags={\n \"tagKey\": \"tagValue\",\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 exampleLogset = new Tencentcloud.Cls.Logset(\"exampleLogset\", new()\n {\n LogsetName = \"tf_example\",\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\n },\n });\n\n var exampleTopic = new Tencentcloud.Cls.Topic(\"exampleTopic\", new()\n {\n TopicName = \"tf_example\",\n LogsetId = exampleLogset.Id,\n AutoSplit = false,\n MaxSplitPartitions = 20,\n PartitionCount = 1,\n Period = 30,\n StorageType = \"hot\",\n Describes = \"Test Demo.\",\n HotPeriod = 10,\n IsWebTracking = true,\n Extends = new Tencentcloud.Cls.Inputs.TopicExtendsArgs\n {\n AnonymousAccess = new Tencentcloud.Cls.Inputs.TopicExtendsAnonymousAccessArgs\n {\n Operations = new[]\n {\n \"trackLog\",\n \"realtimeProducer\",\n },\n Conditions = new[]\n {\n new Tencentcloud.Cls.Inputs.TopicExtendsAnonymousAccessConditionArgs\n {\n Attributes = \"VpcID\",\n Rule = 1,\n ConditionValue = \"vpc-ahr3xajx\",\n },\n },\n },\n },\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleLogset, err := Cls.NewLogset(ctx, \"exampleLogset\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf_example\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cls.NewTopic(ctx, \"exampleTopic\", \u0026Cls.TopicArgs{\n\t\t\tTopicName: pulumi.String(\"tf_example\"),\n\t\t\tLogsetId: exampleLogset.ID(),\n\t\t\tAutoSplit: pulumi.Bool(false),\n\t\t\tMaxSplitPartitions: pulumi.Int(20),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPeriod: pulumi.Int(30),\n\t\t\tStorageType: pulumi.String(\"hot\"),\n\t\t\tDescribes: pulumi.String(\"Test Demo.\"),\n\t\t\tHotPeriod: pulumi.Int(10),\n\t\t\tIsWebTracking: pulumi.Bool(true),\n\t\t\tExtends: \u0026cls.TopicExtendsArgs{\n\t\t\t\tAnonymousAccess: \u0026cls.TopicExtendsAnonymousAccessArgs{\n\t\t\t\t\tOperations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"trackLog\"),\n\t\t\t\t\t\tpulumi.String(\"realtimeProducer\"),\n\t\t\t\t\t},\n\t\t\t\t\tConditions: cls.TopicExtendsAnonymousAccessConditionArray{\n\t\t\t\t\t\t\u0026cls.TopicExtendsAnonymousAccessConditionArgs{\n\t\t\t\t\t\t\tAttributes: pulumi.String(\"VpcID\"),\n\t\t\t\t\t\t\tRule: pulumi.Int(1),\n\t\t\t\t\t\t\tConditionValue: pulumi.String(\"vpc-ahr3xajx\"),\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\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.Cls.Logset;\nimport com.pulumi.tencentcloud.Cls.LogsetArgs;\nimport com.pulumi.tencentcloud.Cls.Topic;\nimport com.pulumi.tencentcloud.Cls.TopicArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.TopicExtendsArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.TopicExtendsAnonymousAccessArgs;\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 exampleLogset = new Logset(\"exampleLogset\", LogsetArgs.builder() \n .logsetName(\"tf_example\")\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .topicName(\"tf_example\")\n .logsetId(exampleLogset.id())\n .autoSplit(false)\n .maxSplitPartitions(20)\n .partitionCount(1)\n .period(30)\n .storageType(\"hot\")\n .describes(\"Test Demo.\")\n .hotPeriod(10)\n .isWebTracking(true)\n .extends_(TopicExtendsArgs.builder()\n .anonymousAccess(TopicExtendsAnonymousAccessArgs.builder()\n .operations( \n \"trackLog\",\n \"realtimeProducer\")\n .conditions(TopicExtendsAnonymousAccessConditionArgs.builder()\n .attributes(\"VpcID\")\n .rule(1)\n .conditionValue(\"vpc-ahr3xajx\")\n .build())\n .build())\n .build())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogset:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf_example\n tags:\n tagKey: tagValue\n exampleTopic:\n type: tencentcloud:Cls:Topic\n properties:\n topicName: tf_example\n logsetId: ${exampleLogset.id}\n autoSplit: false\n maxSplitPartitions: 20\n partitionCount: 1\n period: 30\n storageType: hot\n describes: Test Demo.\n hotPeriod: 10\n isWebTracking: true\n extends:\n anonymousAccess:\n operations:\n - trackLog\n - realtimeProducer\n conditions:\n - attributes: VpcID\n rule: 1\n conditionValue: vpc-ahr3xajx\n tags:\n tagKey: tagValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncls topic can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cls/topic:Topic example 2f5764c1-c833-44c5-84c7-950979b2a278\n```\n", "properties": { "autoSplit": { "type": "boolean", @@ -139269,10 +143788,18 @@ "type": "string", "description": "Log Topic Description.\n" }, + "extends": { + "$ref": "#/types/tencentcloud:Cls/TopicExtends:TopicExtends", + "description": "Log Subject Extension Information.\n" + }, "hotPeriod": { "type": "integer", "description": "0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot.\n" }, + "isWebTracking": { + "type": "boolean", + "description": "No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations.\n" + }, "logsetId": { "type": "string", "description": "Logset ID.\n" @@ -139308,6 +143835,7 @@ "required": [ "autoSplit", "hotPeriod", + "isWebTracking", "logsetId", "maxSplitPartitions", "partitionCount", @@ -139324,10 +143852,18 @@ "type": "string", "description": "Log Topic Description.\n" }, + "extends": { + "$ref": "#/types/tencentcloud:Cls/TopicExtends:TopicExtends", + "description": "Log Subject Extension Information.\n" + }, "hotPeriod": { "type": "integer", "description": "0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot.\n" }, + "isWebTracking": { + "type": "boolean", + "description": "No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations.\n" + }, "logsetId": { "type": "string", "description": "Logset ID.\n" @@ -139375,10 +143911,18 @@ "type": "string", "description": "Log Topic Description.\n" }, + "extends": { + "$ref": "#/types/tencentcloud:Cls/TopicExtends:TopicExtends", + "description": "Log Subject Extension Information.\n" + }, "hotPeriod": { "type": "integer", "description": "0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot.\n" }, + "isWebTracking": { + "type": "boolean", + "description": "No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations.\n" + }, "logsetId": { "type": "string", "description": "Logset ID.\n" @@ -139415,7 +143959,7 @@ } }, "tencentcloud:Cos/batch:Batch": { - "description": "Provides a resource to create a cos bucket batch.\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 cosBatch = new tencentcloud.cos.Batch(\"cosBatch\", {\n appid: 1308919341,\n confirmationRequired: true,\n description: \"cos_batch\",\n manifest: {\n location: {\n etag: \"64357de8fd75a3abae2200135a2c9627\",\n objectArn: \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\",\n },\n spec: {\n format: \"COSInventoryReport_CSV_V1\",\n },\n },\n operation: {\n cosPutObjectCopy: {\n accessControlDirective: \"Copy\",\n metadataDirective: \"Copy\",\n prefixReplace: false,\n storageClass: \"STANDARD\",\n taggingDirective: \"Copy\",\n targetResource: \"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\",\n },\n },\n priority: 1,\n report: {\n bucket: \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\",\n enabled: \"true\",\n format: \"Report_CSV_V1\",\n reportScope: \"AllTasks\",\n },\n roleArn: \"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\",\n status: \"Cancelled\",\n uin: \"100022975249\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncos_batch = tencentcloud.cos.Batch(\"cosBatch\",\n appid=1308919341,\n confirmation_required=True,\n description=\"cos_batch\",\n manifest=tencentcloud.cos.BatchManifestArgs(\n location=tencentcloud.cos.BatchManifestLocationArgs(\n etag=\"64357de8fd75a3abae2200135a2c9627\",\n object_arn=\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\",\n ),\n spec=tencentcloud.cos.BatchManifestSpecArgs(\n format=\"COSInventoryReport_CSV_V1\",\n ),\n ),\n operation=tencentcloud.cos.BatchOperationArgs(\n cos_put_object_copy=tencentcloud.cos.BatchOperationCosPutObjectCopyArgs(\n access_control_directive=\"Copy\",\n metadata_directive=\"Copy\",\n prefix_replace=False,\n storage_class=\"STANDARD\",\n tagging_directive=\"Copy\",\n target_resource=\"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\",\n ),\n ),\n priority=1,\n report=tencentcloud.cos.BatchReportArgs(\n bucket=\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\",\n enabled=\"true\",\n format=\"Report_CSV_V1\",\n report_scope=\"AllTasks\",\n ),\n role_arn=\"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\",\n status=\"Cancelled\",\n uin=\"100022975249\")\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 cosBatch = new Tencentcloud.Cos.Batch(\"cosBatch\", new()\n {\n Appid = 1308919341,\n ConfirmationRequired = true,\n Description = \"cos_batch\",\n Manifest = new Tencentcloud.Cos.Inputs.BatchManifestArgs\n {\n Location = new Tencentcloud.Cos.Inputs.BatchManifestLocationArgs\n {\n Etag = \"64357de8fd75a3abae2200135a2c9627\",\n ObjectArn = \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\",\n },\n Spec = new Tencentcloud.Cos.Inputs.BatchManifestSpecArgs\n {\n Format = \"COSInventoryReport_CSV_V1\",\n },\n },\n Operation = new Tencentcloud.Cos.Inputs.BatchOperationArgs\n {\n CosPutObjectCopy = new Tencentcloud.Cos.Inputs.BatchOperationCosPutObjectCopyArgs\n {\n AccessControlDirective = \"Copy\",\n MetadataDirective = \"Copy\",\n PrefixReplace = false,\n StorageClass = \"STANDARD\",\n TaggingDirective = \"Copy\",\n TargetResource = \"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\",\n },\n },\n Priority = 1,\n Report = new Tencentcloud.Cos.Inputs.BatchReportArgs\n {\n Bucket = \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\",\n Enabled = \"true\",\n Format = \"Report_CSV_V1\",\n ReportScope = \"AllTasks\",\n },\n RoleArn = \"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\",\n Status = \"Cancelled\",\n Uin = \"100022975249\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBatch(ctx, \"cosBatch\", \u0026Cos.BatchArgs{\n\t\t\tAppid: pulumi.Int(1308919341),\n\t\t\tConfirmationRequired: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"cos_batch\"),\n\t\t\tManifest: \u0026cos.BatchManifestArgs{\n\t\t\t\tLocation: \u0026cos.BatchManifestLocationArgs{\n\t\t\t\t\tEtag: pulumi.String(\"64357de8fd75a3abae2200135a2c9627\"),\n\t\t\t\t\tObjectArn: pulumi.String(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\"),\n\t\t\t\t},\n\t\t\t\tSpec: \u0026cos.BatchManifestSpecArgs{\n\t\t\t\t\tFormat: pulumi.String(\"COSInventoryReport_CSV_V1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOperation: \u0026cos.BatchOperationArgs{\n\t\t\t\tCosPutObjectCopy: \u0026cos.BatchOperationCosPutObjectCopyArgs{\n\t\t\t\t\tAccessControlDirective: pulumi.String(\"Copy\"),\n\t\t\t\t\tMetadataDirective: pulumi.String(\"Copy\"),\n\t\t\t\t\tPrefixReplace: pulumi.Bool(false),\n\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\tTaggingDirective: pulumi.String(\"Copy\"),\n\t\t\t\t\tTargetResource: pulumi.String(\"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tReport: \u0026cos.BatchReportArgs{\n\t\t\t\tBucket: pulumi.String(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\"),\n\t\t\t\tEnabled: pulumi.String(\"true\"),\n\t\t\t\tFormat: pulumi.String(\"Report_CSV_V1\"),\n\t\t\t\tReportScope: pulumi.String(\"AllTasks\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.String(\"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\"),\n\t\t\tStatus: pulumi.String(\"Cancelled\"),\n\t\t\tUin: pulumi.String(\"100022975249\"),\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.Cos.Batch;\nimport com.pulumi.tencentcloud.Cos.BatchArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchManifestArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchManifestLocationArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchManifestSpecArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchOperationArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchOperationCosPutObjectCopyArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchReportArgs;\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 cosBatch = new Batch(\"cosBatch\", BatchArgs.builder() \n .appid(\"1308919341\")\n .confirmationRequired(true)\n .description(\"cos_batch\")\n .manifest(BatchManifestArgs.builder()\n .location(BatchManifestLocationArgs.builder()\n .etag(\"64357de8fd75a3abae2200135a2c9627\")\n .objectArn(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\")\n .build())\n .spec(BatchManifestSpecArgs.builder()\n .format(\"COSInventoryReport_CSV_V1\")\n .build())\n .build())\n .operation(BatchOperationArgs.builder()\n .cosPutObjectCopy(BatchOperationCosPutObjectCopyArgs.builder()\n .accessControlDirective(\"Copy\")\n .metadataDirective(\"Copy\")\n .prefixReplace(false)\n .storageClass(\"STANDARD\")\n .taggingDirective(\"Copy\")\n .targetResource(\"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\")\n .build())\n .build())\n .priority(1)\n .report(BatchReportArgs.builder()\n .bucket(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\")\n .enabled(\"true\")\n .format(\"Report_CSV_V1\")\n .reportScope(\"AllTasks\")\n .build())\n .roleArn(\"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\")\n .status(\"Cancelled\")\n .uin(\"100022975249\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cosBatch:\n type: tencentcloud:Cos:Batch\n properties:\n appid: '1308919341'\n confirmationRequired: true\n description: cos_batch\n manifest:\n location:\n etag: 64357de8fd75a3abae2200135a2c9627\n objectArn: qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\n spec:\n format: COSInventoryReport_CSV_V1\n operation:\n cosPutObjectCopy:\n accessControlDirective: Copy\n metadataDirective: Copy\n prefixReplace: false\n storageClass: STANDARD\n taggingDirective: Copy\n targetResource: qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\n priority: 1\n report:\n bucket: qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\n enabled: 'true'\n format: Report_CSV_V1\n reportScope: AllTasks\n roleArn: qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\n status: Cancelled\n uin: '100022975249'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncos bucket batch can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/batch:Batch cos_batch ${uin}#${appid}#{job_id}\n```\n", + "description": "Provides a resource to create a cos bucket batch.\n\n\u003e **NOTE:** The current resource does not support `cos_domain`.\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 cosBatch = new tencentcloud.cos.Batch(\"cosBatch\", {\n appid: 1308919341,\n confirmationRequired: true,\n description: \"cos_batch\",\n manifest: {\n location: {\n etag: \"64357de8fd75a3abae2200135a2c9627\",\n objectArn: \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\",\n },\n spec: {\n format: \"COSInventoryReport_CSV_V1\",\n },\n },\n operation: {\n cosPutObjectCopy: {\n accessControlDirective: \"Copy\",\n metadataDirective: \"Copy\",\n prefixReplace: false,\n storageClass: \"STANDARD\",\n taggingDirective: \"Copy\",\n targetResource: \"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\",\n },\n },\n priority: 1,\n report: {\n bucket: \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\",\n enabled: \"true\",\n format: \"Report_CSV_V1\",\n reportScope: \"AllTasks\",\n },\n roleArn: \"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\",\n status: \"Cancelled\",\n uin: \"100022975249\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncos_batch = tencentcloud.cos.Batch(\"cosBatch\",\n appid=1308919341,\n confirmation_required=True,\n description=\"cos_batch\",\n manifest=tencentcloud.cos.BatchManifestArgs(\n location=tencentcloud.cos.BatchManifestLocationArgs(\n etag=\"64357de8fd75a3abae2200135a2c9627\",\n object_arn=\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\",\n ),\n spec=tencentcloud.cos.BatchManifestSpecArgs(\n format=\"COSInventoryReport_CSV_V1\",\n ),\n ),\n operation=tencentcloud.cos.BatchOperationArgs(\n cos_put_object_copy=tencentcloud.cos.BatchOperationCosPutObjectCopyArgs(\n access_control_directive=\"Copy\",\n metadata_directive=\"Copy\",\n prefix_replace=False,\n storage_class=\"STANDARD\",\n tagging_directive=\"Copy\",\n target_resource=\"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\",\n ),\n ),\n priority=1,\n report=tencentcloud.cos.BatchReportArgs(\n bucket=\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\",\n enabled=\"true\",\n format=\"Report_CSV_V1\",\n report_scope=\"AllTasks\",\n ),\n role_arn=\"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\",\n status=\"Cancelled\",\n uin=\"100022975249\")\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 cosBatch = new Tencentcloud.Cos.Batch(\"cosBatch\", new()\n {\n Appid = 1308919341,\n ConfirmationRequired = true,\n Description = \"cos_batch\",\n Manifest = new Tencentcloud.Cos.Inputs.BatchManifestArgs\n {\n Location = new Tencentcloud.Cos.Inputs.BatchManifestLocationArgs\n {\n Etag = \"64357de8fd75a3abae2200135a2c9627\",\n ObjectArn = \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\",\n },\n Spec = new Tencentcloud.Cos.Inputs.BatchManifestSpecArgs\n {\n Format = \"COSInventoryReport_CSV_V1\",\n },\n },\n Operation = new Tencentcloud.Cos.Inputs.BatchOperationArgs\n {\n CosPutObjectCopy = new Tencentcloud.Cos.Inputs.BatchOperationCosPutObjectCopyArgs\n {\n AccessControlDirective = \"Copy\",\n MetadataDirective = \"Copy\",\n PrefixReplace = false,\n StorageClass = \"STANDARD\",\n TaggingDirective = \"Copy\",\n TargetResource = \"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\",\n },\n },\n Priority = 1,\n Report = new Tencentcloud.Cos.Inputs.BatchReportArgs\n {\n Bucket = \"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\",\n Enabled = \"true\",\n Format = \"Report_CSV_V1\",\n ReportScope = \"AllTasks\",\n },\n RoleArn = \"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\",\n Status = \"Cancelled\",\n Uin = \"100022975249\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBatch(ctx, \"cosBatch\", \u0026Cos.BatchArgs{\n\t\t\tAppid: pulumi.Int(1308919341),\n\t\t\tConfirmationRequired: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"cos_batch\"),\n\t\t\tManifest: \u0026cos.BatchManifestArgs{\n\t\t\t\tLocation: \u0026cos.BatchManifestLocationArgs{\n\t\t\t\t\tEtag: pulumi.String(\"64357de8fd75a3abae2200135a2c9627\"),\n\t\t\t\t\tObjectArn: pulumi.String(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\"),\n\t\t\t\t},\n\t\t\t\tSpec: \u0026cos.BatchManifestSpecArgs{\n\t\t\t\t\tFormat: pulumi.String(\"COSInventoryReport_CSV_V1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOperation: \u0026cos.BatchOperationArgs{\n\t\t\t\tCosPutObjectCopy: \u0026cos.BatchOperationCosPutObjectCopyArgs{\n\t\t\t\t\tAccessControlDirective: pulumi.String(\"Copy\"),\n\t\t\t\t\tMetadataDirective: pulumi.String(\"Copy\"),\n\t\t\t\t\tPrefixReplace: pulumi.Bool(false),\n\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD\"),\n\t\t\t\t\tTaggingDirective: pulumi.String(\"Copy\"),\n\t\t\t\t\tTargetResource: pulumi.String(\"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPriority: pulumi.Int(1),\n\t\t\tReport: \u0026cos.BatchReportArgs{\n\t\t\t\tBucket: pulumi.String(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\"),\n\t\t\t\tEnabled: pulumi.String(\"true\"),\n\t\t\t\tFormat: pulumi.String(\"Report_CSV_V1\"),\n\t\t\t\tReportScope: pulumi.String(\"AllTasks\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.String(\"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\"),\n\t\t\tStatus: pulumi.String(\"Cancelled\"),\n\t\t\tUin: pulumi.String(\"100022975249\"),\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.Cos.Batch;\nimport com.pulumi.tencentcloud.Cos.BatchArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchManifestArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchManifestLocationArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchManifestSpecArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchOperationArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchOperationCosPutObjectCopyArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BatchReportArgs;\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 cosBatch = new Batch(\"cosBatch\", BatchArgs.builder() \n .appid(\"1308919341\")\n .confirmationRequired(true)\n .description(\"cos_batch\")\n .manifest(BatchManifestArgs.builder()\n .location(BatchManifestLocationArgs.builder()\n .etag(\"64357de8fd75a3abae2200135a2c9627\")\n .objectArn(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\")\n .build())\n .spec(BatchManifestSpecArgs.builder()\n .format(\"COSInventoryReport_CSV_V1\")\n .build())\n .build())\n .operation(BatchOperationArgs.builder()\n .cosPutObjectCopy(BatchOperationCosPutObjectCopyArgs.builder()\n .accessControlDirective(\"Copy\")\n .metadataDirective(\"Copy\")\n .prefixReplace(false)\n .storageClass(\"STANDARD\")\n .taggingDirective(\"Copy\")\n .targetResource(\"qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\")\n .build())\n .build())\n .priority(1)\n .report(BatchReportArgs.builder()\n .bucket(\"qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\")\n .enabled(\"true\")\n .format(\"Report_CSV_V1\")\n .reportScope(\"AllTasks\")\n .build())\n .roleArn(\"qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\")\n .status(\"Cancelled\")\n .uin(\"100022975249\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cosBatch:\n type: tencentcloud:Cos:Batch\n properties:\n appid: '1308919341'\n confirmationRequired: true\n description: cos_batch\n manifest:\n location:\n etag: 64357de8fd75a3abae2200135a2c9627\n objectArn: qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341/cos_bucket_inventory/1308919341/keep-test/test/20230621/manifest.json\n spec:\n format: COSInventoryReport_CSV_V1\n operation:\n cosPutObjectCopy:\n accessControlDirective: Copy\n metadataDirective: Copy\n prefixReplace: false\n storageClass: STANDARD\n taggingDirective: Copy\n targetResource: qcs::cos:ap-guangzhou:uid/1308919341:cos-lock-1308919341\n priority: 1\n report:\n bucket: qcs::cos:ap-guangzhou:uid/1308919341:keep-test-1308919341\n enabled: 'true'\n format: Report_CSV_V1\n reportScope: AllTasks\n roleArn: qcs::cam::uin/100022975249:roleName/COSBatch_QCSRole\n status: Cancelled\n uin: '100022975249'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncos bucket batch can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/batch:Batch cos_batch ${uin}#${appid}#{job_id}\n```\n", "properties": { "appid": { "type": "integer", @@ -139592,7 +144136,7 @@ } }, "tencentcloud:Cos/bucket:Bucket": { - "description": "Provides a COS resource to create a COS bucket and set its attributes.\n\n## Example Usage\n\n### Private Bucket\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst privateSbucket = new tencentcloud.cos.Bucket(\"privateSbucket\", {\n bucket: appId.then(appId =\u003e `private-bucket-${appId}`),\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nprivate_sbucket = tencentcloud.cos.Bucket(\"privateSbucket\",\n bucket=f\"private-bucket-{app_id}\",\n acl=\"private\")\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var privateSbucket = new Tencentcloud.Cos.Bucket(\"privateSbucket\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"private-bucket-{appId}\"),\n Acl = \"private\",\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"privateSbucket\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"private-bucket-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var privateSbucket = new Bucket(\"privateSbucket\", BucketArgs.builder() \n .bucket(String.format(\"private-bucket-%s\", appId))\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateSbucket:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: private-bucket-${appId}\n acl: private\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creation of multiple available zone bucket\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst multiZoneBucket = new tencentcloud.cos.Bucket(\"multiZoneBucket\", {\n bucket: appId.then(appId =\u003e `multi-zone-bucket-${appId}`),\n acl: \"private\",\n multiAz: true,\n versioningEnable: true,\n forceClean: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nmulti_zone_bucket = tencentcloud.cos.Bucket(\"multiZoneBucket\",\n bucket=f\"multi-zone-bucket-{app_id}\",\n acl=\"private\",\n multi_az=True,\n versioning_enable=True,\n force_clean=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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var multiZoneBucket = new Tencentcloud.Cos.Bucket(\"multiZoneBucket\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"multi-zone-bucket-{appId}\"),\n Acl = \"private\",\n MultiAz = true,\n VersioningEnable = true,\n ForceClean = 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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"multiZoneBucket\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"multi-zone-bucket-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tMultiAz: pulumi.Bool(true),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t\tForceClean: 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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var multiZoneBucket = new Bucket(\"multiZoneBucket\", BucketArgs.builder() \n .bucket(String.format(\"multi-zone-bucket-%s\", appId))\n .acl(\"private\")\n .multiAz(true)\n .versioningEnable(true)\n .forceClean(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n multiZoneBucket:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: multi-zone-bucket-${appId}\n acl: private\n multiAz: true\n versioningEnable: true\n forceClean: true\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using verbose acl\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithAcl = new tencentcloud.cos.Bucket(\"bucketWithAcl\", {\n bucket: appId.then(appId =\u003e `bucketwith-acl-${appId}`),\n aclBody: `\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_acl = tencentcloud.cos.Bucket(\"bucketWithAcl\",\n bucket=f\"bucketwith-acl-{app_id}\",\n acl_body=\"\"\"\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithAcl = new Tencentcloud.Cos.Bucket(\"bucketWithAcl\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucketwith-acl-{appId}\"),\n AclBody = @\"\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n\",\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithAcl\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucketwith-acl-%v\", appId)),\n\t\t\tAclBody: pulumi.String(`\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n`),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithAcl = new Bucket(\"bucketWithAcl\", BucketArgs.builder() \n .bucket(String.format(\"bucketwith-acl-%s\", appId))\n .aclBody(\"\"\"\n\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithAcl:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucketwith-acl-${appId}\n # NOTE: Specify the acl_body by the priority sequence of permission and user type with the following sequence: `CanonicalUser with READ`, `CanonicalUser with WRITE`, `CanonicalUser with FULL_CONTROL`, `CanonicalUser with WRITE_ACP`, `CanonicalUser with READ_ACP`, then specify the `Group` of permissions same as `CanonicalUser`.\n aclBody: |\n \u003cAccessControlPolicy\u003e\n \t\u003cOwner\u003e\n \t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\u003c/Owner\u003e\n \t\u003cAccessControlList\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\u003c/AccessControlList\u003e\n \u003c/AccessControlPolicy\u003e\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Static Website\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithStaticWebsite = new tencentcloud.cos.Bucket(\"bucketWithStaticWebsite\", {\n bucket: appId.then(appId =\u003e `bucket-with-static-website-${appId}`),\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n },\n});\nexport const endpointTest = bucketWithStaticWebsite.website.apply(website =\u003e website?.endpoint);\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_static_website = tencentcloud.cos.Bucket(\"bucketWithStaticWebsite\",\n bucket=f\"bucket-with-static-website-{app_id}\",\n website=tencentcloud.cos.BucketWebsiteArgs(\n index_document=\"index.html\",\n error_document=\"error.html\",\n ))\npulumi.export(\"endpointTest\", bucket_with_static_website.website.endpoint)\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithStaticWebsite = new Tencentcloud.Cos.Bucket(\"bucketWithStaticWebsite\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-static-website-{appId}\"),\n Website = new Tencentcloud.Cos.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpointTest\"] = bucketWithStaticWebsite.Website.Apply(website =\u003e website?.Endpoint),\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\tbucketWithStaticWebsite, err := Cos.NewBucket(ctx, \"bucketWithStaticWebsite\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-static-website-%v\", appId)),\n\t\t\tWebsite: \u0026cos.BucketWebsiteArgs{\n\t\t\t\tIndexDocument: pulumi.String(\"index.html\"),\n\t\t\t\tErrorDocument: pulumi.String(\"error.html\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpointTest\", bucketWithStaticWebsite.Website.ApplyT(func(website cos.BucketWebsite) (*string, error) {\n\t\t\treturn \u0026website.Endpoint, nil\n\t\t}).(pulumi.StringPtrOutput))\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketWebsiteArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithStaticWebsite = new Bucket(\"bucketWithStaticWebsite\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-static-website-%s\", appId))\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .build())\n .build());\n\n ctx.export(\"endpointTest\", bucketWithStaticWebsite.website().applyValue(website -\u003e website.endpoint()));\n }\n}\n```\n```yaml\nresources:\n bucketWithStaticWebsite:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-static-website-${appId}\n website:\n indexDocument: index.html\n errorDocument: error.html\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\noutputs:\n endpointTest: ${bucketWithStaticWebsite.website.endpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithCors = new tencentcloud.cos.Bucket(\"bucketWithCors\", {\n bucket: appId.then(appId =\u003e `bucket-with-cors-${appId}`),\n acl: \"public-read-write\",\n corsRules: [{\n allowedOrigins: [\"http://*.abc.com\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedHeaders: [\"*\"],\n maxAgeSeconds: 300,\n exposeHeaders: [\"Etag\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_cors = tencentcloud.cos.Bucket(\"bucketWithCors\",\n bucket=f\"bucket-with-cors-{app_id}\",\n acl=\"public-read-write\",\n cors_rules=[tencentcloud.cos.BucketCorsRuleArgs(\n allowed_origins=[\"http://*.abc.com\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_headers=[\"*\"],\n max_age_seconds=300,\n expose_headers=[\"Etag\"],\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithCors = new Tencentcloud.Cos.Bucket(\"bucketWithCors\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-cors-{appId}\"),\n Acl = \"public-read-write\",\n CorsRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketCorsRuleArgs\n {\n AllowedOrigins = new[]\n {\n \"http://*.abc.com\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedHeaders = new[]\n {\n \"*\",\n },\n MaxAgeSeconds = 300,\n ExposeHeaders = new[]\n {\n \"Etag\",\n },\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithCors\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-cors-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t\tCorsRules: cos.BucketCorsRuleArray{\n\t\t\t\t\u0026cos.BucketCorsRuleArgs{\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"http://*.abc.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(300),\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Etag\"),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketCorsRuleArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithCors = new Bucket(\"bucketWithCors\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-cors-%s\", appId))\n .acl(\"public-read-write\")\n .corsRules(BucketCorsRuleArgs.builder()\n .allowedOrigins(\"http://*.abc.com\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedHeaders(\"*\")\n .maxAgeSeconds(300)\n .exposeHeaders(\"Etag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithCors:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-cors-${appId}\n acl: public-read-write\n corsRules:\n - allowedOrigins:\n - http://*.abc.com\n allowedMethods:\n - PUT\n - POST\n allowedHeaders:\n - '*'\n maxAgeSeconds: 300\n exposeHeaders:\n - Etag\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithLifecycle = new tencentcloud.cos.Bucket(\"bucketWithLifecycle\", {\n bucket: appId.then(appId =\u003e `bucket-with-lifecycle-${appId}`),\n acl: \"public-read-write\",\n lifecycleRules: [{\n filterPrefix: \"path1/\",\n transitions: [{\n days: 30,\n storageClass: \"STANDARD_IA\",\n }],\n expiration: {\n days: 90,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_lifecycle = tencentcloud.cos.Bucket(\"bucketWithLifecycle\",\n bucket=f\"bucket-with-lifecycle-{app_id}\",\n acl=\"public-read-write\",\n lifecycle_rules=[tencentcloud.cos.BucketLifecycleRuleArgs(\n filter_prefix=\"path1/\",\n transitions=[tencentcloud.cos.BucketLifecycleRuleTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n )],\n expiration=tencentcloud.cos.BucketLifecycleRuleExpirationArgs(\n days=90,\n ),\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithLifecycle = new Tencentcloud.Cos.Bucket(\"bucketWithLifecycle\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-lifecycle-{appId}\"),\n Acl = \"public-read-write\",\n LifecycleRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketLifecycleRuleArgs\n {\n FilterPrefix = \"path1/\",\n Transitions = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n },\n Expiration = new Tencentcloud.Cos.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 90,\n },\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithLifecycle\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-lifecycle-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t\tLifecycleRules: cos.BucketLifecycleRuleArray{\n\t\t\t\t\u0026cos.BucketLifecycleRuleArgs{\n\t\t\t\t\tFilterPrefix: pulumi.String(\"path1/\"),\n\t\t\t\t\tTransitions: cos.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026cos.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026cos.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketLifecycleRuleExpirationArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithLifecycle = new Bucket(\"bucketWithLifecycle\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-lifecycle-%s\", appId))\n .acl(\"public-read-write\")\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .filterPrefix(\"path1/\")\n .transitions(BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build())\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .days(90)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithLifecycle:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-lifecycle-${appId}\n acl: public-read-write\n lifecycleRules:\n - filterPrefix: path1/\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n expiration:\n days: 90\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using replication\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst uin = info.then(info =\u003e info.uin);\nconst ownerUin = info.then(info =\u003e info.ownerUin);\nconst region = \"ap-guangzhou\";\nconst bucketReplicate = new tencentcloud.cos.Bucket(\"bucketReplicate\", {\n bucket: appId.then(appId =\u003e `bucket-replicate-${appId}`),\n acl: \"private\",\n versioningEnable: true,\n});\nconst bucketWithReplication = new tencentcloud.cos.Bucket(\"bucketWithReplication\", {\n bucket: appId.then(appId =\u003e `bucket-with-replication-${appId}`),\n acl: \"private\",\n versioningEnable: true,\n replicaRole: Promise.all([ownerUin, uin]).then(([ownerUin, uin]) =\u003e `qcs::cam::uin/${ownerUin}:uin/${uin}`),\n replicaRules: [{\n id: \"test-rep1\",\n status: \"Enabled\",\n prefix: \"dist\",\n destinationBucket: pulumi.interpolate`qcs::cos:${region}::${bucketReplicate.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nuin = info.uin\nowner_uin = info.owner_uin\nregion = \"ap-guangzhou\"\nbucket_replicate = tencentcloud.cos.Bucket(\"bucketReplicate\",\n bucket=f\"bucket-replicate-{app_id}\",\n acl=\"private\",\n versioning_enable=True)\nbucket_with_replication = tencentcloud.cos.Bucket(\"bucketWithReplication\",\n bucket=f\"bucket-with-replication-{app_id}\",\n acl=\"private\",\n versioning_enable=True,\n replica_role=f\"qcs::cam::uin/{owner_uin}:uin/{uin}\",\n replica_rules=[tencentcloud.cos.BucketReplicaRuleArgs(\n id=\"test-rep1\",\n status=\"Enabled\",\n prefix=\"dist\",\n destination_bucket=bucket_replicate.bucket.apply(lambda bucket: f\"qcs::cos:{region}::{bucket}\"),\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var uin = info.Apply(getInfoResult =\u003e getInfoResult.Uin);\n\n var ownerUin = info.Apply(getInfoResult =\u003e getInfoResult.OwnerUin);\n\n var region = \"ap-guangzhou\";\n\n var bucketReplicate = new Tencentcloud.Cos.Bucket(\"bucketReplicate\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-replicate-{appId}\"),\n Acl = \"private\",\n VersioningEnable = true,\n });\n\n var bucketWithReplication = new Tencentcloud.Cos.Bucket(\"bucketWithReplication\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-replication-{appId}\"),\n Acl = \"private\",\n VersioningEnable = true,\n ReplicaRole = Output.Tuple(ownerUin, uin).Apply(values =\u003e\n {\n var ownerUin = values.Item1;\n var uin = values.Item2;\n return $\"qcs::cam::uin/{ownerUin}:uin/{uin}\";\n }),\n ReplicaRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketReplicaRuleArgs\n {\n Id = \"test-rep1\",\n Status = \"Enabled\",\n Prefix = \"dist\",\n DestinationBucket = bucketReplicate.CosBucket.Apply(bucket =\u003e $\"qcs::cos:{region}::{bucket}\"),\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\tuin := info.Uin\n\t\townerUin := info.OwnerUin\n\t\tregion := \"ap-guangzhou\"\n\t\tbucketReplicate, err := Cos.NewBucket(ctx, \"bucketReplicate\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-replicate-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithReplication\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-replication-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t\tReplicaRole: pulumi.String(fmt.Sprintf(\"qcs::cam::uin/%v:uin/%v\", ownerUin, uin)),\n\t\t\tReplicaRules: cos.BucketReplicaRuleArray{\n\t\t\t\t\u0026cos.BucketReplicaRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"test-rep1\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tPrefix: pulumi.String(\"dist\"),\n\t\t\t\t\tDestinationBucket: bucketReplicate.Bucket.ApplyT(func(bucket string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"qcs::cos:%v::%v\", region, bucket), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketReplicaRuleArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n final var uin = info.applyValue(getInfoResult -\u003e getInfoResult.uin());\n\n final var ownerUin = info.applyValue(getInfoResult -\u003e getInfoResult.ownerUin());\n\n final var region = \"ap-guangzhou\";\n\n var bucketReplicate = new Bucket(\"bucketReplicate\", BucketArgs.builder() \n .bucket(String.format(\"bucket-replicate-%s\", appId))\n .acl(\"private\")\n .versioningEnable(true)\n .build());\n\n var bucketWithReplication = new Bucket(\"bucketWithReplication\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-replication-%s\", appId))\n .acl(\"private\")\n .versioningEnable(true)\n .replicaRole(String.format(\"qcs::cam::uin/%s:uin/%s\", ownerUin,uin))\n .replicaRules(BucketReplicaRuleArgs.builder()\n .id(\"test-rep1\")\n .status(\"Enabled\")\n .prefix(\"dist\")\n .destinationBucket(bucketReplicate.bucket().applyValue(bucket -\u003e String.format(\"qcs::cos:%s::%s\", region,bucket)))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketReplicate:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-replicate-${appId}\n acl: private\n versioningEnable: true\n bucketWithReplication:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-replication-${appId}\n acl: private\n versioningEnable: true\n replicaRole: qcs::cam::uin/${ownerUin}:uin/${uin}\n replicaRules:\n - id: test-rep1\n status: Enabled\n prefix: dist\n destinationBucket: qcs::cos:${region}::${bucketReplicate.bucket}\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n uin: ${info.uin}\n ownerUin: ${info.ownerUin}\n region: ap-guangzhou\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCOS bucket can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/bucket:Bucket bucket bucket-name\n```\n", + "description": "Provides a COS resource to create a COS bucket and set its attributes.\n\n## Example Usage\n\n### Private Bucket\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst privateBucket = new tencentcloud.cos.Bucket(\"privateBucket\", {\n bucket: appId.then(appId =\u003e `private-bucket-${appId}`),\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nprivate_bucket = tencentcloud.cos.Bucket(\"privateBucket\",\n bucket=f\"private-bucket-{app_id}\",\n acl=\"private\")\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var privateBucket = new Tencentcloud.Cos.Bucket(\"privateBucket\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"private-bucket-{appId}\"),\n Acl = \"private\",\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"privateBucket\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"private-bucket-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var privateBucket = new Bucket(\"privateBucket\", BucketArgs.builder() \n .bucket(String.format(\"private-bucket-%s\", appId))\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateBucket:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: private-bucket-${appId}\n acl: private\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private Bucket with CDC cluster\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst privateBucket = new tencentcloud.cos.Bucket(\"privateBucket\", {\n bucket: appId.then(appId =\u003e `private-bucket-${appId}`),\n cdcId: \"cluster-262n63e8\",\n acl: \"private\",\n versioningEnable: true,\n forceClean: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nprivate_bucket = tencentcloud.cos.Bucket(\"privateBucket\",\n bucket=f\"private-bucket-{app_id}\",\n cdc_id=\"cluster-262n63e8\",\n acl=\"private\",\n versioning_enable=True,\n force_clean=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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var privateBucket = new Tencentcloud.Cos.Bucket(\"privateBucket\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"private-bucket-{appId}\"),\n CdcId = \"cluster-262n63e8\",\n Acl = \"private\",\n VersioningEnable = true,\n ForceClean = 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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"privateBucket\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"private-bucket-%v\", appId)),\n\t\t\tCdcId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t\tForceClean: 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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var privateBucket = new Bucket(\"privateBucket\", BucketArgs.builder() \n .bucket(String.format(\"private-bucket-%s\", appId))\n .cdcId(\"cluster-262n63e8\")\n .acl(\"private\")\n .versioningEnable(true)\n .forceClean(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateBucket:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: private-bucket-${appId}\n cdcId: cluster-262n63e8\n acl: private\n versioningEnable: true\n forceClean: true\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable SSE-KMS encryption\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst example = new tencentcloud.kms.Key(\"example\", {\n alias: \"tf-example-kms-key\",\n description: \"example of kms key\",\n keyRotationEnabled: false,\n isEnabled: true,\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst bucketBasic = new tencentcloud.cos.Bucket(\"bucketBasic\", {\n bucket: appId.then(appId =\u003e `tf-bucket-cdc-${appId}`),\n acl: \"private\",\n encryptionAlgorithm: \"KMS\",\n kmsId: example.id,\n versioningEnable: true,\n accelerationEnable: true,\n forceClean: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nexample = tencentcloud.kms.Key(\"example\",\n alias=\"tf-example-kms-key\",\n description=\"example of kms key\",\n key_rotation_enabled=False,\n is_enabled=True,\n tags={\n \"createdBy\": \"terraform\",\n })\nbucket_basic = tencentcloud.cos.Bucket(\"bucketBasic\",\n bucket=f\"tf-bucket-cdc-{app_id}\",\n acl=\"private\",\n encryption_algorithm=\"KMS\",\n kms_id=example.id,\n versioning_enable=True,\n acceleration_enable=True,\n force_clean=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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var example = new Tencentcloud.Kms.Key(\"example\", new()\n {\n Alias = \"tf-example-kms-key\",\n Description = \"example of kms key\",\n KeyRotationEnabled = false,\n IsEnabled = true,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var bucketBasic = new Tencentcloud.Cos.Bucket(\"bucketBasic\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"tf-bucket-cdc-{appId}\"),\n Acl = \"private\",\n EncryptionAlgorithm = \"KMS\",\n KmsId = example.Id,\n VersioningEnable = true,\n AccelerationEnable = true,\n ForceClean = 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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kms\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\texample, err := Kms.NewKey(ctx, \"example\", \u0026Kms.KeyArgs{\n\t\t\tAlias: pulumi.String(\"tf-example-kms-key\"),\n\t\t\tDescription: pulumi.String(\"example of kms key\"),\n\t\t\tKeyRotationEnabled: pulumi.Bool(false),\n\t\t\tIsEnabled: 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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cos.NewBucket(ctx, \"bucketBasic\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"tf-bucket-cdc-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tEncryptionAlgorithm: pulumi.String(\"KMS\"),\n\t\t\tKmsId: example.ID(),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t\tAccelerationEnable: pulumi.Bool(true),\n\t\t\tForceClean: 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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Kms.Key;\nimport com.pulumi.tencentcloud.Kms.KeyArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var example = new Key(\"example\", KeyArgs.builder() \n .alias(\"tf-example-kms-key\")\n .description(\"example of kms key\")\n .keyRotationEnabled(false)\n .isEnabled(true)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var bucketBasic = new Bucket(\"bucketBasic\", BucketArgs.builder() \n .bucket(String.format(\"tf-bucket-cdc-%s\", appId))\n .acl(\"private\")\n .encryptionAlgorithm(\"KMS\")\n .kmsId(example.id())\n .versioningEnable(true)\n .accelerationEnable(true)\n .forceClean(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Kms:Key\n properties:\n alias: tf-example-kms-key\n description: example of kms key\n keyRotationEnabled: false\n isEnabled: true\n tags:\n createdBy: terraform\n bucketBasic:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: tf-bucket-cdc-${appId}\n acl: private\n encryptionAlgorithm: KMS\n #cos/kms for cdc cos\n kmsId: ${example.id}\n versioningEnable: true\n accelerationEnable: true\n forceClean: true\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creation of multiple available zone bucket\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst multiZoneBucket = new tencentcloud.cos.Bucket(\"multiZoneBucket\", {\n bucket: appId.then(appId =\u003e `multi-zone-bucket-${appId}`),\n acl: \"private\",\n multiAz: true,\n versioningEnable: true,\n forceClean: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nmulti_zone_bucket = tencentcloud.cos.Bucket(\"multiZoneBucket\",\n bucket=f\"multi-zone-bucket-{app_id}\",\n acl=\"private\",\n multi_az=True,\n versioning_enable=True,\n force_clean=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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var multiZoneBucket = new Tencentcloud.Cos.Bucket(\"multiZoneBucket\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"multi-zone-bucket-{appId}\"),\n Acl = \"private\",\n MultiAz = true,\n VersioningEnable = true,\n ForceClean = 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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"multiZoneBucket\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"multi-zone-bucket-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tMultiAz: pulumi.Bool(true),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t\tForceClean: 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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var multiZoneBucket = new Bucket(\"multiZoneBucket\", BucketArgs.builder() \n .bucket(String.format(\"multi-zone-bucket-%s\", appId))\n .acl(\"private\")\n .multiAz(true)\n .versioningEnable(true)\n .forceClean(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n multiZoneBucket:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: multi-zone-bucket-${appId}\n acl: private\n multiAz: true\n versioningEnable: true\n forceClean: true\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using verbose acl\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithAcl = new tencentcloud.cos.Bucket(\"bucketWithAcl\", {\n bucket: appId.then(appId =\u003e `bucketwith-acl-${appId}`),\n aclBody: `\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_acl = tencentcloud.cos.Bucket(\"bucketWithAcl\",\n bucket=f\"bucketwith-acl-{app_id}\",\n acl_body=\"\"\"\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithAcl = new Tencentcloud.Cos.Bucket(\"bucketWithAcl\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucketwith-acl-{appId}\"),\n AclBody = @\"\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"CanonicalUser\"\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"\"http://www.w3.org/2001/XMLSchema-instance\"\" xsi:type=\"\"Group\"\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n\",\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithAcl\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucketwith-acl-%v\", appId)),\n\t\t\tAclBody: pulumi.String(`\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n`),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithAcl = new Bucket(\"bucketWithAcl\", BucketArgs.builder() \n .bucket(String.format(\"bucketwith-acl-%s\", appId))\n .aclBody(\"\"\"\n\u003cAccessControlPolicy\u003e\n\t\u003cOwner\u003e\n\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\u003c/Owner\u003e\n\t\u003cAccessControlList\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n\t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n\t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\t\u003cGrant\u003e\n\t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n\t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n\t\t\t\u003c/Grantee\u003e\n\t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n\t\t\u003c/Grant\u003e\n\t\u003c/AccessControlList\u003e\n\u003c/AccessControlPolicy\u003e\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithAcl:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucketwith-acl-${appId}\n # NOTE: Specify the acl_body by the priority sequence of permission and user type with the following sequence: `CanonicalUser with READ`, `CanonicalUser with WRITE`, `CanonicalUser with FULL_CONTROL`, `CanonicalUser with WRITE_ACP`, `CanonicalUser with READ_ACP`, then specify the `Group` of permissions same as `CanonicalUser`.\n aclBody: |\n \u003cAccessControlPolicy\u003e\n \t\u003cOwner\u003e\n \t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\u003c/Owner\u003e\n \t\u003cAccessControlList\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eREAD_ACP\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eWRITE_ACP\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eREAD\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"\u003e\n \t\t\t\t\u003cID\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/ID\u003e\n \t\t\t\t\u003cDisplayName\u003eqcs::cam::uin/100022975249:uin/100022975249\u003c/DisplayName\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eWRITE\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\t\u003cGrant\u003e\n \t\t\t\u003cGrantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"\u003e\n \t\t\t\t\u003cURI\u003ehttp://cam.qcloud.com/groups/global/AllUsers\u003c/URI\u003e\n \t\t\t\u003c/Grantee\u003e\n \t\t\t\u003cPermission\u003eFULL_CONTROL\u003c/Permission\u003e\n \t\t\u003c/Grant\u003e\n \t\u003c/AccessControlList\u003e\n \u003c/AccessControlPolicy\u003e\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Static Website\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithStaticWebsite = new tencentcloud.cos.Bucket(\"bucketWithStaticWebsite\", {\n bucket: appId.then(appId =\u003e `bucket-with-static-website-${appId}`),\n website: {\n indexDocument: \"index.html\",\n errorDocument: \"error.html\",\n },\n});\nexport const endpointTest = bucketWithStaticWebsite.website.apply(website =\u003e website?.endpoint);\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_static_website = tencentcloud.cos.Bucket(\"bucketWithStaticWebsite\",\n bucket=f\"bucket-with-static-website-{app_id}\",\n website=tencentcloud.cos.BucketWebsiteArgs(\n index_document=\"index.html\",\n error_document=\"error.html\",\n ))\npulumi.export(\"endpointTest\", bucket_with_static_website.website.endpoint)\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithStaticWebsite = new Tencentcloud.Cos.Bucket(\"bucketWithStaticWebsite\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-static-website-{appId}\"),\n Website = new Tencentcloud.Cos.Inputs.BucketWebsiteArgs\n {\n IndexDocument = \"index.html\",\n ErrorDocument = \"error.html\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"endpointTest\"] = bucketWithStaticWebsite.Website.Apply(website =\u003e website?.Endpoint),\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\tbucketWithStaticWebsite, err := Cos.NewBucket(ctx, \"bucketWithStaticWebsite\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-static-website-%v\", appId)),\n\t\t\tWebsite: \u0026cos.BucketWebsiteArgs{\n\t\t\t\tIndexDocument: pulumi.String(\"index.html\"),\n\t\t\t\tErrorDocument: pulumi.String(\"error.html\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"endpointTest\", bucketWithStaticWebsite.Website.ApplyT(func(website cos.BucketWebsite) (*string, error) {\n\t\t\treturn \u0026website.Endpoint, nil\n\t\t}).(pulumi.StringPtrOutput))\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketWebsiteArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithStaticWebsite = new Bucket(\"bucketWithStaticWebsite\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-static-website-%s\", appId))\n .website(BucketWebsiteArgs.builder()\n .indexDocument(\"index.html\")\n .errorDocument(\"error.html\")\n .build())\n .build());\n\n ctx.export(\"endpointTest\", bucketWithStaticWebsite.website().applyValue(website -\u003e website.endpoint()));\n }\n}\n```\n```yaml\nresources:\n bucketWithStaticWebsite:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-static-website-${appId}\n website:\n indexDocument: index.html\n errorDocument: error.html\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\noutputs:\n endpointTest: ${bucketWithStaticWebsite.website.endpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithCors = new tencentcloud.cos.Bucket(\"bucketWithCors\", {\n bucket: appId.then(appId =\u003e `bucket-with-cors-${appId}`),\n acl: \"public-read-write\",\n corsRules: [{\n allowedOrigins: [\"http://*.abc.com\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedHeaders: [\"*\"],\n maxAgeSeconds: 300,\n exposeHeaders: [\"Etag\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_cors = tencentcloud.cos.Bucket(\"bucketWithCors\",\n bucket=f\"bucket-with-cors-{app_id}\",\n acl=\"public-read-write\",\n cors_rules=[tencentcloud.cos.BucketCorsRuleArgs(\n allowed_origins=[\"http://*.abc.com\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_headers=[\"*\"],\n max_age_seconds=300,\n expose_headers=[\"Etag\"],\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithCors = new Tencentcloud.Cos.Bucket(\"bucketWithCors\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-cors-{appId}\"),\n Acl = \"public-read-write\",\n CorsRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketCorsRuleArgs\n {\n AllowedOrigins = new[]\n {\n \"http://*.abc.com\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedHeaders = new[]\n {\n \"*\",\n },\n MaxAgeSeconds = 300,\n ExposeHeaders = new[]\n {\n \"Etag\",\n },\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithCors\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-cors-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t\tCorsRules: cos.BucketCorsRuleArray{\n\t\t\t\t\u0026cos.BucketCorsRuleArgs{\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"http://*.abc.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(300),\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Etag\"),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketCorsRuleArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithCors = new Bucket(\"bucketWithCors\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-cors-%s\", appId))\n .acl(\"public-read-write\")\n .corsRules(BucketCorsRuleArgs.builder()\n .allowedOrigins(\"http://*.abc.com\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedHeaders(\"*\")\n .maxAgeSeconds(300)\n .exposeHeaders(\"Etag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithCors:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-cors-${appId}\n acl: public-read-write\n corsRules:\n - allowedOrigins:\n - http://*.abc.com\n allowedMethods:\n - PUT\n - POST\n allowedHeaders:\n - '*'\n maxAgeSeconds: 300\n exposeHeaders:\n - Etag\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using CORS with CDC\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithCors = new tencentcloud.cos.Bucket(\"bucketWithCors\", {\n bucket: appId.then(appId =\u003e `bucket-with-cors-${appId}`),\n cdcId: \"cluster-262n63e8\",\n corsRules: [{\n allowedOrigins: [\"http://*.abc.com\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedHeaders: [\"*\"],\n maxAgeSeconds: 300,\n exposeHeaders: [\"Etag\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_cors = tencentcloud.cos.Bucket(\"bucketWithCors\",\n bucket=f\"bucket-with-cors-{app_id}\",\n cdc_id=\"cluster-262n63e8\",\n cors_rules=[tencentcloud.cos.BucketCorsRuleArgs(\n allowed_origins=[\"http://*.abc.com\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_headers=[\"*\"],\n max_age_seconds=300,\n expose_headers=[\"Etag\"],\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithCors = new Tencentcloud.Cos.Bucket(\"bucketWithCors\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-cors-{appId}\"),\n CdcId = \"cluster-262n63e8\",\n CorsRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketCorsRuleArgs\n {\n AllowedOrigins = new[]\n {\n \"http://*.abc.com\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedHeaders = new[]\n {\n \"*\",\n },\n MaxAgeSeconds = 300,\n ExposeHeaders = new[]\n {\n \"Etag\",\n },\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithCors\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-cors-%v\", appId)),\n\t\t\tCdcId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\tCorsRules: cos.BucketCorsRuleArray{\n\t\t\t\t\u0026cos.BucketCorsRuleArgs{\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"http://*.abc.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(300),\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Etag\"),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketCorsRuleArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithCors = new Bucket(\"bucketWithCors\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-cors-%s\", appId))\n .cdcId(\"cluster-262n63e8\")\n .corsRules(BucketCorsRuleArgs.builder()\n .allowedOrigins(\"http://*.abc.com\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedHeaders(\"*\")\n .maxAgeSeconds(300)\n .exposeHeaders(\"Etag\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithCors:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-cors-${appId}\n cdcId: cluster-262n63e8\n corsRules:\n - allowedOrigins:\n - http://*.abc.com\n allowedMethods:\n - PUT\n - POST\n allowedHeaders:\n - '*'\n maxAgeSeconds: 300\n exposeHeaders:\n - Etag\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithLifecycle = new tencentcloud.cos.Bucket(\"bucketWithLifecycle\", {\n bucket: appId.then(appId =\u003e `bucket-with-lifecycle-${appId}`),\n acl: \"public-read-write\",\n lifecycleRules: [{\n filterPrefix: \"path1/\",\n transitions: [{\n days: 30,\n storageClass: \"STANDARD_IA\",\n }],\n expiration: {\n days: 90,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_lifecycle = tencentcloud.cos.Bucket(\"bucketWithLifecycle\",\n bucket=f\"bucket-with-lifecycle-{app_id}\",\n acl=\"public-read-write\",\n lifecycle_rules=[tencentcloud.cos.BucketLifecycleRuleArgs(\n filter_prefix=\"path1/\",\n transitions=[tencentcloud.cos.BucketLifecycleRuleTransitionArgs(\n days=30,\n storage_class=\"STANDARD_IA\",\n )],\n expiration=tencentcloud.cos.BucketLifecycleRuleExpirationArgs(\n days=90,\n ),\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithLifecycle = new Tencentcloud.Cos.Bucket(\"bucketWithLifecycle\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-lifecycle-{appId}\"),\n Acl = \"public-read-write\",\n LifecycleRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketLifecycleRuleArgs\n {\n FilterPrefix = \"path1/\",\n Transitions = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketLifecycleRuleTransitionArgs\n {\n Days = 30,\n StorageClass = \"STANDARD_IA\",\n },\n },\n Expiration = new Tencentcloud.Cos.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 90,\n },\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithLifecycle\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-lifecycle-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"public-read-write\"),\n\t\t\tLifecycleRules: cos.BucketLifecycleRuleArray{\n\t\t\t\t\u0026cos.BucketLifecycleRuleArgs{\n\t\t\t\t\tFilterPrefix: pulumi.String(\"path1/\"),\n\t\t\t\t\tTransitions: cos.BucketLifecycleRuleTransitionArray{\n\t\t\t\t\t\t\u0026cos.BucketLifecycleRuleTransitionArgs{\n\t\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t\t\tStorageClass: pulumi.String(\"STANDARD_IA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026cos.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketLifecycleRuleExpirationArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithLifecycle = new Bucket(\"bucketWithLifecycle\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-lifecycle-%s\", appId))\n .acl(\"public-read-write\")\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .filterPrefix(\"path1/\")\n .transitions(BucketLifecycleRuleTransitionArgs.builder()\n .days(30)\n .storageClass(\"STANDARD_IA\")\n .build())\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .days(90)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithLifecycle:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-lifecycle-${appId}\n acl: public-read-write\n lifecycleRules:\n - filterPrefix: path1/\n transitions:\n - days: 30\n storageClass: STANDARD_IA\n expiration:\n days: 90\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using object lifecycle with CDC\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst bucketWithLifecycle = new tencentcloud.cos.Bucket(\"bucketWithLifecycle\", {\n bucket: appId.then(appId =\u003e `bucket-with-lifecycle-${appId}`),\n cdcId: \"cluster-262n63e8\",\n acl: \"private\",\n lifecycleRules: [{\n filterPrefix: \"path1/\",\n expiration: {\n days: 90,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nbucket_with_lifecycle = tencentcloud.cos.Bucket(\"bucketWithLifecycle\",\n bucket=f\"bucket-with-lifecycle-{app_id}\",\n cdc_id=\"cluster-262n63e8\",\n acl=\"private\",\n lifecycle_rules=[tencentcloud.cos.BucketLifecycleRuleArgs(\n filter_prefix=\"path1/\",\n expiration=tencentcloud.cos.BucketLifecycleRuleExpirationArgs(\n days=90,\n ),\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var bucketWithLifecycle = new Tencentcloud.Cos.Bucket(\"bucketWithLifecycle\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-lifecycle-{appId}\"),\n CdcId = \"cluster-262n63e8\",\n Acl = \"private\",\n LifecycleRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketLifecycleRuleArgs\n {\n FilterPrefix = \"path1/\",\n Expiration = new Tencentcloud.Cos.Inputs.BucketLifecycleRuleExpirationArgs\n {\n Days = 90,\n },\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithLifecycle\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-lifecycle-%v\", appId)),\n\t\t\tCdcId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tLifecycleRules: cos.BucketLifecycleRuleArray{\n\t\t\t\t\u0026cos.BucketLifecycleRuleArgs{\n\t\t\t\t\tFilterPrefix: pulumi.String(\"path1/\"),\n\t\t\t\t\tExpiration: \u0026cos.BucketLifecycleRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(90),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketLifecycleRuleArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketLifecycleRuleExpirationArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n var bucketWithLifecycle = new Bucket(\"bucketWithLifecycle\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-lifecycle-%s\", appId))\n .cdcId(\"cluster-262n63e8\")\n .acl(\"private\")\n .lifecycleRules(BucketLifecycleRuleArgs.builder()\n .filterPrefix(\"path1/\")\n .expiration(BucketLifecycleRuleExpirationArgs.builder()\n .days(90)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketWithLifecycle:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-lifecycle-${appId}\n cdcId: cluster-262n63e8\n acl: private\n lifecycleRules:\n - filterPrefix: path1/\n expiration:\n days: 90\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using replication\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\nconst uin = info.then(info =\u003e info.uin);\nconst ownerUin = info.then(info =\u003e info.ownerUin);\nconst region = \"ap-guangzhou\";\nconst bucketReplicate = new tencentcloud.cos.Bucket(\"bucketReplicate\", {\n bucket: appId.then(appId =\u003e `bucket-replicate-${appId}`),\n acl: \"private\",\n versioningEnable: true,\n});\nconst bucketWithReplication = new tencentcloud.cos.Bucket(\"bucketWithReplication\", {\n bucket: appId.then(appId =\u003e `bucket-with-replication-${appId}`),\n acl: \"private\",\n versioningEnable: true,\n replicaRole: Promise.all([ownerUin, uin]).then(([ownerUin, uin]) =\u003e `qcs::cam::uin/${ownerUin}:uin/${uin}`),\n replicaRules: [{\n id: \"test-rep1\",\n status: \"Enabled\",\n prefix: \"dist\",\n destinationBucket: pulumi.interpolate`qcs::cos:${region}::${bucketReplicate.bucket}`,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\nuin = info.uin\nowner_uin = info.owner_uin\nregion = \"ap-guangzhou\"\nbucket_replicate = tencentcloud.cos.Bucket(\"bucketReplicate\",\n bucket=f\"bucket-replicate-{app_id}\",\n acl=\"private\",\n versioning_enable=True)\nbucket_with_replication = tencentcloud.cos.Bucket(\"bucketWithReplication\",\n bucket=f\"bucket-with-replication-{app_id}\",\n acl=\"private\",\n versioning_enable=True,\n replica_role=f\"qcs::cam::uin/{owner_uin}:uin/{uin}\",\n replica_rules=[tencentcloud.cos.BucketReplicaRuleArgs(\n id=\"test-rep1\",\n status=\"Enabled\",\n prefix=\"dist\",\n destination_bucket=bucket_replicate.bucket.apply(lambda bucket: f\"qcs::cos:{region}::{bucket}\"),\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n var uin = info.Apply(getInfoResult =\u003e getInfoResult.Uin);\n\n var ownerUin = info.Apply(getInfoResult =\u003e getInfoResult.OwnerUin);\n\n var region = \"ap-guangzhou\";\n\n var bucketReplicate = new Tencentcloud.Cos.Bucket(\"bucketReplicate\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-replicate-{appId}\"),\n Acl = \"private\",\n VersioningEnable = true,\n });\n\n var bucketWithReplication = new Tencentcloud.Cos.Bucket(\"bucketWithReplication\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"bucket-with-replication-{appId}\"),\n Acl = \"private\",\n VersioningEnable = true,\n ReplicaRole = Output.Tuple(ownerUin, uin).Apply(values =\u003e\n {\n var ownerUin = values.Item1;\n var uin = values.Item2;\n return $\"qcs::cam::uin/{ownerUin}:uin/{uin}\";\n }),\n ReplicaRules = new[]\n {\n new Tencentcloud.Cos.Inputs.BucketReplicaRuleArgs\n {\n Id = \"test-rep1\",\n Status = \"Enabled\",\n Prefix = \"dist\",\n DestinationBucket = bucketReplicate.CosBucket.Apply(bucket =\u003e $\"qcs::cos:{region}::{bucket}\"),\n },\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\tuin := info.Uin\n\t\townerUin := info.OwnerUin\n\t\tregion := \"ap-guangzhou\"\n\t\tbucketReplicate, err := Cos.NewBucket(ctx, \"bucketReplicate\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-replicate-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cos.NewBucket(ctx, \"bucketWithReplication\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"bucket-with-replication-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t\tVersioningEnable: pulumi.Bool(true),\n\t\t\tReplicaRole: pulumi.String(fmt.Sprintf(\"qcs::cam::uin/%v:uin/%v\", ownerUin, uin)),\n\t\t\tReplicaRules: cos.BucketReplicaRuleArray{\n\t\t\t\t\u0026cos.BucketReplicaRuleArgs{\n\t\t\t\t\tId: pulumi.String(\"test-rep1\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tPrefix: pulumi.String(\"dist\"),\n\t\t\t\t\tDestinationBucket: bucketReplicate.Bucket.ApplyT(func(bucket string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"qcs::cos:%v::%v\", region, bucket), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketReplicaRuleArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n final var uin = info.applyValue(getInfoResult -\u003e getInfoResult.uin());\n\n final var ownerUin = info.applyValue(getInfoResult -\u003e getInfoResult.ownerUin());\n\n final var region = \"ap-guangzhou\";\n\n var bucketReplicate = new Bucket(\"bucketReplicate\", BucketArgs.builder() \n .bucket(String.format(\"bucket-replicate-%s\", appId))\n .acl(\"private\")\n .versioningEnable(true)\n .build());\n\n var bucketWithReplication = new Bucket(\"bucketWithReplication\", BucketArgs.builder() \n .bucket(String.format(\"bucket-with-replication-%s\", appId))\n .acl(\"private\")\n .versioningEnable(true)\n .replicaRole(String.format(\"qcs::cam::uin/%s:uin/%s\", ownerUin,uin))\n .replicaRules(BucketReplicaRuleArgs.builder()\n .id(\"test-rep1\")\n .status(\"Enabled\")\n .prefix(\"dist\")\n .destinationBucket(bucketReplicate.bucket().applyValue(bucket -\u003e String.format(\"qcs::cos:%s::%s\", region,bucket)))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketReplicate:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-replicate-${appId}\n acl: private\n versioningEnable: true\n bucketWithReplication:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: bucket-with-replication-${appId}\n acl: private\n versioningEnable: true\n replicaRole: qcs::cam::uin/${ownerUin}:uin/${uin}\n replicaRules:\n - id: test-rep1\n status: Enabled\n prefix: dist\n destinationBucket: qcs::cos:${region}::${bucketReplicate.bucket}\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n uin: ${info.uin}\n ownerUin: ${info.ownerUin}\n region: ap-guangzhou\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCOS bucket can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/bucket:Bucket bucket bucket-name\n```\n", "properties": { "accelerationEnable": { "type": "boolean", @@ -139615,6 +144159,10 @@ } } }, + "cdcId": { + "type": "string", + "description": "CDC cluster ID.\n" + }, "corsRules": { "type": "array", "items": { @@ -139632,7 +144180,7 @@ }, "encryptionAlgorithm": { "type": "string", - "description": "The server-side encryption algorithm to use. Valid value is `AES256`.\n" + "description": "The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario.\n" }, "forceClean": { "type": "boolean", @@ -139646,6 +144194,10 @@ "type": "integer", "description": "Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer.\n" }, + "kmsId": { + "type": "string", + "description": "The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used.\n" + }, "lifecycleRules": { "type": "array", "items": { @@ -139743,6 +144295,11 @@ }, "willReplaceOnChanges": true }, + "cdcId": { + "type": "string", + "description": "CDC cluster ID.\n", + "willReplaceOnChanges": true + }, "corsRules": { "type": "array", "items": { @@ -139756,7 +144313,7 @@ }, "encryptionAlgorithm": { "type": "string", - "description": "The server-side encryption algorithm to use. Valid value is `AES256`.\n" + "description": "The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario.\n" }, "forceClean": { "type": "boolean", @@ -139770,6 +144327,10 @@ "type": "integer", "description": "Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer.\n" }, + "kmsId": { + "type": "string", + "description": "The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used.\n" + }, "lifecycleRules": { "type": "array", "items": { @@ -139863,6 +144424,11 @@ }, "willReplaceOnChanges": true }, + "cdcId": { + "type": "string", + "description": "CDC cluster ID.\n", + "willReplaceOnChanges": true + }, "corsRules": { "type": "array", "items": { @@ -139880,7 +144446,7 @@ }, "encryptionAlgorithm": { "type": "string", - "description": "The server-side encryption algorithm to use. Valid value is `AES256`.\n" + "description": "The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario.\n" }, "forceClean": { "type": "boolean", @@ -139894,6 +144460,10 @@ "type": "integer", "description": "Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer.\n" }, + "kmsId": { + "type": "string", + "description": "The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used.\n" + }, "lifecycleRules": { "type": "array", "items": { @@ -139963,7 +144533,7 @@ } }, "tencentcloud:Cos/bucketDomainCertificateAttachment:BucketDomainCertificateAttachment": { - "description": "Provides a resource to attach/detach the corresponding certificate for the domain name in specified cos bucket.\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.cos.BucketDomainCertificateAttachment(\"foo\", {\n bucket: \"\",\n domainCertificate: {\n certificate: {\n certType: \"CustomCert\",\n customCert: {\n cert: \"===CERTIFICATE===\",\n privateKey: \"===PRIVATE_KEY===\",\n },\n },\n domain: \"domain_name\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.cos.BucketDomainCertificateAttachment(\"foo\",\n bucket=\"\",\n domain_certificate=tencentcloud.cos.BucketDomainCertificateAttachmentDomainCertificateArgs(\n certificate=tencentcloud.cos.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs(\n cert_type=\"CustomCert\",\n custom_cert=tencentcloud.cos.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs(\n cert=\"===CERTIFICATE===\",\n private_key=\"===PRIVATE_KEY===\",\n ),\n ),\n domain=\"domain_name\",\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.Cos.BucketDomainCertificateAttachment(\"foo\", new()\n {\n Bucket = \"\",\n DomainCertificate = new Tencentcloud.Cos.Inputs.BucketDomainCertificateAttachmentDomainCertificateArgs\n {\n Certificate = new Tencentcloud.Cos.Inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs\n {\n CertType = \"CustomCert\",\n CustomCert = new Tencentcloud.Cos.Inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs\n {\n Cert = \"===CERTIFICATE===\",\n PrivateKey = \"===PRIVATE_KEY===\",\n },\n },\n Domain = \"domain_name\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBucketDomainCertificateAttachment(ctx, \"foo\", \u0026Cos.BucketDomainCertificateAttachmentArgs{\n\t\t\tBucket: pulumi.String(\"\"),\n\t\t\tDomainCertificate: \u0026cos.BucketDomainCertificateAttachmentDomainCertificateArgs{\n\t\t\t\tCertificate: \u0026cos.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs{\n\t\t\t\t\tCertType: pulumi.String(\"CustomCert\"),\n\t\t\t\t\tCustomCert: \u0026cos.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs{\n\t\t\t\t\t\tCert: pulumi.String(\"===CERTIFICATE===\"),\n\t\t\t\t\t\tPrivateKey: pulumi.String(\"===PRIVATE_KEY===\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDomain: pulumi.String(\"domain_name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Cos.BucketDomainCertificateAttachment;\nimport com.pulumi.tencentcloud.Cos.BucketDomainCertificateAttachmentArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketDomainCertificateAttachmentDomainCertificateArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs;\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 BucketDomainCertificateAttachment(\"foo\", BucketDomainCertificateAttachmentArgs.builder() \n .bucket(\"\")\n .domainCertificate(BucketDomainCertificateAttachmentDomainCertificateArgs.builder()\n .certificate(BucketDomainCertificateAttachmentDomainCertificateCertificateArgs.builder()\n .certType(\"CustomCert\")\n .customCert(BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs.builder()\n .cert(\"===CERTIFICATE===\")\n .privateKey(\"===PRIVATE_KEY===\")\n .build())\n .build())\n .domain(\"domain_name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Cos:BucketDomainCertificateAttachment\n properties:\n bucket:\n domainCertificate:\n certificate:\n certType: CustomCert\n customCert:\n cert: ===CERTIFICATE===\n privateKey: ===PRIVATE_KEY===\n domain: domain_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to attach/detach the corresponding certificate for the domain name in specified cos bucket.\n\n\u003e **NOTE:** The current resource does not support cdc.\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.cos.BucketDomainCertificateAttachment(\"foo\", {\n bucket: \"\",\n domainCertificate: {\n certificate: {\n certType: \"CustomCert\",\n customCert: {\n cert: \"===CERTIFICATE===\",\n privateKey: \"===PRIVATE_KEY===\",\n },\n },\n domain: \"domain_name\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.cos.BucketDomainCertificateAttachment(\"foo\",\n bucket=\"\",\n domain_certificate=tencentcloud.cos.BucketDomainCertificateAttachmentDomainCertificateArgs(\n certificate=tencentcloud.cos.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs(\n cert_type=\"CustomCert\",\n custom_cert=tencentcloud.cos.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs(\n cert=\"===CERTIFICATE===\",\n private_key=\"===PRIVATE_KEY===\",\n ),\n ),\n domain=\"domain_name\",\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.Cos.BucketDomainCertificateAttachment(\"foo\", new()\n {\n Bucket = \"\",\n DomainCertificate = new Tencentcloud.Cos.Inputs.BucketDomainCertificateAttachmentDomainCertificateArgs\n {\n Certificate = new Tencentcloud.Cos.Inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs\n {\n CertType = \"CustomCert\",\n CustomCert = new Tencentcloud.Cos.Inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs\n {\n Cert = \"===CERTIFICATE===\",\n PrivateKey = \"===PRIVATE_KEY===\",\n },\n },\n Domain = \"domain_name\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBucketDomainCertificateAttachment(ctx, \"foo\", \u0026Cos.BucketDomainCertificateAttachmentArgs{\n\t\t\tBucket: pulumi.String(\"\"),\n\t\t\tDomainCertificate: \u0026cos.BucketDomainCertificateAttachmentDomainCertificateArgs{\n\t\t\t\tCertificate: \u0026cos.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs{\n\t\t\t\t\tCertType: pulumi.String(\"CustomCert\"),\n\t\t\t\t\tCustomCert: \u0026cos.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs{\n\t\t\t\t\t\tCert: pulumi.String(\"===CERTIFICATE===\"),\n\t\t\t\t\t\tPrivateKey: pulumi.String(\"===PRIVATE_KEY===\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDomain: pulumi.String(\"domain_name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Cos.BucketDomainCertificateAttachment;\nimport com.pulumi.tencentcloud.Cos.BucketDomainCertificateAttachmentArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketDomainCertificateAttachmentDomainCertificateArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs;\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 BucketDomainCertificateAttachment(\"foo\", BucketDomainCertificateAttachmentArgs.builder() \n .bucket(\"\")\n .domainCertificate(BucketDomainCertificateAttachmentDomainCertificateArgs.builder()\n .certificate(BucketDomainCertificateAttachmentDomainCertificateCertificateArgs.builder()\n .certType(\"CustomCert\")\n .customCert(BucketDomainCertificateAttachmentDomainCertificateCertificateCustomCertArgs.builder()\n .cert(\"===CERTIFICATE===\")\n .privateKey(\"===PRIVATE_KEY===\")\n .build())\n .build())\n .domain(\"domain_name\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Cos:BucketDomainCertificateAttachment\n properties:\n bucket:\n domainCertificate:\n certificate:\n certType: CustomCert\n customCert:\n cert: ===CERTIFICATE===\n privateKey: ===PRIVATE_KEY===\n domain: domain_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "bucket": { "type": "string", @@ -140012,7 +144582,7 @@ } }, "tencentcloud:Cos/bucketGenerateInventoryImmediatelyOperation:BucketGenerateInventoryImmediatelyOperation": { - "description": "Provides a resource to generate a cos bucket inventory immediately\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 generateInventoryImmediately = new tencentcloud.cos.BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\", {\n bucket: \"keep-test-xxxxxx\",\n inventoryId: \"test\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ngenerate_inventory_immediately = tencentcloud.cos.BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\",\n bucket=\"keep-test-xxxxxx\",\n inventory_id=\"test\")\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 generateInventoryImmediately = new Tencentcloud.Cos.BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\", new()\n {\n Bucket = \"keep-test-xxxxxx\",\n InventoryId = \"test\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBucketGenerateInventoryImmediatelyOperation(ctx, \"generateInventoryImmediately\", \u0026Cos.BucketGenerateInventoryImmediatelyOperationArgs{\n\t\t\tBucket: pulumi.String(\"keep-test-xxxxxx\"),\n\t\t\tInventoryId: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Cos.BucketGenerateInventoryImmediatelyOperation;\nimport com.pulumi.tencentcloud.Cos.BucketGenerateInventoryImmediatelyOperationArgs;\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 generateInventoryImmediately = new BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\", BucketGenerateInventoryImmediatelyOperationArgs.builder() \n .bucket(\"keep-test-xxxxxx\")\n .inventoryId(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n generateInventoryImmediately:\n type: tencentcloud:Cos:BucketGenerateInventoryImmediatelyOperation\n properties:\n bucket: keep-test-xxxxxx\n inventoryId: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to generate a cos bucket inventory immediately\n\n\u003e **NOTE:** The current resource does not support cdc.\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 generateInventoryImmediately = new tencentcloud.cos.BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\", {\n bucket: \"keep-test-xxxxxx\",\n inventoryId: \"test\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ngenerate_inventory_immediately = tencentcloud.cos.BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\",\n bucket=\"keep-test-xxxxxx\",\n inventory_id=\"test\")\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 generateInventoryImmediately = new Tencentcloud.Cos.BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\", new()\n {\n Bucket = \"keep-test-xxxxxx\",\n InventoryId = \"test\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBucketGenerateInventoryImmediatelyOperation(ctx, \"generateInventoryImmediately\", \u0026Cos.BucketGenerateInventoryImmediatelyOperationArgs{\n\t\t\tBucket: pulumi.String(\"keep-test-xxxxxx\"),\n\t\t\tInventoryId: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Cos.BucketGenerateInventoryImmediatelyOperation;\nimport com.pulumi.tencentcloud.Cos.BucketGenerateInventoryImmediatelyOperationArgs;\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 generateInventoryImmediately = new BucketGenerateInventoryImmediatelyOperation(\"generateInventoryImmediately\", BucketGenerateInventoryImmediatelyOperationArgs.builder() \n .bucket(\"keep-test-xxxxxx\")\n .inventoryId(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n generateInventoryImmediately:\n type: tencentcloud:Cos:BucketGenerateInventoryImmediatelyOperation\n properties:\n bucket: keep-test-xxxxxx\n inventoryId: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "bucket": { "type": "string", @@ -140061,7 +144631,7 @@ } }, "tencentcloud:Cos/bucketInventory:BucketInventory": { - "description": "Provides a resource to create a cos bucket_inventory\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 bucketInventory = new tencentcloud.cos.BucketInventory(\"bucketInventory\", {\n bucket: \"keep-test-xxxxxx\",\n destination: {\n accountId: \"\",\n bucket: \"qcs::cos:ap-guangzhou::keep-test-xxxxxx\",\n format: \"CSV\",\n prefix: \"cos_bucket_inventory\",\n },\n filter: {\n period: {\n startTime: \"1687276800\",\n },\n },\n includedObjectVersions: \"Current\",\n isEnabled: \"true\",\n optionalFields: {\n fields: [\n \"Size\",\n \"ETag\",\n ],\n },\n schedule: {\n frequency: \"Weekly\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nbucket_inventory = tencentcloud.cos.BucketInventory(\"bucketInventory\",\n bucket=\"keep-test-xxxxxx\",\n destination=tencentcloud.cos.BucketInventoryDestinationArgs(\n account_id=\"\",\n bucket=\"qcs::cos:ap-guangzhou::keep-test-xxxxxx\",\n format=\"CSV\",\n prefix=\"cos_bucket_inventory\",\n ),\n filter=tencentcloud.cos.BucketInventoryFilterArgs(\n period=tencentcloud.cos.BucketInventoryFilterPeriodArgs(\n start_time=\"1687276800\",\n ),\n ),\n included_object_versions=\"Current\",\n is_enabled=\"true\",\n optional_fields=tencentcloud.cos.BucketInventoryOptionalFieldsArgs(\n fields=[\n \"Size\",\n \"ETag\",\n ],\n ),\n schedule=tencentcloud.cos.BucketInventoryScheduleArgs(\n frequency=\"Weekly\",\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 bucketInventory = new Tencentcloud.Cos.BucketInventory(\"bucketInventory\", new()\n {\n Bucket = \"keep-test-xxxxxx\",\n Destination = new Tencentcloud.Cos.Inputs.BucketInventoryDestinationArgs\n {\n AccountId = \"\",\n Bucket = \"qcs::cos:ap-guangzhou::keep-test-xxxxxx\",\n Format = \"CSV\",\n Prefix = \"cos_bucket_inventory\",\n },\n Filter = new Tencentcloud.Cos.Inputs.BucketInventoryFilterArgs\n {\n Period = new Tencentcloud.Cos.Inputs.BucketInventoryFilterPeriodArgs\n {\n StartTime = \"1687276800\",\n },\n },\n IncludedObjectVersions = \"Current\",\n IsEnabled = \"true\",\n OptionalFields = new Tencentcloud.Cos.Inputs.BucketInventoryOptionalFieldsArgs\n {\n Fields = new[]\n {\n \"Size\",\n \"ETag\",\n },\n },\n Schedule = new Tencentcloud.Cos.Inputs.BucketInventoryScheduleArgs\n {\n Frequency = \"Weekly\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBucketInventory(ctx, \"bucketInventory\", \u0026Cos.BucketInventoryArgs{\n\t\t\tBucket: pulumi.String(\"keep-test-xxxxxx\"),\n\t\t\tDestination: \u0026cos.BucketInventoryDestinationArgs{\n\t\t\t\tAccountId: pulumi.String(\"\"),\n\t\t\t\tBucket: pulumi.String(\"qcs::cos:ap-guangzhou::keep-test-xxxxxx\"),\n\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\tPrefix: pulumi.String(\"cos_bucket_inventory\"),\n\t\t\t},\n\t\t\tFilter: \u0026cos.BucketInventoryFilterArgs{\n\t\t\t\tPeriod: \u0026cos.BucketInventoryFilterPeriodArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"1687276800\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIncludedObjectVersions: pulumi.String(\"Current\"),\n\t\t\tIsEnabled: pulumi.String(\"true\"),\n\t\t\tOptionalFields: \u0026cos.BucketInventoryOptionalFieldsArgs{\n\t\t\t\tFields: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Size\"),\n\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchedule: \u0026cos.BucketInventoryScheduleArgs{\n\t\t\t\tFrequency: pulumi.String(\"Weekly\"),\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.Cos.BucketInventory;\nimport com.pulumi.tencentcloud.Cos.BucketInventoryArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryDestinationArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryFilterArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryFilterPeriodArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryOptionalFieldsArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryScheduleArgs;\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 bucketInventory = new BucketInventory(\"bucketInventory\", BucketInventoryArgs.builder() \n .bucket(\"keep-test-xxxxxx\")\n .destination(BucketInventoryDestinationArgs.builder()\n .accountId(\"\")\n .bucket(\"qcs::cos:ap-guangzhou::keep-test-xxxxxx\")\n .format(\"CSV\")\n .prefix(\"cos_bucket_inventory\")\n .build())\n .filter(BucketInventoryFilterArgs.builder()\n .period(BucketInventoryFilterPeriodArgs.builder()\n .startTime(\"1687276800\")\n .build())\n .build())\n .includedObjectVersions(\"Current\")\n .isEnabled(\"true\")\n .optionalFields(BucketInventoryOptionalFieldsArgs.builder()\n .fields( \n \"Size\",\n \"ETag\")\n .build())\n .schedule(BucketInventoryScheduleArgs.builder()\n .frequency(\"Weekly\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketInventory:\n type: tencentcloud:Cos:BucketInventory\n properties:\n bucket: keep-test-xxxxxx\n destination:\n accountId:\n bucket: qcs::cos:ap-guangzhou::keep-test-xxxxxx\n format: CSV\n prefix: cos_bucket_inventory\n filter:\n period:\n startTime: '1687276800'\n includedObjectVersions: Current\n isEnabled: 'true'\n optionalFields:\n fields:\n - Size\n - ETag\n schedule:\n frequency: Weekly\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncos bucket_inventory can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory bucket_inventory bucket_inventory_id\n```\n\n", + "description": "Provides a resource to create a cos bucket inventory\n\n\u003e **NOTE:** The current resource does not support cdc.\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 info = tencentcloud.User.getInfo({});\nconst appId = info.then(info =\u003e info.appId);\n// create cos\nconst exampleBucket = new tencentcloud.cos.Bucket(\"exampleBucket\", {\n bucket: appId.then(appId =\u003e `private-bucket-${appId}`),\n acl: \"private\",\n});\n// create cos bucket inventory\nconst exampleBucketInventory = new tencentcloud.cos.BucketInventory(\"exampleBucketInventory\", {\n bucket: exampleBucket.id,\n isEnabled: \"true\",\n includedObjectVersions: \"Current\",\n optionalFields: {\n fields: [\n \"Size\",\n \"ETag\",\n ],\n },\n filter: {\n period: {\n startTime: \"1687276800\",\n },\n },\n schedule: {\n frequency: \"Daily\",\n },\n destination: {\n bucket: \"qcs::cos:ap-guangzhou::private-bucket-1309118522\",\n format: \"CSV\",\n prefix: \"frontends\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninfo = tencentcloud.User.get_info()\napp_id = info.app_id\n# create cos\nexample_bucket = tencentcloud.cos.Bucket(\"exampleBucket\",\n bucket=f\"private-bucket-{app_id}\",\n acl=\"private\")\n# create cos bucket inventory\nexample_bucket_inventory = tencentcloud.cos.BucketInventory(\"exampleBucketInventory\",\n bucket=example_bucket.id,\n is_enabled=\"true\",\n included_object_versions=\"Current\",\n optional_fields=tencentcloud.cos.BucketInventoryOptionalFieldsArgs(\n fields=[\n \"Size\",\n \"ETag\",\n ],\n ),\n filter=tencentcloud.cos.BucketInventoryFilterArgs(\n period=tencentcloud.cos.BucketInventoryFilterPeriodArgs(\n start_time=\"1687276800\",\n ),\n ),\n schedule=tencentcloud.cos.BucketInventoryScheduleArgs(\n frequency=\"Daily\",\n ),\n destination=tencentcloud.cos.BucketInventoryDestinationArgs(\n bucket=\"qcs::cos:ap-guangzhou::private-bucket-1309118522\",\n format=\"CSV\",\n prefix=\"frontends\",\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 info = Tencentcloud.User.GetInfo.Invoke();\n\n var appId = info.Apply(getInfoResult =\u003e getInfoResult.AppId);\n\n // create cos\n var exampleBucket = new Tencentcloud.Cos.Bucket(\"exampleBucket\", new()\n {\n CosBucket = appId.Apply(appId =\u003e $\"private-bucket-{appId}\"),\n Acl = \"private\",\n });\n\n // create cos bucket inventory\n var exampleBucketInventory = new Tencentcloud.Cos.BucketInventory(\"exampleBucketInventory\", new()\n {\n Bucket = exampleBucket.Id,\n IsEnabled = \"true\",\n IncludedObjectVersions = \"Current\",\n OptionalFields = new Tencentcloud.Cos.Inputs.BucketInventoryOptionalFieldsArgs\n {\n Fields = new[]\n {\n \"Size\",\n \"ETag\",\n },\n },\n Filter = new Tencentcloud.Cos.Inputs.BucketInventoryFilterArgs\n {\n Period = new Tencentcloud.Cos.Inputs.BucketInventoryFilterPeriodArgs\n {\n StartTime = \"1687276800\",\n },\n },\n Schedule = new Tencentcloud.Cos.Inputs.BucketInventoryScheduleArgs\n {\n Frequency = \"Daily\",\n },\n Destination = new Tencentcloud.Cos.Inputs.BucketInventoryDestinationArgs\n {\n Bucket = \"qcs::cos:ap-guangzhou::private-bucket-1309118522\",\n Format = \"CSV\",\n Prefix = \"frontends\",\n },\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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinfo, err := User.GetInfo(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tappId := info.AppId\n\t\t// create cos\n\t\texampleBucket, err := Cos.NewBucket(ctx, \"exampleBucket\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(fmt.Sprintf(\"private-bucket-%v\", appId)),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create cos bucket inventory\n\t\t_, err = Cos.NewBucketInventory(ctx, \"exampleBucketInventory\", \u0026Cos.BucketInventoryArgs{\n\t\t\tBucket: exampleBucket.ID(),\n\t\t\tIsEnabled: pulumi.String(\"true\"),\n\t\t\tIncludedObjectVersions: pulumi.String(\"Current\"),\n\t\t\tOptionalFields: \u0026cos.BucketInventoryOptionalFieldsArgs{\n\t\t\t\tFields: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"Size\"),\n\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFilter: \u0026cos.BucketInventoryFilterArgs{\n\t\t\t\tPeriod: \u0026cos.BucketInventoryFilterPeriodArgs{\n\t\t\t\t\tStartTime: pulumi.String(\"1687276800\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchedule: \u0026cos.BucketInventoryScheduleArgs{\n\t\t\t\tFrequency: pulumi.String(\"Daily\"),\n\t\t\t},\n\t\t\tDestination: \u0026cos.BucketInventoryDestinationArgs{\n\t\t\t\tBucket: pulumi.String(\"qcs::cos:ap-guangzhou::private-bucket-1309118522\"),\n\t\t\t\tFormat: pulumi.String(\"CSV\"),\n\t\t\t\tPrefix: pulumi.String(\"frontends\"),\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.User.UserFunctions;\nimport com.pulumi.tencentcloud.User.inputs.GetInfoArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Cos.BucketInventory;\nimport com.pulumi.tencentcloud.Cos.BucketInventoryArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryOptionalFieldsArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryFilterArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryFilterPeriodArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryScheduleArgs;\nimport com.pulumi.tencentcloud.Cos.inputs.BucketInventoryDestinationArgs;\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 info = UserFunctions.getInfo();\n\n final var appId = info.applyValue(getInfoResult -\u003e getInfoResult.appId());\n\n // create cos\n var exampleBucket = new Bucket(\"exampleBucket\", BucketArgs.builder() \n .bucket(String.format(\"private-bucket-%s\", appId))\n .acl(\"private\")\n .build());\n\n // create cos bucket inventory\n var exampleBucketInventory = new BucketInventory(\"exampleBucketInventory\", BucketInventoryArgs.builder() \n .bucket(exampleBucket.id())\n .isEnabled(\"true\")\n .includedObjectVersions(\"Current\")\n .optionalFields(BucketInventoryOptionalFieldsArgs.builder()\n .fields( \n \"Size\",\n \"ETag\")\n .build())\n .filter(BucketInventoryFilterArgs.builder()\n .period(BucketInventoryFilterPeriodArgs.builder()\n .startTime(\"1687276800\")\n .build())\n .build())\n .schedule(BucketInventoryScheduleArgs.builder()\n .frequency(\"Daily\")\n .build())\n .destination(BucketInventoryDestinationArgs.builder()\n .bucket(\"qcs::cos:ap-guangzhou::private-bucket-1309118522\")\n .format(\"CSV\")\n .prefix(\"frontends\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # create cos\n exampleBucket:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: private-bucket-${appId}\n acl: private\n # create cos bucket inventory\n exampleBucketInventory:\n type: tencentcloud:Cos:BucketInventory\n properties:\n bucket: ${exampleBucket.id}\n isEnabled: 'true'\n includedObjectVersions: Current\n optionalFields:\n fields:\n - Size\n - ETag\n filter:\n period:\n startTime: '1687276800'\n schedule:\n frequency: Daily\n destination:\n bucket: qcs::cos:ap-guangzhou::private-bucket-1309118522\n format: CSV\n prefix: frontends\nvariables:\n info:\n fn::invoke:\n Function: tencentcloud:User:getInfo\n Arguments: {}\n appId: ${info.appId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncos bucket inventory can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory example private-bucket-1309118522#tf-example\n```\n\n", "properties": { "bucket": { "type": "string", @@ -140418,7 +144988,7 @@ } }, "tencentcloud:Cos/bucketReferer:BucketReferer": { - "description": "Provides a resource to create a cos bucket_referer\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 bucketReferer = new tencentcloud.cos.BucketReferer(\"bucketReferer\", {\n bucket: \"mycos-1258798060\",\n domainLists: [\n \"127.0.0.1\",\n \"terraform.com\",\n ],\n emptyReferConfiguration: \"Allow\",\n refererType: \"Black-List\",\n status: \"Enabled\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nbucket_referer = tencentcloud.cos.BucketReferer(\"bucketReferer\",\n bucket=\"mycos-1258798060\",\n domain_lists=[\n \"127.0.0.1\",\n \"terraform.com\",\n ],\n empty_refer_configuration=\"Allow\",\n referer_type=\"Black-List\",\n status=\"Enabled\")\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 bucketReferer = new Tencentcloud.Cos.BucketReferer(\"bucketReferer\", new()\n {\n Bucket = \"mycos-1258798060\",\n DomainLists = new[]\n {\n \"127.0.0.1\",\n \"terraform.com\",\n },\n EmptyReferConfiguration = \"Allow\",\n RefererType = \"Black-List\",\n Status = \"Enabled\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBucketReferer(ctx, \"bucketReferer\", \u0026Cos.BucketRefererArgs{\n\t\t\tBucket: pulumi.String(\"mycos-1258798060\"),\n\t\t\tDomainLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\tpulumi.String(\"terraform.com\"),\n\t\t\t},\n\t\t\tEmptyReferConfiguration: pulumi.String(\"Allow\"),\n\t\t\tRefererType: pulumi.String(\"Black-List\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\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.Cos.BucketReferer;\nimport com.pulumi.tencentcloud.Cos.BucketRefererArgs;\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 bucketReferer = new BucketReferer(\"bucketReferer\", BucketRefererArgs.builder() \n .bucket(\"mycos-1258798060\")\n .domainLists( \n \"127.0.0.1\",\n \"terraform.com\")\n .emptyReferConfiguration(\"Allow\")\n .refererType(\"Black-List\")\n .status(\"Enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketReferer:\n type: tencentcloud:Cos:BucketReferer\n properties:\n bucket: mycos-1258798060\n domainLists:\n - 127.0.0.1\n - terraform.com\n emptyReferConfiguration: Allow\n refererType: Black-List\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncos bucket_referer can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/bucketReferer:BucketReferer bucket_referer bucket_id\n```\n\n", + "description": "Provides a resource to create a cos bucket_referer\n\n\u003e **NOTE:** The current resource does not support cdc.\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 bucketReferer = new tencentcloud.cos.BucketReferer(\"bucketReferer\", {\n bucket: \"mycos-1258798060\",\n domainLists: [\n \"127.0.0.1\",\n \"terraform.com\",\n ],\n emptyReferConfiguration: \"Allow\",\n refererType: \"Black-List\",\n status: \"Enabled\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nbucket_referer = tencentcloud.cos.BucketReferer(\"bucketReferer\",\n bucket=\"mycos-1258798060\",\n domain_lists=[\n \"127.0.0.1\",\n \"terraform.com\",\n ],\n empty_refer_configuration=\"Allow\",\n referer_type=\"Black-List\",\n status=\"Enabled\")\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 bucketReferer = new Tencentcloud.Cos.BucketReferer(\"bucketReferer\", new()\n {\n Bucket = \"mycos-1258798060\",\n DomainLists = new[]\n {\n \"127.0.0.1\",\n \"terraform.com\",\n },\n EmptyReferConfiguration = \"Allow\",\n RefererType = \"Black-List\",\n Status = \"Enabled\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewBucketReferer(ctx, \"bucketReferer\", \u0026Cos.BucketRefererArgs{\n\t\t\tBucket: pulumi.String(\"mycos-1258798060\"),\n\t\t\tDomainLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\tpulumi.String(\"terraform.com\"),\n\t\t\t},\n\t\t\tEmptyReferConfiguration: pulumi.String(\"Allow\"),\n\t\t\tRefererType: pulumi.String(\"Black-List\"),\n\t\t\tStatus: pulumi.String(\"Enabled\"),\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.Cos.BucketReferer;\nimport com.pulumi.tencentcloud.Cos.BucketRefererArgs;\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 bucketReferer = new BucketReferer(\"bucketReferer\", BucketRefererArgs.builder() \n .bucket(\"mycos-1258798060\")\n .domainLists( \n \"127.0.0.1\",\n \"terraform.com\")\n .emptyReferConfiguration(\"Allow\")\n .refererType(\"Black-List\")\n .status(\"Enabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bucketReferer:\n type: tencentcloud:Cos:BucketReferer\n properties:\n bucket: mycos-1258798060\n domainLists:\n - 127.0.0.1\n - terraform.com\n emptyReferConfiguration: Allow\n refererType: Black-List\n status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncos bucket_referer can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cos/bucketReferer:BucketReferer bucket_referer bucket_id\n```\n\n", "properties": { "bucket": { "type": "string", @@ -140752,7 +145322,7 @@ } }, "tencentcloud:Cos/objectRestoreOperation:ObjectRestoreOperation": { - "description": "Provides a resource to restore object\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 objectRestore = new tencentcloud.cos.ObjectRestoreOperation(\"objectRestore\", {\n bucket: \"keep-test-1308919341\",\n days: 2,\n key: \"test-restore.txt\",\n tier: \"Expedited\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nobject_restore = tencentcloud.cos.ObjectRestoreOperation(\"objectRestore\",\n bucket=\"keep-test-1308919341\",\n days=2,\n key=\"test-restore.txt\",\n tier=\"Expedited\")\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 objectRestore = new Tencentcloud.Cos.ObjectRestoreOperation(\"objectRestore\", new()\n {\n Bucket = \"keep-test-1308919341\",\n Days = 2,\n Key = \"test-restore.txt\",\n Tier = \"Expedited\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewObjectRestoreOperation(ctx, \"objectRestore\", \u0026Cos.ObjectRestoreOperationArgs{\n\t\t\tBucket: pulumi.String(\"keep-test-1308919341\"),\n\t\t\tDays: pulumi.Int(2),\n\t\t\tKey: pulumi.String(\"test-restore.txt\"),\n\t\t\tTier: pulumi.String(\"Expedited\"),\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.Cos.ObjectRestoreOperation;\nimport com.pulumi.tencentcloud.Cos.ObjectRestoreOperationArgs;\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 objectRestore = new ObjectRestoreOperation(\"objectRestore\", ObjectRestoreOperationArgs.builder() \n .bucket(\"keep-test-1308919341\")\n .days(2)\n .key(\"test-restore.txt\")\n .tier(\"Expedited\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n objectRestore:\n type: tencentcloud:Cos:ObjectRestoreOperation\n properties:\n bucket: keep-test-1308919341\n days: 2\n key: test-restore.txt\n tier: Expedited\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to restore object\n\n\u003e **NOTE:** The current resource does not support cdc.\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 objectRestore = new tencentcloud.cos.ObjectRestoreOperation(\"objectRestore\", {\n bucket: \"keep-test-1308919341\",\n days: 2,\n key: \"test-restore.txt\",\n tier: \"Expedited\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nobject_restore = tencentcloud.cos.ObjectRestoreOperation(\"objectRestore\",\n bucket=\"keep-test-1308919341\",\n days=2,\n key=\"test-restore.txt\",\n tier=\"Expedited\")\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 objectRestore = new Tencentcloud.Cos.ObjectRestoreOperation(\"objectRestore\", new()\n {\n Bucket = \"keep-test-1308919341\",\n Days = 2,\n Key = \"test-restore.txt\",\n Tier = \"Expedited\",\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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.NewObjectRestoreOperation(ctx, \"objectRestore\", \u0026Cos.ObjectRestoreOperationArgs{\n\t\t\tBucket: pulumi.String(\"keep-test-1308919341\"),\n\t\t\tDays: pulumi.Int(2),\n\t\t\tKey: pulumi.String(\"test-restore.txt\"),\n\t\t\tTier: pulumi.String(\"Expedited\"),\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.Cos.ObjectRestoreOperation;\nimport com.pulumi.tencentcloud.Cos.ObjectRestoreOperationArgs;\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 objectRestore = new ObjectRestoreOperation(\"objectRestore\", ObjectRestoreOperationArgs.builder() \n .bucket(\"keep-test-1308919341\")\n .days(2)\n .key(\"test-restore.txt\")\n .tier(\"Expedited\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n objectRestore:\n type: tencentcloud:Cos:ObjectRestoreOperation\n properties:\n bucket: keep-test-1308919341\n days: 2\n key: test-restore.txt\n tier: Expedited\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "bucket": { "type": "string", @@ -146686,7 +151256,7 @@ } }, "tencentcloud:Cynosdb/cluster:Cluster": { - "description": "Provide a resource to create a CynosDB cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Cynosdb.Cluster;\nimport com.pulumi.tencentcloud.Cynosdb.ClusterArgs;\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 Cluster(\"foo\", ClusterArgs.builder() \n .availableZone(\"ap-guangzhou-4\")\n .clusterName(\"tf-cynosdb\")\n .dbType(\"MYSQL\")\n .dbVersion(\"5.7\")\n .forceDelete(false)\n .instanceCpuCore(1)\n .instanceMaintainDuration(7200)\n .instanceMaintainStartTime(10800)\n .instanceMaintainWeekdays( \n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\")\n .instanceMemorySize(2)\n .paramItem(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .password(\"cynos@123\")\n .prarmTemplateId(\"12345\")\n .roGroupSgs(\"sg-ibyjkl6r\")\n .rwGroupSgs(\"sg-ibyjkl6r\")\n .storageLimit(1000)\n .subnetId(\"subnet-q6fhy1mi\")\n .tags(Map.of(\"test\", \"test\"))\n .vpcId(\"vpc-h70b6b49\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Cynosdb:Cluster\n properties:\n availableZone: ap-guangzhou-4\n clusterName: tf-cynosdb\n dbType: MYSQL\n dbVersion: '5.7'\n forceDelete: false\n instanceCpuCore: 1\n instanceMaintainDuration: 7200\n instanceMaintainStartTime: 10800\n instanceMaintainWeekdays:\n - Fri\n - Mon\n - Sat\n - Sun\n - Thu\n - Wed\n - Tue\n instanceMemorySize: 2\n paramItem:\n - currentValue: utf8mb4\n name: character_set_server\n password: cynos@123\n prarmTemplateId: '12345'\n roGroupSgs:\n - sg-ibyjkl6r\n rwGroupSgs:\n - sg-ibyjkl6r\n storageLimit: 1000\n subnetId: subnet-q6fhy1mi\n tags:\n test: test\n vpcId: vpc-h70b6b49\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCynosDB cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cynosdb/cluster:Cluster foo cynosdbmysql-dzj5l8gz\n```\n", + "description": "Provide a resource to create a CynosDB cluster.\n\n## Example Usage\n\n### Create a single availability zone NORMAL CynosDB cluster\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 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 security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create cynosdb cluster\nconst exampleCluster = new tencentcloud.cynosdb.Cluster(\"exampleCluster\", {\n availableZone: availabilityZone,\n vpcId: vpc.id,\n subnetId: subnet.id,\n dbMode: \"NORMAL\",\n dbType: \"MYSQL\",\n dbVersion: \"5.7\",\n port: 3306,\n storageLimit: 1000,\n clusterName: \"tf-example\",\n password: \"cynosDB@123\",\n instanceMaintainDuration: 7200,\n instanceMaintainStartTime: 10800,\n instanceCpuCore: 2,\n instanceMemorySize: 4,\n forceDelete: false,\n instanceMaintainWeekdays: [\n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\",\n ],\n paramItems: [\n {\n name: \"character_set_server\",\n currentValue: \"utf8mb4\",\n },\n {\n name: \"lower_case_table_names\",\n currentValue: \"0\",\n },\n ],\n rwGroupSgs: [exampleGroup.id],\n roGroupSgs: [exampleGroup.id],\n tags: {\n createBy: \"terraform\",\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 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 security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create cynosdb cluster\nexample_cluster = tencentcloud.cynosdb.Cluster(\"exampleCluster\",\n available_zone=availability_zone,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n db_mode=\"NORMAL\",\n db_type=\"MYSQL\",\n db_version=\"5.7\",\n port=3306,\n storage_limit=1000,\n cluster_name=\"tf-example\",\n password=\"cynosDB@123\",\n instance_maintain_duration=7200,\n instance_maintain_start_time=10800,\n instance_cpu_core=2,\n instance_memory_size=4,\n force_delete=False,\n instance_maintain_weekdays=[\n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\",\n ],\n param_items=[\n tencentcloud.cynosdb.ClusterParamItemArgs(\n name=\"character_set_server\",\n current_value=\"utf8mb4\",\n ),\n tencentcloud.cynosdb.ClusterParamItemArgs(\n name=\"lower_case_table_names\",\n current_value=\"0\",\n ),\n ],\n rw_group_sgs=[example_group.id],\n ro_group_sgs=[example_group.id],\n tags={\n \"createBy\": \"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 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 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 security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create cynosdb cluster\n var exampleCluster = new Tencentcloud.Cynosdb.Cluster(\"exampleCluster\", new()\n {\n AvailableZone = availabilityZone,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DbMode = \"NORMAL\",\n DbType = \"MYSQL\",\n DbVersion = \"5.7\",\n Port = 3306,\n StorageLimit = 1000,\n ClusterName = \"tf-example\",\n Password = \"cynosDB@123\",\n InstanceMaintainDuration = 7200,\n InstanceMaintainStartTime = 10800,\n InstanceCpuCore = 2,\n InstanceMemorySize = 4,\n ForceDelete = false,\n InstanceMaintainWeekdays = new[]\n {\n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\",\n },\n ParamItems = new[]\n {\n new Tencentcloud.Cynosdb.Inputs.ClusterParamItemArgs\n {\n Name = \"character_set_server\",\n CurrentValue = \"utf8mb4\",\n },\n new Tencentcloud.Cynosdb.Inputs.ClusterParamItemArgs\n {\n Name = \"lower_case_table_names\",\n CurrentValue = \"0\",\n },\n },\n RwGroupSgs = new[]\n {\n exampleGroup.Id,\n },\n RoGroupSgs = new[]\n {\n exampleGroup.Id,\n },\n Tags = \n {\n { \"createBy\", \"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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cynosdb\"\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\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 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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create cynosdb cluster\n\t\t_, err = Cynosdb.NewCluster(ctx, \"exampleCluster\", \u0026Cynosdb.ClusterArgs{\n\t\t\tAvailableZone: pulumi.String(availabilityZone),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDbMode: pulumi.String(\"NORMAL\"),\n\t\t\tDbType: pulumi.String(\"MYSQL\"),\n\t\t\tDbVersion: pulumi.String(\"5.7\"),\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tStorageLimit: pulumi.Int(1000),\n\t\t\tClusterName: pulumi.String(\"tf-example\"),\n\t\t\tPassword: pulumi.String(\"cynosDB@123\"),\n\t\t\tInstanceMaintainDuration: pulumi.Int(7200),\n\t\t\tInstanceMaintainStartTime: pulumi.Int(10800),\n\t\t\tInstanceCpuCore: pulumi.Int(2),\n\t\t\tInstanceMemorySize: pulumi.Int(4),\n\t\t\tForceDelete: pulumi.Bool(false),\n\t\t\tInstanceMaintainWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Fri\"),\n\t\t\t\tpulumi.String(\"Mon\"),\n\t\t\t\tpulumi.String(\"Sat\"),\n\t\t\t\tpulumi.String(\"Sun\"),\n\t\t\t\tpulumi.String(\"Thu\"),\n\t\t\t\tpulumi.String(\"Wed\"),\n\t\t\t\tpulumi.String(\"Tue\"),\n\t\t\t},\n\t\t\tParamItems: cynosdb.ClusterParamItemArray{\n\t\t\t\t\u0026cynosdb.ClusterParamItemArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tCurrentValue: pulumi.String(\"utf8mb4\"),\n\t\t\t\t},\n\t\t\t\t\u0026cynosdb.ClusterParamItemArgs{\n\t\t\t\t\tName: pulumi.String(\"lower_case_table_names\"),\n\t\t\t\t\tCurrentValue: pulumi.String(\"0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRwGroupSgs: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tRoGroupSgs: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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.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.Cynosdb.Cluster;\nimport com.pulumi.tencentcloud.Cynosdb.ClusterArgs;\nimport com.pulumi.tencentcloud.Cynosdb.inputs.ClusterParamItemArgs;\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 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 security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create cynosdb cluster\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .availableZone(availabilityZone)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dbMode(\"NORMAL\")\n .dbType(\"MYSQL\")\n .dbVersion(\"5.7\")\n .port(3306)\n .storageLimit(1000)\n .clusterName(\"tf-example\")\n .password(\"cynosDB@123\")\n .instanceMaintainDuration(7200)\n .instanceMaintainStartTime(10800)\n .instanceCpuCore(2)\n .instanceMemorySize(4)\n .forceDelete(false)\n .instanceMaintainWeekdays( \n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\")\n .paramItems( \n ClusterParamItemArgs.builder()\n .name(\"character_set_server\")\n .currentValue(\"utf8mb4\")\n .build(),\n ClusterParamItemArgs.builder()\n .name(\"lower_case_table_names\")\n .currentValue(\"0\")\n .build())\n .rwGroupSgs(exampleGroup.id())\n .roGroupSgs(exampleGroup.id())\n .tags(Map.of(\"createBy\", \"terraform\"))\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 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 security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create cynosdb cluster\n exampleCluster:\n type: tencentcloud:Cynosdb:Cluster\n properties:\n availableZone: ${availabilityZone}\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dbMode: NORMAL\n dbType: MYSQL\n dbVersion: '5.7'\n port: 3306\n storageLimit: 1000\n clusterName: tf-example\n password: cynosDB@123\n instanceMaintainDuration: 7200\n instanceMaintainStartTime: 10800\n instanceCpuCore: 2\n instanceMemorySize: 4\n forceDelete: false\n instanceMaintainWeekdays:\n - Fri\n - Mon\n - Sat\n - Sun\n - Thu\n - Wed\n - Tue\n paramItems:\n - name: character_set_server\n currentValue: utf8mb4\n - name: lower_case_table_names\n currentValue: '0'\n rwGroupSgs:\n - ${exampleGroup.id}\n roGroupSgs:\n - ${exampleGroup.id}\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a multiple availability zone SERVERLESS CynosDB cluster\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-4\";\nconst slaveZone = config.get(\"slaveZone\") || \"ap-guangzhou-6\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create 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 security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create param template\nconst exampleParamTemplate = new tencentcloud.cynosdb.ParamTemplate(\"exampleParamTemplate\", {\n dbMode: \"SERVERLESS\",\n engineVersion: \"8.0\",\n templateName: \"tf-example\",\n templateDescription: \"terraform-template\",\n paramLists: [{\n currentValue: \"-1\",\n paramName: \"optimizer_trace_offset\",\n }],\n});\n// create cynosdb cluster\nconst exampleCluster = new tencentcloud.cynosdb.Cluster(\"exampleCluster\", {\n availableZone: availabilityZone,\n slaveZone: slaveZone,\n vpcId: vpc.id,\n subnetId: subnet.id,\n dbMode: \"SERVERLESS\",\n dbType: \"MYSQL\",\n dbVersion: \"8.0\",\n port: 3306,\n storageLimit: 1000,\n clusterName: \"tf-example\",\n password: \"cynosDB@123\",\n instanceMaintainDuration: 7200,\n instanceMaintainStartTime: 10800,\n minCpu: 2,\n maxCpu: 4,\n paramTemplateId: exampleParamTemplate.templateId,\n forceDelete: false,\n instanceMaintainWeekdays: [\n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\",\n ],\n rwGroupSgs: [exampleGroup.id],\n roGroupSgs: [exampleGroup.id],\n tags: {\n createBy: \"terraform\",\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-4\"\nslave_zone = config.get(\"slaveZone\")\nif slave_zone is None:\n slave_zone = \"ap-guangzhou-6\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create 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 security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create param template\nexample_param_template = tencentcloud.cynosdb.ParamTemplate(\"exampleParamTemplate\",\n db_mode=\"SERVERLESS\",\n engine_version=\"8.0\",\n template_name=\"tf-example\",\n template_description=\"terraform-template\",\n param_lists=[tencentcloud.cynosdb.ParamTemplateParamListArgs(\n current_value=\"-1\",\n param_name=\"optimizer_trace_offset\",\n )])\n# create cynosdb cluster\nexample_cluster = tencentcloud.cynosdb.Cluster(\"exampleCluster\",\n available_zone=availability_zone,\n slave_zone=slave_zone,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n db_mode=\"SERVERLESS\",\n db_type=\"MYSQL\",\n db_version=\"8.0\",\n port=3306,\n storage_limit=1000,\n cluster_name=\"tf-example\",\n password=\"cynosDB@123\",\n instance_maintain_duration=7200,\n instance_maintain_start_time=10800,\n min_cpu=2,\n max_cpu=4,\n param_template_id=example_param_template.template_id,\n force_delete=False,\n instance_maintain_weekdays=[\n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\",\n ],\n rw_group_sgs=[example_group.id],\n ro_group_sgs=[example_group.id],\n tags={\n \"createBy\": \"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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n var slaveZone = config.Get(\"slaveZone\") ?? \"ap-guangzhou-6\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create 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 security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create param template\n var exampleParamTemplate = new Tencentcloud.Cynosdb.ParamTemplate(\"exampleParamTemplate\", new()\n {\n DbMode = \"SERVERLESS\",\n EngineVersion = \"8.0\",\n TemplateName = \"tf-example\",\n TemplateDescription = \"terraform-template\",\n ParamLists = new[]\n {\n new Tencentcloud.Cynosdb.Inputs.ParamTemplateParamListArgs\n {\n CurrentValue = \"-1\",\n ParamName = \"optimizer_trace_offset\",\n },\n },\n });\n\n // create cynosdb cluster\n var exampleCluster = new Tencentcloud.Cynosdb.Cluster(\"exampleCluster\", new()\n {\n AvailableZone = availabilityZone,\n SlaveZone = slaveZone,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DbMode = \"SERVERLESS\",\n DbType = \"MYSQL\",\n DbVersion = \"8.0\",\n Port = 3306,\n StorageLimit = 1000,\n ClusterName = \"tf-example\",\n Password = \"cynosDB@123\",\n InstanceMaintainDuration = 7200,\n InstanceMaintainStartTime = 10800,\n MinCpu = 2,\n MaxCpu = 4,\n ParamTemplateId = exampleParamTemplate.TemplateId,\n ForceDelete = false,\n InstanceMaintainWeekdays = new[]\n {\n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\",\n },\n RwGroupSgs = new[]\n {\n exampleGroup.Id,\n },\n RoGroupSgs = new[]\n {\n exampleGroup.Id,\n },\n Tags = \n {\n { \"createBy\", \"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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cynosdb\"\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\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tslaveZone := \"ap-guangzhou-6\"\n\t\tif param := cfg.Get(\"slaveZone\"); param != \"\" {\n\t\t\tslaveZone = 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 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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create param template\n\t\texampleParamTemplate, err := Cynosdb.NewParamTemplate(ctx, \"exampleParamTemplate\", \u0026Cynosdb.ParamTemplateArgs{\n\t\t\tDbMode: pulumi.String(\"SERVERLESS\"),\n\t\t\tEngineVersion: pulumi.String(\"8.0\"),\n\t\t\tTemplateName: pulumi.String(\"tf-example\"),\n\t\t\tTemplateDescription: pulumi.String(\"terraform-template\"),\n\t\t\tParamLists: cynosdb.ParamTemplateParamListArray{\n\t\t\t\t\u0026cynosdb.ParamTemplateParamListArgs{\n\t\t\t\t\tCurrentValue: pulumi.String(\"-1\"),\n\t\t\t\t\tParamName: pulumi.String(\"optimizer_trace_offset\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create cynosdb cluster\n\t\t_, err = Cynosdb.NewCluster(ctx, \"exampleCluster\", \u0026Cynosdb.ClusterArgs{\n\t\t\tAvailableZone: pulumi.String(availabilityZone),\n\t\t\tSlaveZone: pulumi.String(slaveZone),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDbMode: pulumi.String(\"SERVERLESS\"),\n\t\t\tDbType: pulumi.String(\"MYSQL\"),\n\t\t\tDbVersion: pulumi.String(\"8.0\"),\n\t\t\tPort: pulumi.Int(3306),\n\t\t\tStorageLimit: pulumi.Int(1000),\n\t\t\tClusterName: pulumi.String(\"tf-example\"),\n\t\t\tPassword: pulumi.String(\"cynosDB@123\"),\n\t\t\tInstanceMaintainDuration: pulumi.Int(7200),\n\t\t\tInstanceMaintainStartTime: pulumi.Int(10800),\n\t\t\tMinCpu: pulumi.Float64(2),\n\t\t\tMaxCpu: pulumi.Float64(4),\n\t\t\tParamTemplateId: exampleParamTemplate.TemplateId,\n\t\t\tForceDelete: pulumi.Bool(false),\n\t\t\tInstanceMaintainWeekdays: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Fri\"),\n\t\t\t\tpulumi.String(\"Mon\"),\n\t\t\t\tpulumi.String(\"Sat\"),\n\t\t\t\tpulumi.String(\"Sun\"),\n\t\t\t\tpulumi.String(\"Thu\"),\n\t\t\t\tpulumi.String(\"Wed\"),\n\t\t\t\tpulumi.String(\"Tue\"),\n\t\t\t},\n\t\t\tRwGroupSgs: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tRoGroupSgs: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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.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.Cynosdb.ParamTemplate;\nimport com.pulumi.tencentcloud.Cynosdb.ParamTemplateArgs;\nimport com.pulumi.tencentcloud.Cynosdb.inputs.ParamTemplateParamListArgs;\nimport com.pulumi.tencentcloud.Cynosdb.Cluster;\nimport com.pulumi.tencentcloud.Cynosdb.ClusterArgs;\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-4\");\n final var slaveZone = config.get(\"slaveZone\").orElse(\"ap-guangzhou-6\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create 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 security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create param template\n var exampleParamTemplate = new ParamTemplate(\"exampleParamTemplate\", ParamTemplateArgs.builder() \n .dbMode(\"SERVERLESS\")\n .engineVersion(\"8.0\")\n .templateName(\"tf-example\")\n .templateDescription(\"terraform-template\")\n .paramLists(ParamTemplateParamListArgs.builder()\n .currentValue(\"-1\")\n .paramName(\"optimizer_trace_offset\")\n .build())\n .build());\n\n // create cynosdb cluster\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .availableZone(availabilityZone)\n .slaveZone(slaveZone)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dbMode(\"SERVERLESS\")\n .dbType(\"MYSQL\")\n .dbVersion(\"8.0\")\n .port(3306)\n .storageLimit(1000)\n .clusterName(\"tf-example\")\n .password(\"cynosDB@123\")\n .instanceMaintainDuration(7200)\n .instanceMaintainStartTime(10800)\n .minCpu(2)\n .maxCpu(4)\n .paramTemplateId(exampleParamTemplate.templateId())\n .forceDelete(false)\n .instanceMaintainWeekdays( \n \"Fri\",\n \"Mon\",\n \"Sat\",\n \"Sun\",\n \"Thu\",\n \"Wed\",\n \"Tue\")\n .rwGroupSgs(exampleGroup.id())\n .roGroupSgs(exampleGroup.id())\n .tags(Map.of(\"createBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\n slaveZone:\n type: string\n default: ap-guangzhou-6\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create 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 security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create param template\n exampleParamTemplate:\n type: tencentcloud:Cynosdb:ParamTemplate\n properties:\n dbMode: SERVERLESS\n engineVersion: '8.0'\n templateName: tf-example\n templateDescription: terraform-template\n paramLists:\n - currentValue: '-1'\n paramName: optimizer_trace_offset\n # create cynosdb cluster\n exampleCluster:\n type: tencentcloud:Cynosdb:Cluster\n properties:\n availableZone: ${availabilityZone}\n slaveZone: ${slaveZone}\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dbMode: SERVERLESS\n dbType: MYSQL\n dbVersion: '8.0'\n port: 3306\n storageLimit: 1000\n clusterName: tf-example\n password: cynosDB@123\n instanceMaintainDuration: 7200\n instanceMaintainStartTime: 10800\n minCpu: 2\n maxCpu: 4\n paramTemplateId: ${exampleParamTemplate.templateId}\n forceDelete: false\n instanceMaintainWeekdays:\n - Fri\n - Mon\n - Sat\n - Sun\n - Thu\n - Wed\n - Tue\n rwGroupSgs:\n - ${exampleGroup.id}\n roGroupSgs:\n - ${exampleGroup.id}\n tags:\n createBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCynosDB cluster can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cynosdb/cluster:Cluster example cynosdbmysql-dzj5l8gz\n```\n", "properties": { "autoPause": { "type": "string", @@ -146734,7 +151304,7 @@ }, "dbVersion": { "type": "string", - "description": "Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`.\n" + "description": "Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`.\n" }, "forceDelete": { "type": "boolean", @@ -146796,7 +151366,11 @@ "items": { "$ref": "#/types/tencentcloud:Cynosdb/ClusterParamItem:ClusterParamItem" }, - "description": "Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details.\n" + "description": "Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details.\n" + }, + "paramTemplateId": { + "type": "integer", + "description": "The ID of the parameter template.\n" }, "password": { "type": "string", @@ -146809,7 +151383,8 @@ }, "prarmTemplateId": { "type": "integer", - "description": "The ID of the parameter template.\n" + "description": "It will be deprecated. Use `param_template_id` instead. The ID of the parameter template.\n", + "deprecationMessage": "It will be deprecated. Use `param_template_id` instead." }, "prepaidPeriod": { "type": "integer", @@ -146877,6 +151452,10 @@ "type": "string", "description": "Specify whether to pause or resume serverless cluster. values: `resume`, `pause`.\n" }, + "slaveZone": { + "type": "string", + "description": "Multi zone Addresses of the CynosDB Cluster.\n" + }, "storageLimit": { "type": "integer", "description": "Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary.\n" @@ -146918,6 +151497,7 @@ "instanceName", "instanceStatus", "instanceStorageSize", + "paramTemplateId", "password", "prarmTemplateId", "roGroupAddrs", @@ -146970,7 +151550,7 @@ }, "dbVersion": { "type": "string", - "description": "Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`.\n", + "description": "Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`.\n", "willReplaceOnChanges": true }, "forceDelete": { @@ -147017,7 +151597,11 @@ "items": { "$ref": "#/types/tencentcloud:Cynosdb/ClusterParamItem:ClusterParamItem" }, - "description": "Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details.\n" + "description": "Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details.\n" + }, + "paramTemplateId": { + "type": "integer", + "description": "The ID of the parameter template.\n" }, "password": { "type": "string", @@ -147032,7 +151616,8 @@ }, "prarmTemplateId": { "type": "integer", - "description": "The ID of the parameter template.\n" + "description": "It will be deprecated. Use `param_template_id` instead. The ID of the parameter template.\n", + "deprecationMessage": "It will be deprecated. Use `param_template_id` instead." }, "prepaidPeriod": { "type": "integer", @@ -147062,6 +151647,10 @@ "type": "string", "description": "Specify whether to pause or resume serverless cluster. values: `resume`, `pause`.\n" }, + "slaveZone": { + "type": "string", + "description": "Multi zone Addresses of the CynosDB Cluster.\n" + }, "storageLimit": { "type": "integer", "description": "Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary.\n" @@ -147147,7 +151736,7 @@ }, "dbVersion": { "type": "string", - "description": "Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`.\n", + "description": "Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`.\n", "willReplaceOnChanges": true }, "forceDelete": { @@ -147210,7 +151799,11 @@ "items": { "$ref": "#/types/tencentcloud:Cynosdb/ClusterParamItem:ClusterParamItem" }, - "description": "Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details.\n" + "description": "Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details.\n" + }, + "paramTemplateId": { + "type": "integer", + "description": "The ID of the parameter template.\n" }, "password": { "type": "string", @@ -147225,7 +151818,8 @@ }, "prarmTemplateId": { "type": "integer", - "description": "The ID of the parameter template.\n" + "description": "It will be deprecated. Use `param_template_id` instead. The ID of the parameter template.\n", + "deprecationMessage": "It will be deprecated. Use `param_template_id` instead." }, "prepaidPeriod": { "type": "integer", @@ -147295,6 +151889,10 @@ "type": "string", "description": "Specify whether to pause or resume serverless cluster. values: `resume`, `pause`.\n" }, + "slaveZone": { + "type": "string", + "description": "Multi zone Addresses of the CynosDB Cluster.\n" + }, "storageLimit": { "type": "integer", "description": "Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary.\n" @@ -150680,7 +155278,7 @@ }, "email": { "type": "string", - "description": "Email.\n" + "description": "Email. Please provide at least one of `phone` or `email`.\n" }, "groupIdSets": { "type": "array", @@ -150691,7 +155289,7 @@ }, "phone": { "type": "string", - "description": "Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx.\n" + "description": "Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`.\n" }, "realName": { "type": "string", @@ -150732,7 +155330,7 @@ }, "email": { "type": "string", - "description": "Email.\n" + "description": "Email. Please provide at least one of `phone` or `email`.\n" }, "groupIdSets": { "type": "array", @@ -150743,7 +155341,7 @@ }, "phone": { "type": "string", - "description": "Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx.\n" + "description": "Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`.\n" }, "realName": { "type": "string", @@ -150783,7 +155381,7 @@ }, "email": { "type": "string", - "description": "Email.\n" + "description": "Email. Please provide at least one of `phone` or `email`.\n" }, "groupIdSets": { "type": "array", @@ -150794,7 +155392,7 @@ }, "phone": { "type": "string", - "description": "Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx.\n" + "description": "Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`.\n" }, "realName": { "type": "string", @@ -160335,6 +164933,10 @@ "type": "string", "description": "ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`.\n" }, + "cdcId": { + "type": "string", + "description": "CDC Unique ID.\n" + }, "egress": { "type": "string", "description": "Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).\n" @@ -160412,6 +165014,10 @@ "type": "string", "description": "ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`.\n" }, + "cdcId": { + "type": "string", + "description": "CDC Unique ID.\n" + }, "egress": { "type": "string", "description": "Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).\n" @@ -160475,6 +165081,10 @@ "type": "string", "description": "ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`.\n" }, + "cdcId": { + "type": "string", + "description": "CDC Unique ID.\n" + }, "egress": { "type": "string", "description": "Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).\n" @@ -160810,7 +165420,7 @@ } }, "tencentcloud:Elasticsearch/instance:Instance": { - "description": "Provides an elasticsearch instance resource.\n\n## Example Usage\n\n### Create a basic version of elasticsearch instance paid by the hour\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 availabilityZone = tencentcloud.Availability.getZonesByProduct({\n product: \"es\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n cidrBlock: \"10.0.1.0/24\",\n});\nconst example = new tencentcloud.elasticsearch.Instance(\"example\", {\n instanceName: \"tf_example_es\",\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n version: \"7.10.1\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n password: \"Test12345\",\n licenseType: \"basic\",\n basicSecurityType: 2,\n webNodeTypeInfos: [{\n nodeNum: 1,\n nodeType: \"ES.S1.MEDIUM4\",\n }],\n nodeInfoLists: [{\n nodeNum: 2,\n nodeType: \"ES.S1.MEDIUM8\",\n encrypt: false,\n }],\n esAcl: {\n whiteLists: [\"127.0.0.1\"],\n },\n tags: {\n test: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\navailability_zone = tencentcloud.Availability.get_zones_by_product(product=\"es\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone.zones[0].name,\n cidr_block=\"10.0.1.0/24\")\nexample = tencentcloud.elasticsearch.Instance(\"example\",\n instance_name=\"tf_example_es\",\n availability_zone=availability_zone.zones[0].name,\n version=\"7.10.1\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n password=\"Test12345\",\n license_type=\"basic\",\n basic_security_type=2,\n web_node_type_infos=[tencentcloud.elasticsearch.InstanceWebNodeTypeInfoArgs(\n node_num=1,\n node_type=\"ES.S1.MEDIUM4\",\n )],\n node_info_lists=[tencentcloud.elasticsearch.InstanceNodeInfoListArgs(\n node_num=2,\n node_type=\"ES.S1.MEDIUM8\",\n encrypt=False,\n )],\n es_acl=tencentcloud.elasticsearch.InstanceEsAclArgs(\n white_lists=[\"127.0.0.1\"],\n ),\n tags={\n \"test\": \"test\",\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 availabilityZone = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"es\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var example = new Tencentcloud.Elasticsearch.Instance(\"example\", new()\n {\n InstanceName = \"tf_example_es\",\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n Version = \"7.10.1\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n Password = \"Test12345\",\n LicenseType = \"basic\",\n BasicSecurityType = 2,\n WebNodeTypeInfos = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceWebNodeTypeInfoArgs\n {\n NodeNum = 1,\n NodeType = \"ES.S1.MEDIUM4\",\n },\n },\n NodeInfoLists = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceNodeInfoListArgs\n {\n NodeNum = 2,\n NodeType = \"ES.S1.MEDIUM8\",\n Encrypt = false,\n },\n },\n EsAcl = new Tencentcloud.Elasticsearch.Inputs.InstanceEsAclArgs\n {\n WhiteLists = new[]\n {\n \"127.0.0.1\",\n },\n },\n Tags = \n {\n { \"test\", \"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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Elasticsearch\"\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\tavailabilityZone, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"es\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Elasticsearch.NewInstance(ctx, \"example\", \u0026Elasticsearch.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf_example_es\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\tVersion: pulumi.String(\"7.10.1\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tLicenseType: pulumi.String(\"basic\"),\n\t\t\tBasicSecurityType: pulumi.Int(2),\n\t\t\tWebNodeTypeInfos: elasticsearch.InstanceWebNodeTypeInfoArray{\n\t\t\t\t\u0026elasticsearch.InstanceWebNodeTypeInfoArgs{\n\t\t\t\t\tNodeNum: pulumi.Int(1),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodeInfoLists: elasticsearch.InstanceNodeInfoListArray{\n\t\t\t\t\u0026elasticsearch.InstanceNodeInfoListArgs{\n\t\t\t\t\tNodeNum: pulumi.Int(2),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM8\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEsAcl: \u0026elasticsearch.InstanceEsAclArgs{\n\t\t\t\tWhiteLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\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.Elasticsearch.Instance;\nimport com.pulumi.tencentcloud.Elasticsearch.InstanceArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceWebNodeTypeInfoArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceNodeInfoListArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceEsAclArgs;\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 availabilityZone = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"es\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .instanceName(\"tf_example_es\")\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .version(\"7.10.1\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .password(\"Test12345\")\n .licenseType(\"basic\")\n .basicSecurityType(2)\n .webNodeTypeInfos(InstanceWebNodeTypeInfoArgs.builder()\n .nodeNum(1)\n .nodeType(\"ES.S1.MEDIUM4\")\n .build())\n .nodeInfoLists(InstanceNodeInfoListArgs.builder()\n .nodeNum(2)\n .nodeType(\"ES.S1.MEDIUM8\")\n .encrypt(false)\n .build())\n .esAcl(InstanceEsAclArgs.builder()\n .whiteLists(\"127.0.0.1\")\n .build())\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone.zones[0].name}\n cidrBlock: 10.0.1.0/24\n example:\n type: tencentcloud:Elasticsearch:Instance\n properties:\n instanceName: tf_example_es\n availabilityZone: ${availabilityZone.zones[0].name}\n version: 7.10.1\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n password: Test12345\n licenseType: basic\n basicSecurityType: 2\n webNodeTypeInfos:\n - nodeNum: 1\n nodeType: ES.S1.MEDIUM4\n nodeInfoLists:\n - nodeNum: 2\n nodeType: ES.S1.MEDIUM8\n encrypt: false\n esAcl:\n whiteLists:\n - 127.0.0.1\n tags:\n test: test\nvariables:\n availabilityZone:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: es\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a basic version of elasticsearch instance for multi-availability zone deployment\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 availabilityZone = tencentcloud.Availability.getZonesByProduct({\n product: \"es\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n cidrBlock: \"10.0.1.0/24\",\n});\nconst subnetMultiZone = new tencentcloud.subnet.Instance(\"subnetMultiZone\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[1]?.name),\n cidrBlock: \"10.0.2.0/24\",\n});\nconst exampleMultiZone = new tencentcloud.elasticsearch.Instance(\"exampleMultiZone\", {\n instanceName: \"tf_example_es\",\n availabilityZone: \"-\",\n version: \"7.10.1\",\n vpcId: vpc.id,\n subnetId: \"-\",\n password: \"Test12345\",\n licenseType: \"basic\",\n basicSecurityType: 2,\n deployMode: 1,\n multiZoneInfos: [\n {\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n subnetId: subnet.id,\n },\n {\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[1]?.name),\n subnetId: subnetMultiZone.id,\n },\n ],\n webNodeTypeInfos: [{\n nodeNum: 1,\n nodeType: \"ES.S1.MEDIUM4\",\n }],\n nodeInfoLists: [\n {\n type: \"dedicatedMaster\",\n nodeNum: 3,\n nodeType: \"ES.S1.MEDIUM8\",\n encrypt: false,\n },\n {\n type: \"hotData\",\n nodeNum: 2,\n nodeType: \"ES.S1.MEDIUM8\",\n encrypt: false,\n },\n ],\n esAcl: {\n whiteLists: [\"127.0.0.1\"],\n },\n tags: {\n test: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\navailability_zone = tencentcloud.Availability.get_zones_by_product(product=\"es\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone.zones[0].name,\n cidr_block=\"10.0.1.0/24\")\nsubnet_multi_zone = tencentcloud.subnet.Instance(\"subnetMultiZone\",\n vpc_id=vpc.id,\n availability_zone=availability_zone.zones[1].name,\n cidr_block=\"10.0.2.0/24\")\nexample_multi_zone = tencentcloud.elasticsearch.Instance(\"exampleMultiZone\",\n instance_name=\"tf_example_es\",\n availability_zone=\"-\",\n version=\"7.10.1\",\n vpc_id=vpc.id,\n subnet_id=\"-\",\n password=\"Test12345\",\n license_type=\"basic\",\n basic_security_type=2,\n deploy_mode=1,\n multi_zone_infos=[\n tencentcloud.elasticsearch.InstanceMultiZoneInfoArgs(\n availability_zone=availability_zone.zones[0].name,\n subnet_id=subnet.id,\n ),\n tencentcloud.elasticsearch.InstanceMultiZoneInfoArgs(\n availability_zone=availability_zone.zones[1].name,\n subnet_id=subnet_multi_zone.id,\n ),\n ],\n web_node_type_infos=[tencentcloud.elasticsearch.InstanceWebNodeTypeInfoArgs(\n node_num=1,\n node_type=\"ES.S1.MEDIUM4\",\n )],\n node_info_lists=[\n tencentcloud.elasticsearch.InstanceNodeInfoListArgs(\n type=\"dedicatedMaster\",\n node_num=3,\n node_type=\"ES.S1.MEDIUM8\",\n encrypt=False,\n ),\n tencentcloud.elasticsearch.InstanceNodeInfoListArgs(\n type=\"hotData\",\n node_num=2,\n node_type=\"ES.S1.MEDIUM8\",\n encrypt=False,\n ),\n ],\n es_acl=tencentcloud.elasticsearch.InstanceEsAclArgs(\n white_lists=[\"127.0.0.1\"],\n ),\n tags={\n \"test\": \"test\",\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 availabilityZone = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"es\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var subnetMultiZone = new Tencentcloud.Subnet.Instance(\"subnetMultiZone\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[1]?.Name),\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var exampleMultiZone = new Tencentcloud.Elasticsearch.Instance(\"exampleMultiZone\", new()\n {\n InstanceName = \"tf_example_es\",\n AvailabilityZone = \"-\",\n Version = \"7.10.1\",\n VpcId = vpc.Id,\n SubnetId = \"-\",\n Password = \"Test12345\",\n LicenseType = \"basic\",\n BasicSecurityType = 2,\n DeployMode = 1,\n MultiZoneInfos = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceMultiZoneInfoArgs\n {\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n SubnetId = subnet.Id,\n },\n new Tencentcloud.Elasticsearch.Inputs.InstanceMultiZoneInfoArgs\n {\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[1]?.Name),\n SubnetId = subnetMultiZone.Id,\n },\n },\n WebNodeTypeInfos = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceWebNodeTypeInfoArgs\n {\n NodeNum = 1,\n NodeType = \"ES.S1.MEDIUM4\",\n },\n },\n NodeInfoLists = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceNodeInfoListArgs\n {\n Type = \"dedicatedMaster\",\n NodeNum = 3,\n NodeType = \"ES.S1.MEDIUM8\",\n Encrypt = false,\n },\n new Tencentcloud.Elasticsearch.Inputs.InstanceNodeInfoListArgs\n {\n Type = \"hotData\",\n NodeNum = 2,\n NodeType = \"ES.S1.MEDIUM8\",\n Encrypt = false,\n },\n },\n EsAcl = new Tencentcloud.Elasticsearch.Inputs.InstanceEsAclArgs\n {\n WhiteLists = new[]\n {\n \"127.0.0.1\",\n },\n },\n Tags = \n {\n { \"test\", \"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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Elasticsearch\"\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\tavailabilityZone, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"es\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetMultiZone, err := Subnet.NewInstance(ctx, \"subnetMultiZone\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[1].Name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Elasticsearch.NewInstance(ctx, \"exampleMultiZone\", \u0026Elasticsearch.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf_example_es\"),\n\t\t\tAvailabilityZone: pulumi.String(\"-\"),\n\t\t\tVersion: pulumi.String(\"7.10.1\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: pulumi.String(\"-\"),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tLicenseType: pulumi.String(\"basic\"),\n\t\t\tBasicSecurityType: pulumi.Int(2),\n\t\t\tDeployMode: pulumi.Int(1),\n\t\t\tMultiZoneInfos: elasticsearch.InstanceMultiZoneInfoArray{\n\t\t\t\t\u0026elasticsearch.InstanceMultiZoneInfoArgs{\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\t\t\tSubnetId: subnet.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026elasticsearch.InstanceMultiZoneInfoArgs{\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[1].Name),\n\t\t\t\t\tSubnetId: subnetMultiZone.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWebNodeTypeInfos: elasticsearch.InstanceWebNodeTypeInfoArray{\n\t\t\t\t\u0026elasticsearch.InstanceWebNodeTypeInfoArgs{\n\t\t\t\t\tNodeNum: pulumi.Int(1),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodeInfoLists: elasticsearch.InstanceNodeInfoListArray{\n\t\t\t\t\u0026elasticsearch.InstanceNodeInfoListArgs{\n\t\t\t\t\tType: pulumi.String(\"dedicatedMaster\"),\n\t\t\t\t\tNodeNum: pulumi.Int(3),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM8\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026elasticsearch.InstanceNodeInfoListArgs{\n\t\t\t\t\tType: pulumi.String(\"hotData\"),\n\t\t\t\t\tNodeNum: pulumi.Int(2),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM8\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEsAcl: \u0026elasticsearch.InstanceEsAclArgs{\n\t\t\t\tWhiteLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\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.Elasticsearch.Instance;\nimport com.pulumi.tencentcloud.Elasticsearch.InstanceArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceMultiZoneInfoArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceWebNodeTypeInfoArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceNodeInfoListArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceEsAclArgs;\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 availabilityZone = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"es\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var subnetMultiZone = new Instance(\"subnetMultiZone\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[1].name()))\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var exampleMultiZone = new Instance(\"exampleMultiZone\", InstanceArgs.builder() \n .instanceName(\"tf_example_es\")\n .availabilityZone(\"-\")\n .version(\"7.10.1\")\n .vpcId(vpc.id())\n .subnetId(\"-\")\n .password(\"Test12345\")\n .licenseType(\"basic\")\n .basicSecurityType(2)\n .deployMode(1)\n .multiZoneInfos( \n InstanceMultiZoneInfoArgs.builder()\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .subnetId(subnet.id())\n .build(),\n InstanceMultiZoneInfoArgs.builder()\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[1].name()))\n .subnetId(subnetMultiZone.id())\n .build())\n .webNodeTypeInfos(InstanceWebNodeTypeInfoArgs.builder()\n .nodeNum(1)\n .nodeType(\"ES.S1.MEDIUM4\")\n .build())\n .nodeInfoLists( \n InstanceNodeInfoListArgs.builder()\n .type(\"dedicatedMaster\")\n .nodeNum(3)\n .nodeType(\"ES.S1.MEDIUM8\")\n .encrypt(false)\n .build(),\n InstanceNodeInfoListArgs.builder()\n .type(\"hotData\")\n .nodeNum(2)\n .nodeType(\"ES.S1.MEDIUM8\")\n .encrypt(false)\n .build())\n .esAcl(InstanceEsAclArgs.builder()\n .whiteLists(\"127.0.0.1\")\n .build())\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone.zones[0].name}\n cidrBlock: 10.0.1.0/24\n subnetMultiZone:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone.zones[1].name}\n cidrBlock: 10.0.2.0/24\n exampleMultiZone:\n type: tencentcloud:Elasticsearch:Instance\n properties:\n instanceName: tf_example_es\n availabilityZone: '-'\n version: 7.10.1\n vpcId: ${vpc.id}\n subnetId: '-'\n password: Test12345\n licenseType: basic\n basicSecurityType: 2\n deployMode: 1\n multiZoneInfos:\n - availabilityZone: ${availabilityZone.zones[0].name}\n subnetId: ${subnet.id}\n - availabilityZone: ${availabilityZone.zones[1].name}\n subnetId: ${subnetMultiZone.id}\n webNodeTypeInfos:\n - nodeNum: 1\n nodeType: ES.S1.MEDIUM4\n nodeInfoLists:\n - type: dedicatedMaster\n nodeNum: 3\n nodeType: ES.S1.MEDIUM8\n encrypt: false\n - type: hotData\n nodeNum: 2\n nodeType: ES.S1.MEDIUM8\n encrypt: false\n esAcl:\n whiteLists:\n - 127.0.0.1\n tags:\n test: test\nvariables:\n availabilityZone:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: es\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElasticsearch instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Elasticsearch/instance:Instance foo es-17634f05\n```\n", + "description": "Provides an elasticsearch instance resource.\n\n## Example Usage\n\n### Create a basic version of elasticsearch instance paid by the hour\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 availabilityZone = tencentcloud.Availability.getZonesByProduct({\n product: \"es\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n cidrBlock: \"10.0.1.0/24\",\n});\nconst example = new tencentcloud.elasticsearch.Instance(\"example\", {\n instanceName: \"tf_example_es\",\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n version: \"7.10.1\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n password: \"Test12345\",\n licenseType: \"basic\",\n basicSecurityType: 2,\n webNodeTypeInfos: [{\n nodeNum: 1,\n nodeType: \"ES.S1.MEDIUM4\",\n }],\n nodeInfoLists: [{\n nodeNum: 2,\n nodeType: \"ES.S1.MEDIUM8\",\n encrypt: false,\n }],\n esAcl: {\n whiteLists: [\"127.0.0.1\"],\n },\n cosBackup: {\n isAutoBackup: true,\n backupTime: \"22:00\",\n },\n tags: {\n test: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\navailability_zone = tencentcloud.Availability.get_zones_by_product(product=\"es\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone.zones[0].name,\n cidr_block=\"10.0.1.0/24\")\nexample = tencentcloud.elasticsearch.Instance(\"example\",\n instance_name=\"tf_example_es\",\n availability_zone=availability_zone.zones[0].name,\n version=\"7.10.1\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n password=\"Test12345\",\n license_type=\"basic\",\n basic_security_type=2,\n web_node_type_infos=[tencentcloud.elasticsearch.InstanceWebNodeTypeInfoArgs(\n node_num=1,\n node_type=\"ES.S1.MEDIUM4\",\n )],\n node_info_lists=[tencentcloud.elasticsearch.InstanceNodeInfoListArgs(\n node_num=2,\n node_type=\"ES.S1.MEDIUM8\",\n encrypt=False,\n )],\n es_acl=tencentcloud.elasticsearch.InstanceEsAclArgs(\n white_lists=[\"127.0.0.1\"],\n ),\n cos_backup=tencentcloud.elasticsearch.InstanceCosBackupArgs(\n is_auto_backup=True,\n backup_time=\"22:00\",\n ),\n tags={\n \"test\": \"test\",\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 availabilityZone = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"es\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var example = new Tencentcloud.Elasticsearch.Instance(\"example\", new()\n {\n InstanceName = \"tf_example_es\",\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n Version = \"7.10.1\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n Password = \"Test12345\",\n LicenseType = \"basic\",\n BasicSecurityType = 2,\n WebNodeTypeInfos = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceWebNodeTypeInfoArgs\n {\n NodeNum = 1,\n NodeType = \"ES.S1.MEDIUM4\",\n },\n },\n NodeInfoLists = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceNodeInfoListArgs\n {\n NodeNum = 2,\n NodeType = \"ES.S1.MEDIUM8\",\n Encrypt = false,\n },\n },\n EsAcl = new Tencentcloud.Elasticsearch.Inputs.InstanceEsAclArgs\n {\n WhiteLists = new[]\n {\n \"127.0.0.1\",\n },\n },\n CosBackup = new Tencentcloud.Elasticsearch.Inputs.InstanceCosBackupArgs\n {\n IsAutoBackup = true,\n BackupTime = \"22:00\",\n },\n Tags = \n {\n { \"test\", \"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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Elasticsearch\"\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\tavailabilityZone, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"es\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Elasticsearch.NewInstance(ctx, \"example\", \u0026Elasticsearch.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf_example_es\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\tVersion: pulumi.String(\"7.10.1\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tLicenseType: pulumi.String(\"basic\"),\n\t\t\tBasicSecurityType: pulumi.Int(2),\n\t\t\tWebNodeTypeInfos: elasticsearch.InstanceWebNodeTypeInfoArray{\n\t\t\t\t\u0026elasticsearch.InstanceWebNodeTypeInfoArgs{\n\t\t\t\t\tNodeNum: pulumi.Int(1),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodeInfoLists: elasticsearch.InstanceNodeInfoListArray{\n\t\t\t\t\u0026elasticsearch.InstanceNodeInfoListArgs{\n\t\t\t\t\tNodeNum: pulumi.Int(2),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM8\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEsAcl: \u0026elasticsearch.InstanceEsAclArgs{\n\t\t\t\tWhiteLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCosBackup: \u0026elasticsearch.InstanceCosBackupArgs{\n\t\t\t\tIsAutoBackup: pulumi.Bool(true),\n\t\t\t\tBackupTime: pulumi.String(\"22:00\"),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\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.Elasticsearch.Instance;\nimport com.pulumi.tencentcloud.Elasticsearch.InstanceArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceWebNodeTypeInfoArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceNodeInfoListArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceEsAclArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceCosBackupArgs;\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 availabilityZone = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"es\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .instanceName(\"tf_example_es\")\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .version(\"7.10.1\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .password(\"Test12345\")\n .licenseType(\"basic\")\n .basicSecurityType(2)\n .webNodeTypeInfos(InstanceWebNodeTypeInfoArgs.builder()\n .nodeNum(1)\n .nodeType(\"ES.S1.MEDIUM4\")\n .build())\n .nodeInfoLists(InstanceNodeInfoListArgs.builder()\n .nodeNum(2)\n .nodeType(\"ES.S1.MEDIUM8\")\n .encrypt(false)\n .build())\n .esAcl(InstanceEsAclArgs.builder()\n .whiteLists(\"127.0.0.1\")\n .build())\n .cosBackup(InstanceCosBackupArgs.builder()\n .isAutoBackup(true)\n .backupTime(\"22:00\")\n .build())\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone.zones[0].name}\n cidrBlock: 10.0.1.0/24\n example:\n type: tencentcloud:Elasticsearch:Instance\n properties:\n instanceName: tf_example_es\n availabilityZone: ${availabilityZone.zones[0].name}\n version: 7.10.1\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n password: Test12345\n licenseType: basic\n basicSecurityType: 2\n webNodeTypeInfos:\n - nodeNum: 1\n nodeType: ES.S1.MEDIUM4\n nodeInfoLists:\n - nodeNum: 2\n nodeType: ES.S1.MEDIUM8\n encrypt: false\n esAcl:\n whiteLists:\n - 127.0.0.1\n cosBackup:\n isAutoBackup: true\n backupTime: 22:00\n tags:\n test: test\nvariables:\n availabilityZone:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: es\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a basic version of elasticsearch instance for multi-availability zone deployment\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 availabilityZone = tencentcloud.Availability.getZonesByProduct({\n product: \"es\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n cidrBlock: \"10.0.1.0/24\",\n});\nconst subnetMultiZone = new tencentcloud.subnet.Instance(\"subnetMultiZone\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[1]?.name),\n cidrBlock: \"10.0.2.0/24\",\n});\nconst exampleMultiZone = new tencentcloud.elasticsearch.Instance(\"exampleMultiZone\", {\n instanceName: \"tf_example_es\",\n availabilityZone: \"-\",\n version: \"7.10.1\",\n vpcId: vpc.id,\n subnetId: \"-\",\n password: \"Test12345\",\n licenseType: \"basic\",\n basicSecurityType: 2,\n deployMode: 1,\n multiZoneInfos: [\n {\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[0]?.name),\n subnetId: subnet.id,\n },\n {\n availabilityZone: availabilityZone.then(availabilityZone =\u003e availabilityZone.zones?.[1]?.name),\n subnetId: subnetMultiZone.id,\n },\n ],\n webNodeTypeInfos: [{\n nodeNum: 1,\n nodeType: \"ES.S1.MEDIUM4\",\n }],\n nodeInfoLists: [\n {\n type: \"dedicatedMaster\",\n nodeNum: 3,\n nodeType: \"ES.S1.MEDIUM8\",\n encrypt: false,\n },\n {\n type: \"hotData\",\n nodeNum: 2,\n nodeType: \"ES.S1.MEDIUM8\",\n encrypt: false,\n },\n ],\n esAcl: {\n whiteLists: [\"127.0.0.1\"],\n },\n tags: {\n test: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\navailability_zone = tencentcloud.Availability.get_zones_by_product(product=\"es\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone.zones[0].name,\n cidr_block=\"10.0.1.0/24\")\nsubnet_multi_zone = tencentcloud.subnet.Instance(\"subnetMultiZone\",\n vpc_id=vpc.id,\n availability_zone=availability_zone.zones[1].name,\n cidr_block=\"10.0.2.0/24\")\nexample_multi_zone = tencentcloud.elasticsearch.Instance(\"exampleMultiZone\",\n instance_name=\"tf_example_es\",\n availability_zone=\"-\",\n version=\"7.10.1\",\n vpc_id=vpc.id,\n subnet_id=\"-\",\n password=\"Test12345\",\n license_type=\"basic\",\n basic_security_type=2,\n deploy_mode=1,\n multi_zone_infos=[\n tencentcloud.elasticsearch.InstanceMultiZoneInfoArgs(\n availability_zone=availability_zone.zones[0].name,\n subnet_id=subnet.id,\n ),\n tencentcloud.elasticsearch.InstanceMultiZoneInfoArgs(\n availability_zone=availability_zone.zones[1].name,\n subnet_id=subnet_multi_zone.id,\n ),\n ],\n web_node_type_infos=[tencentcloud.elasticsearch.InstanceWebNodeTypeInfoArgs(\n node_num=1,\n node_type=\"ES.S1.MEDIUM4\",\n )],\n node_info_lists=[\n tencentcloud.elasticsearch.InstanceNodeInfoListArgs(\n type=\"dedicatedMaster\",\n node_num=3,\n node_type=\"ES.S1.MEDIUM8\",\n encrypt=False,\n ),\n tencentcloud.elasticsearch.InstanceNodeInfoListArgs(\n type=\"hotData\",\n node_num=2,\n node_type=\"ES.S1.MEDIUM8\",\n encrypt=False,\n ),\n ],\n es_acl=tencentcloud.elasticsearch.InstanceEsAclArgs(\n white_lists=[\"127.0.0.1\"],\n ),\n tags={\n \"test\": \"test\",\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 availabilityZone = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"es\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var subnetMultiZone = new Tencentcloud.Subnet.Instance(\"subnetMultiZone\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[1]?.Name),\n CidrBlock = \"10.0.2.0/24\",\n });\n\n var exampleMultiZone = new Tencentcloud.Elasticsearch.Instance(\"exampleMultiZone\", new()\n {\n InstanceName = \"tf_example_es\",\n AvailabilityZone = \"-\",\n Version = \"7.10.1\",\n VpcId = vpc.Id,\n SubnetId = \"-\",\n Password = \"Test12345\",\n LicenseType = \"basic\",\n BasicSecurityType = 2,\n DeployMode = 1,\n MultiZoneInfos = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceMultiZoneInfoArgs\n {\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n SubnetId = subnet.Id,\n },\n new Tencentcloud.Elasticsearch.Inputs.InstanceMultiZoneInfoArgs\n {\n AvailabilityZone = availabilityZone.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[1]?.Name),\n SubnetId = subnetMultiZone.Id,\n },\n },\n WebNodeTypeInfos = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceWebNodeTypeInfoArgs\n {\n NodeNum = 1,\n NodeType = \"ES.S1.MEDIUM4\",\n },\n },\n NodeInfoLists = new[]\n {\n new Tencentcloud.Elasticsearch.Inputs.InstanceNodeInfoListArgs\n {\n Type = \"dedicatedMaster\",\n NodeNum = 3,\n NodeType = \"ES.S1.MEDIUM8\",\n Encrypt = false,\n },\n new Tencentcloud.Elasticsearch.Inputs.InstanceNodeInfoListArgs\n {\n Type = \"hotData\",\n NodeNum = 2,\n NodeType = \"ES.S1.MEDIUM8\",\n Encrypt = false,\n },\n },\n EsAcl = new Tencentcloud.Elasticsearch.Inputs.InstanceEsAclArgs\n {\n WhiteLists = new[]\n {\n \"127.0.0.1\",\n },\n },\n Tags = \n {\n { \"test\", \"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/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Elasticsearch\"\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\tavailabilityZone, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"es\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetMultiZone, err := Subnet.NewInstance(ctx, \"subnetMultiZone\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[1].Name),\n\t\t\tCidrBlock: pulumi.String(\"10.0.2.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Elasticsearch.NewInstance(ctx, \"exampleMultiZone\", \u0026Elasticsearch.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf_example_es\"),\n\t\t\tAvailabilityZone: pulumi.String(\"-\"),\n\t\t\tVersion: pulumi.String(\"7.10.1\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: pulumi.String(\"-\"),\n\t\t\tPassword: pulumi.String(\"Test12345\"),\n\t\t\tLicenseType: pulumi.String(\"basic\"),\n\t\t\tBasicSecurityType: pulumi.Int(2),\n\t\t\tDeployMode: pulumi.Int(1),\n\t\t\tMultiZoneInfos: elasticsearch.InstanceMultiZoneInfoArray{\n\t\t\t\t\u0026elasticsearch.InstanceMultiZoneInfoArgs{\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[0].Name),\n\t\t\t\t\tSubnetId: subnet.ID(),\n\t\t\t\t},\n\t\t\t\t\u0026elasticsearch.InstanceMultiZoneInfoArgs{\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone.Zones[1].Name),\n\t\t\t\t\tSubnetId: subnetMultiZone.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWebNodeTypeInfos: elasticsearch.InstanceWebNodeTypeInfoArray{\n\t\t\t\t\u0026elasticsearch.InstanceWebNodeTypeInfoArgs{\n\t\t\t\t\tNodeNum: pulumi.Int(1),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodeInfoLists: elasticsearch.InstanceNodeInfoListArray{\n\t\t\t\t\u0026elasticsearch.InstanceNodeInfoListArgs{\n\t\t\t\t\tType: pulumi.String(\"dedicatedMaster\"),\n\t\t\t\t\tNodeNum: pulumi.Int(3),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM8\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026elasticsearch.InstanceNodeInfoListArgs{\n\t\t\t\t\tType: pulumi.String(\"hotData\"),\n\t\t\t\t\tNodeNum: pulumi.Int(2),\n\t\t\t\t\tNodeType: pulumi.String(\"ES.S1.MEDIUM8\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEsAcl: \u0026elasticsearch.InstanceEsAclArgs{\n\t\t\t\tWhiteLists: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"127.0.0.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\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.Elasticsearch.Instance;\nimport com.pulumi.tencentcloud.Elasticsearch.InstanceArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceMultiZoneInfoArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceWebNodeTypeInfoArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceNodeInfoListArgs;\nimport com.pulumi.tencentcloud.Elasticsearch.inputs.InstanceEsAclArgs;\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 availabilityZone = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"es\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var subnetMultiZone = new Instance(\"subnetMultiZone\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[1].name()))\n .cidrBlock(\"10.0.2.0/24\")\n .build());\n\n var exampleMultiZone = new Instance(\"exampleMultiZone\", InstanceArgs.builder() \n .instanceName(\"tf_example_es\")\n .availabilityZone(\"-\")\n .version(\"7.10.1\")\n .vpcId(vpc.id())\n .subnetId(\"-\")\n .password(\"Test12345\")\n .licenseType(\"basic\")\n .basicSecurityType(2)\n .deployMode(1)\n .multiZoneInfos( \n InstanceMultiZoneInfoArgs.builder()\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .subnetId(subnet.id())\n .build(),\n InstanceMultiZoneInfoArgs.builder()\n .availabilityZone(availabilityZone.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[1].name()))\n .subnetId(subnetMultiZone.id())\n .build())\n .webNodeTypeInfos(InstanceWebNodeTypeInfoArgs.builder()\n .nodeNum(1)\n .nodeType(\"ES.S1.MEDIUM4\")\n .build())\n .nodeInfoLists( \n InstanceNodeInfoListArgs.builder()\n .type(\"dedicatedMaster\")\n .nodeNum(3)\n .nodeType(\"ES.S1.MEDIUM8\")\n .encrypt(false)\n .build(),\n InstanceNodeInfoListArgs.builder()\n .type(\"hotData\")\n .nodeNum(2)\n .nodeType(\"ES.S1.MEDIUM8\")\n .encrypt(false)\n .build())\n .esAcl(InstanceEsAclArgs.builder()\n .whiteLists(\"127.0.0.1\")\n .build())\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone.zones[0].name}\n cidrBlock: 10.0.1.0/24\n subnetMultiZone:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone.zones[1].name}\n cidrBlock: 10.0.2.0/24\n exampleMultiZone:\n type: tencentcloud:Elasticsearch:Instance\n properties:\n instanceName: tf_example_es\n availabilityZone: '-'\n version: 7.10.1\n vpcId: ${vpc.id}\n subnetId: '-'\n password: Test12345\n licenseType: basic\n basicSecurityType: 2\n deployMode: 1\n multiZoneInfos:\n - availabilityZone: ${availabilityZone.zones[0].name}\n subnetId: ${subnet.id}\n - availabilityZone: ${availabilityZone.zones[1].name}\n subnetId: ${subnetMultiZone.id}\n webNodeTypeInfos:\n - nodeNum: 1\n nodeType: ES.S1.MEDIUM4\n nodeInfoLists:\n - type: dedicatedMaster\n nodeNum: 3\n nodeType: ES.S1.MEDIUM8\n encrypt: false\n - type: hotData\n nodeNum: 2\n nodeType: ES.S1.MEDIUM8\n encrypt: false\n esAcl:\n whiteLists:\n - 127.0.0.1\n tags:\n test: test\nvariables:\n availabilityZone:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: es\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nElasticsearch instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Elasticsearch/instance:Instance foo es-17634f05\n```\n", "properties": { "availabilityZone": { "type": "string", @@ -160828,6 +165438,10 @@ "type": "string", "description": "The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`.\n" }, + "cosBackup": { + "$ref": "#/types/tencentcloud:Elasticsearch/InstanceCosBackup:InstanceCosBackup", + "description": "COS automatic backup information.\n" + }, "createTime": { "type": "string", "description": "Instance creation time.\n" @@ -160856,6 +165470,10 @@ "type": "string", "description": "Name of the instance, which can contain 1 to 50 English letters, Chinese characters, digits, dashes(-), or underscores(_).\n" }, + "kibanaPublicAccess": { + "type": "string", + "description": "Kibana public network access status. Valid values are `OPEN` and `CLOSE`.\n" + }, "kibanaUrl": { "type": "string", "description": "Kibana access URL.\n" @@ -160920,12 +165538,14 @@ "elasticsearchPort", "elasticsearchVip", "esAcl", + "kibanaPublicAccess", "kibanaUrl", "multiZoneInfos", "nodeInfoLists", "password", "version", - "vpcId" + "vpcId", + "webNodeTypeInfos" ], "inputProperties": { "availabilityZone": { @@ -160947,6 +165567,10 @@ "description": "The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`.\n", "willReplaceOnChanges": true }, + "cosBackup": { + "$ref": "#/types/tencentcloud:Elasticsearch/InstanceCosBackup:InstanceCosBackup", + "description": "COS automatic backup information.\n" + }, "deployMode": { "type": "integer", "description": "Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`.\n", @@ -160960,6 +165584,10 @@ "type": "string", "description": "Name of the instance, which can contain 1 to 50 English letters, Chinese characters, digits, dashes(-), or underscores(_).\n" }, + "kibanaPublicAccess": { + "type": "string", + "description": "Kibana public network access status. Valid values are `OPEN` and `CLOSE`.\n" + }, "licenseType": { "type": "string", "description": "License type. Valid values are `oss`, `basic` and `platinum`. The default value is `platinum`.\n" @@ -161046,6 +165674,10 @@ "description": "The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`.\n", "willReplaceOnChanges": true }, + "cosBackup": { + "$ref": "#/types/tencentcloud:Elasticsearch/InstanceCosBackup:InstanceCosBackup", + "description": "COS automatic backup information.\n" + }, "createTime": { "type": "string", "description": "Instance creation time.\n" @@ -161075,6 +165707,10 @@ "type": "string", "description": "Name of the instance, which can contain 1 to 50 English letters, Chinese characters, digits, dashes(-), or underscores(_).\n" }, + "kibanaPublicAccess": { + "type": "string", + "description": "Kibana public network access status. Valid values are `OPEN` and `CLOSE`.\n" + }, "kibanaUrl": { "type": "string", "description": "Kibana access URL.\n" @@ -161980,6 +166616,10 @@ "tencentcloud:Emr/cluster:Cluster": { "description": "Provide a resource to create a emr cluster.\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 cvm4c8m = tencentcloud.Instance.getTypes({\n excludeSoldOut: true,\n cpuCoreCount: 4,\n memorySize: 8,\n filters: [\n {\n name: \"instance-charge-type\",\n values: [\"POSTPAID_BY_HOUR\"],\n },\n {\n name: \"zone\",\n values: [availabilityZone],\n },\n ],\n});\nconst emrVpc = new tencentcloud.vpc.Instance(\"emrVpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst emrSubnet = new tencentcloud.subnet.Instance(\"emrSubnet\", {\n availabilityZone: availabilityZone,\n vpcId: emrVpc.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\nconst emrSg = new tencentcloud.security.Group(\"emrSg\", {\n description: \"emr sg\",\n projectId: 0,\n});\nconst emrCluster = new tencentcloud.emr.Cluster(\"emrCluster\", {\n productId: 38,\n vpcSettings: {\n vpc_id: emrVpc.id,\n subnet_id: emrSubnet.id,\n },\n softwares: [\n \"hdfs-2.8.5\",\n \"knox-1.6.1\",\n \"openldap-2.4.44\",\n \"yarn-2.8.5\",\n \"zookeeper-3.6.3\",\n ],\n supportHa: 0,\n instanceName: \"emr-cluster-test\",\n resourceSpec: {\n masterResourceSpec: {\n memSize: 8192,\n cpu: 4,\n diskSize: 100,\n diskType: \"CLOUD_PREMIUM\",\n spec: cvm4c8m.then(cvm4c8m =\u003e `CVM.${cvm4c8m.instanceTypes?.[0]?.family}`),\n storageType: 5,\n rootSize: 50,\n },\n coreResourceSpec: {\n memSize: 8192,\n cpu: 4,\n diskSize: 100,\n diskType: \"CLOUD_PREMIUM\",\n spec: cvm4c8m.then(cvm4c8m =\u003e `CVM.${cvm4c8m.instanceTypes?.[0]?.family}`),\n storageType: 5,\n rootSize: 50,\n },\n masterCount: 1,\n coreCount: 2,\n },\n loginSettings: {\n password: \"Tencent@cloud123\",\n },\n timeSpan: 3600,\n timeUnit: \"s\",\n payMode: 0,\n placementInfo: {\n zone: availabilityZone,\n projectId: 0,\n },\n sgId: emrSg.id,\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\"\ncvm4c8m = tencentcloud.Instance.get_types(exclude_sold_out=True,\n cpu_core_count=4,\n memory_size=8,\n filters=[\n tencentcloud.instance.GetTypesFilterArgs(\n name=\"instance-charge-type\",\n values=[\"POSTPAID_BY_HOUR\"],\n ),\n tencentcloud.instance.GetTypesFilterArgs(\n name=\"zone\",\n values=[availability_zone],\n ),\n ])\nemr_vpc = tencentcloud.vpc.Instance(\"emrVpc\", cidr_block=\"10.0.0.0/16\")\nemr_subnet = tencentcloud.subnet.Instance(\"emrSubnet\",\n availability_zone=availability_zone,\n vpc_id=emr_vpc.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\nemr_sg = tencentcloud.security.Group(\"emrSg\",\n description=\"emr sg\",\n project_id=0)\nemr_cluster = tencentcloud.emr.Cluster(\"emrCluster\",\n product_id=38,\n vpc_settings={\n \"vpc_id\": emr_vpc.id,\n \"subnet_id\": emr_subnet.id,\n },\n softwares=[\n \"hdfs-2.8.5\",\n \"knox-1.6.1\",\n \"openldap-2.4.44\",\n \"yarn-2.8.5\",\n \"zookeeper-3.6.3\",\n ],\n support_ha=0,\n instance_name=\"emr-cluster-test\",\n resource_spec=tencentcloud.emr.ClusterResourceSpecArgs(\n master_resource_spec=tencentcloud.emr.ClusterResourceSpecMasterResourceSpecArgs(\n mem_size=8192,\n cpu=4,\n disk_size=100,\n disk_type=\"CLOUD_PREMIUM\",\n spec=f\"CVM.{cvm4c8m.instance_types[0].family}\",\n storage_type=5,\n root_size=50,\n ),\n core_resource_spec=tencentcloud.emr.ClusterResourceSpecCoreResourceSpecArgs(\n mem_size=8192,\n cpu=4,\n disk_size=100,\n disk_type=\"CLOUD_PREMIUM\",\n spec=f\"CVM.{cvm4c8m.instance_types[0].family}\",\n storage_type=5,\n root_size=50,\n ),\n master_count=1,\n core_count=2,\n ),\n login_settings={\n \"password\": \"Tencent@cloud123\",\n },\n time_span=3600,\n time_unit=\"s\",\n pay_mode=0,\n placement_info=tencentcloud.emr.ClusterPlacementInfoArgs(\n zone=availability_zone,\n project_id=0,\n ),\n sg_id=emr_sg.id)\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 cvm4c8m = Tencentcloud.Instance.GetTypes.Invoke(new()\n {\n ExcludeSoldOut = true,\n CpuCoreCount = 4,\n MemorySize = 8,\n Filters = new[]\n {\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"instance-charge-type\",\n Values = new[]\n {\n \"POSTPAID_BY_HOUR\",\n },\n },\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"zone\",\n Values = new[]\n {\n availabilityZone,\n },\n },\n },\n });\n\n var emrVpc = new Tencentcloud.Vpc.Instance(\"emrVpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var emrSubnet = new Tencentcloud.Subnet.Instance(\"emrSubnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = emrVpc.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n var emrSg = new Tencentcloud.Security.Group(\"emrSg\", new()\n {\n Description = \"emr sg\",\n ProjectId = 0,\n });\n\n var emrCluster = new Tencentcloud.Emr.Cluster(\"emrCluster\", new()\n {\n ProductId = 38,\n VpcSettings = \n {\n { \"vpc_id\", emrVpc.Id },\n { \"subnet_id\", emrSubnet.Id },\n },\n Softwares = new[]\n {\n \"hdfs-2.8.5\",\n \"knox-1.6.1\",\n \"openldap-2.4.44\",\n \"yarn-2.8.5\",\n \"zookeeper-3.6.3\",\n },\n SupportHa = 0,\n InstanceName = \"emr-cluster-test\",\n ResourceSpec = new Tencentcloud.Emr.Inputs.ClusterResourceSpecArgs\n {\n MasterResourceSpec = new Tencentcloud.Emr.Inputs.ClusterResourceSpecMasterResourceSpecArgs\n {\n MemSize = 8192,\n Cpu = 4,\n DiskSize = 100,\n DiskType = \"CLOUD_PREMIUM\",\n Spec = $\"CVM.{cvm4c8m.Apply(getTypesResult =\u003e getTypesResult.InstanceTypes[0]?.Family)}\",\n StorageType = 5,\n RootSize = 50,\n },\n CoreResourceSpec = new Tencentcloud.Emr.Inputs.ClusterResourceSpecCoreResourceSpecArgs\n {\n MemSize = 8192,\n Cpu = 4,\n DiskSize = 100,\n DiskType = \"CLOUD_PREMIUM\",\n Spec = $\"CVM.{cvm4c8m.Apply(getTypesResult =\u003e getTypesResult.InstanceTypes[0]?.Family)}\",\n StorageType = 5,\n RootSize = 50,\n },\n MasterCount = 1,\n CoreCount = 2,\n },\n LoginSettings = \n {\n { \"password\", \"Tencent@cloud123\" },\n },\n TimeSpan = 3600,\n TimeUnit = \"s\",\n PayMode = 0,\n PlacementInfo = new Tencentcloud.Emr.Inputs.ClusterPlacementInfoArgs\n {\n Zone = availabilityZone,\n ProjectId = 0,\n },\n SgId = emrSg.Id,\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/Emr\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance\"\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\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\tcvm4c8m, err := Instance.GetTypes(ctx, \u0026instance.GetTypesArgs{\n\t\t\tExcludeSoldOut: pulumi.BoolRef(true),\n\t\t\tCpuCoreCount: pulumi.IntRef(4),\n\t\t\tMemorySize: pulumi.IntRef(8),\n\t\t\tFilters: []instance.GetTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-charge-type\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"POSTPAID_BY_HOUR\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"zone\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\tavailabilityZone,\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\temrVpc, err := Vpc.NewInstance(ctx, \"emrVpc\", \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\temrSubnet, err := Subnet.NewInstance(ctx, \"emrSubnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tVpcId: emrVpc.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\temrSg, err := Security.NewGroup(ctx, \"emrSg\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"emr 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 = Emr.NewCluster(ctx, \"emrCluster\", \u0026Emr.ClusterArgs{\n\t\t\tProductId: pulumi.Int(38),\n\t\t\tVpcSettings: pulumi.Map{\n\t\t\t\t\"vpc_id\": emrVpc.ID(),\n\t\t\t\t\"subnet_id\": emrSubnet.ID(),\n\t\t\t},\n\t\t\tSoftwares: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"hdfs-2.8.5\"),\n\t\t\t\tpulumi.String(\"knox-1.6.1\"),\n\t\t\t\tpulumi.String(\"openldap-2.4.44\"),\n\t\t\t\tpulumi.String(\"yarn-2.8.5\"),\n\t\t\t\tpulumi.String(\"zookeeper-3.6.3\"),\n\t\t\t},\n\t\t\tSupportHa: pulumi.Int(0),\n\t\t\tInstanceName: pulumi.String(\"emr-cluster-test\"),\n\t\t\tResourceSpec: \u0026emr.ClusterResourceSpecArgs{\n\t\t\t\tMasterResourceSpec: \u0026emr.ClusterResourceSpecMasterResourceSpecArgs{\n\t\t\t\t\tMemSize: pulumi.Int(8192),\n\t\t\t\t\tCpu: pulumi.Int(4),\n\t\t\t\t\tDiskSize: pulumi.Int(100),\n\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\tSpec: pulumi.String(fmt.Sprintf(\"CVM.%v\", cvm4c8m.InstanceTypes[0].Family)),\n\t\t\t\t\tStorageType: pulumi.Int(5),\n\t\t\t\t\tRootSize: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\tCoreResourceSpec: \u0026emr.ClusterResourceSpecCoreResourceSpecArgs{\n\t\t\t\t\tMemSize: pulumi.Int(8192),\n\t\t\t\t\tCpu: pulumi.Int(4),\n\t\t\t\t\tDiskSize: pulumi.Int(100),\n\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\tSpec: pulumi.String(fmt.Sprintf(\"CVM.%v\", cvm4c8m.InstanceTypes[0].Family)),\n\t\t\t\t\tStorageType: pulumi.Int(5),\n\t\t\t\t\tRootSize: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\tMasterCount: pulumi.Int(1),\n\t\t\t\tCoreCount: pulumi.Int(2),\n\t\t\t},\n\t\t\tLoginSettings: pulumi.Map{\n\t\t\t\t\"password\": pulumi.Any(\"Tencent@cloud123\"),\n\t\t\t},\n\t\t\tTimeSpan: pulumi.Int(3600),\n\t\t\tTimeUnit: pulumi.String(\"s\"),\n\t\t\tPayMode: pulumi.Int(0),\n\t\t\tPlacementInfo: \u0026emr.ClusterPlacementInfoArgs{\n\t\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\t\tProjectId: pulumi.Int(0),\n\t\t\t},\n\t\t\tSgId: emrSg.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.Instance.InstanceFunctions;\nimport com.pulumi.tencentcloud.Instance.inputs.GetTypesArgs;\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.Emr.Cluster;\nimport com.pulumi.tencentcloud.Emr.ClusterArgs;\nimport com.pulumi.tencentcloud.Emr.inputs.ClusterResourceSpecArgs;\nimport com.pulumi.tencentcloud.Emr.inputs.ClusterResourceSpecMasterResourceSpecArgs;\nimport com.pulumi.tencentcloud.Emr.inputs.ClusterResourceSpecCoreResourceSpecArgs;\nimport com.pulumi.tencentcloud.Emr.inputs.ClusterPlacementInfoArgs;\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 cvm4c8m = InstanceFunctions.getTypes(GetTypesArgs.builder()\n .excludeSoldOut(true)\n .cpuCoreCount(4)\n .memorySize(8)\n .filters( \n GetTypesFilterArgs.builder()\n .name(\"instance-charge-type\")\n .values(\"POSTPAID_BY_HOUR\")\n .build(),\n GetTypesFilterArgs.builder()\n .name(\"zone\")\n .values(availabilityZone)\n .build())\n .build());\n\n var emrVpc = new Instance(\"emrVpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var emrSubnet = new Instance(\"emrSubnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(emrVpc.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n var emrSg = new Group(\"emrSg\", GroupArgs.builder() \n .description(\"emr sg\")\n .projectId(0)\n .build());\n\n var emrCluster = new Cluster(\"emrCluster\", ClusterArgs.builder() \n .productId(38)\n .vpcSettings(Map.ofEntries(\n Map.entry(\"vpc_id\", emrVpc.id()),\n Map.entry(\"subnet_id\", emrSubnet.id())\n ))\n .softwares( \n \"hdfs-2.8.5\",\n \"knox-1.6.1\",\n \"openldap-2.4.44\",\n \"yarn-2.8.5\",\n \"zookeeper-3.6.3\")\n .supportHa(0)\n .instanceName(\"emr-cluster-test\")\n .resourceSpec(ClusterResourceSpecArgs.builder()\n .masterResourceSpec(ClusterResourceSpecMasterResourceSpecArgs.builder()\n .memSize(8192)\n .cpu(4)\n .diskSize(100)\n .diskType(\"CLOUD_PREMIUM\")\n .spec(String.format(\"CVM.%s\", cvm4c8m.applyValue(getTypesResult -\u003e getTypesResult.instanceTypes()[0].family())))\n .storageType(5)\n .rootSize(50)\n .build())\n .coreResourceSpec(ClusterResourceSpecCoreResourceSpecArgs.builder()\n .memSize(8192)\n .cpu(4)\n .diskSize(100)\n .diskType(\"CLOUD_PREMIUM\")\n .spec(String.format(\"CVM.%s\", cvm4c8m.applyValue(getTypesResult -\u003e getTypesResult.instanceTypes()[0].family())))\n .storageType(5)\n .rootSize(50)\n .build())\n .masterCount(1)\n .coreCount(2)\n .build())\n .loginSettings(Map.of(\"password\", \"Tencent@cloud123\"))\n .timeSpan(3600)\n .timeUnit(\"s\")\n .payMode(0)\n .placementInfo(ClusterPlacementInfoArgs.builder()\n .zone(availabilityZone)\n .projectId(0)\n .build())\n .sgId(emrSg.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\nresources:\n emrVpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n emrSubnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${emrVpc.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n emrSg:\n type: tencentcloud:Security:Group\n properties:\n description: emr sg\n projectId: 0\n emrCluster:\n type: tencentcloud:Emr:Cluster\n properties:\n productId: 38\n vpcSettings:\n vpc_id: ${emrVpc.id}\n subnet_id: ${emrSubnet.id}\n softwares:\n - hdfs-2.8.5\n - knox-1.6.1\n - openldap-2.4.44\n - yarn-2.8.5\n - zookeeper-3.6.3\n supportHa: 0\n instanceName: emr-cluster-test\n resourceSpec:\n masterResourceSpec:\n memSize: 8192\n cpu: 4\n diskSize: 100\n diskType: CLOUD_PREMIUM\n spec: CVM.${cvm4c8m.instanceTypes[0].family}\n storageType: 5\n rootSize: 50\n coreResourceSpec:\n memSize: 8192\n cpu: 4\n diskSize: 100\n diskType: CLOUD_PREMIUM\n spec: CVM.${cvm4c8m.instanceTypes[0].family}\n storageType: 5\n rootSize: 50\n masterCount: 1\n coreCount: 2\n loginSettings:\n password: Tencent@cloud123\n timeSpan: 3600\n timeUnit: s\n payMode: 0\n placementInfo:\n zone: ${availabilityZone}\n projectId: 0\n sgId: ${emrSg.id}\nvariables:\n cvm4c8m:\n fn::invoke:\n Function: tencentcloud:Instance:getTypes\n Arguments:\n excludeSoldOut: true\n cpuCoreCount: 4\n memorySize: 8\n filters:\n - name: instance-charge-type\n values:\n - POSTPAID_BY_HOUR\n - name: zone\n values:\n - ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { + "autoRenew": { + "type": "integer", + "description": "0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0.\n" + }, "displayStrategy": { "type": "string", "description": "It will be deprecated in later versions. Display strategy of EMR instance.\n", @@ -162072,6 +166712,7 @@ } }, "required": [ + "autoRenew", "instanceId", "instanceName", "payMode", @@ -162084,6 +166725,10 @@ "vpcSettings" ], "inputProperties": { + "autoRenew": { + "type": "integer", + "description": "0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0.\n" + }, "displayStrategy": { "type": "string", "description": "It will be deprecated in later versions. Display strategy of EMR instance.\n", @@ -162189,6 +166834,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Cluster resources.\n", "properties": { + "autoRenew": { + "type": "integer", + "description": "0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0.\n" + }, "displayStrategy": { "type": "string", "description": "It will be deprecated in later versions. Display strategy of EMR instance.\n", @@ -162457,6 +167106,10 @@ "tencentcloud:Eni/instance:Instance": { "description": "Provides a resource to create an ENI.\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 zones = tencentcloud.Availability.getZonesByProduct({\n product: \"vpc\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n isMulticast: false,\n});\nconst example1 = new tencentcloud.security.Group(\"example1\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\nconst example2 = new tencentcloud.security.Group(\"example2\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\nconst example = new tencentcloud.eni.Instance(\"example\", {\n vpcId: vpc.id,\n subnetId: subnet.id,\n description: \"eni desc.\",\n ipv4Count: 1,\n securityGroups: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzones = tencentcloud.Availability.get_zones_by_product(product=\"vpc\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=zones.zones[0].name,\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n is_multicast=False)\nexample1 = tencentcloud.security.Group(\"example1\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\nexample2 = tencentcloud.security.Group(\"example2\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\nexample = tencentcloud.eni.Instance(\"example\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n description=\"eni desc.\",\n ipv4_count=1,\n security_groups=[\n example1.id,\n example2.id,\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 zones = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"vpc\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n IsMulticast = false,\n });\n\n var example1 = new Tencentcloud.Security.Group(\"example1\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n var example2 = new Tencentcloud.Security.Group(\"example2\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n var example = new Tencentcloud.Eni.Instance(\"example\", new()\n {\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n Description = \"eni desc.\",\n Ipv4Count = 1,\n SecurityGroups = new[]\n {\n example1.Id,\n example2.Id,\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/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Eni\"\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\tzones, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"vpc\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\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\texample1, err := Security.NewGroup(ctx, \"example1\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\texample2, err := Security.NewGroup(ctx, \"example2\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t_, err = Eni.NewInstance(ctx, \"example\", \u0026Eni.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDescription: pulumi.String(\"eni desc.\"),\n\t\t\tIpv4Count: pulumi.Int(1),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\texample1.ID(),\n\t\t\t\texample2.ID(),\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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\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.Eni.Instance;\nimport com.pulumi.tencentcloud.Eni.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 zones = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"vpc\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .isMulticast(false)\n .build());\n\n var example1 = new Group(\"example1\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n var example2 = new Group(\"example2\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .description(\"eni desc.\")\n .ipv4Count(1)\n .securityGroups( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${zones.zones[0].name}\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n isMulticast: false\n example1:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n example2:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n example:\n type: tencentcloud:Eni:Instance\n properties:\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n description: eni desc.\n ipv4Count: 1\n securityGroups:\n - ${example1.id}\n - ${example2.id}\nvariables:\n zones:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: vpc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nENI can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Eni/instance:Instance tencentcloud_eni.foo eni-qka182br\n```\n\n", "properties": { + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Creation time of the ENI.\n" @@ -162523,6 +167176,7 @@ } }, "required": [ + "cdcId", "createTime", "ipv4Infos", "mac", @@ -162585,6 +167239,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Instance resources.\n", "properties": { + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Creation time of the ENI.\n" @@ -163815,13 +168473,25 @@ "tencentcloud:Gaap/layer4Listener:Layer4Listener": { "description": "Provides a resource to create a layer4 listener of GAAP.\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 fooProxy = new tencentcloud.gaap.Proxy(\"fooProxy\", {\n bandwidth: 10,\n concurrent: 2,\n accessRegion: \"SouthChina\",\n realserverRegion: \"NorthChina\",\n});\nconst fooRealserver = new tencentcloud.gaap.Realserver(\"fooRealserver\", {ip: \"1.1.1.1\"});\nconst bar = new tencentcloud.gaap.Realserver(\"bar\", {ip: \"119.29.29.29\"});\nconst fooLayer4Listener = new tencentcloud.gaap.Layer4Listener(\"fooLayer4Listener\", {\n protocol: \"TCP\",\n port: 80,\n realserverType: \"IP\",\n proxyId: fooProxy.id,\n healthCheck: true,\n realserverBindSets: [\n {\n id: fooRealserver.id,\n ip: fooRealserver.ip,\n port: 80,\n },\n {\n id: bar.id,\n ip: bar.ip,\n port: 80,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_proxy = tencentcloud.gaap.Proxy(\"fooProxy\",\n bandwidth=10,\n concurrent=2,\n access_region=\"SouthChina\",\n realserver_region=\"NorthChina\")\nfoo_realserver = tencentcloud.gaap.Realserver(\"fooRealserver\", ip=\"1.1.1.1\")\nbar = tencentcloud.gaap.Realserver(\"bar\", ip=\"119.29.29.29\")\nfoo_layer4_listener = tencentcloud.gaap.Layer4Listener(\"fooLayer4Listener\",\n protocol=\"TCP\",\n port=80,\n realserver_type=\"IP\",\n proxy_id=foo_proxy.id,\n health_check=True,\n realserver_bind_sets=[\n tencentcloud.gaap.Layer4ListenerRealserverBindSetArgs(\n id=foo_realserver.id,\n ip=foo_realserver.ip,\n port=80,\n ),\n tencentcloud.gaap.Layer4ListenerRealserverBindSetArgs(\n id=bar.id,\n ip=bar.ip,\n port=80,\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 fooProxy = new Tencentcloud.Gaap.Proxy(\"fooProxy\", new()\n {\n Bandwidth = 10,\n Concurrent = 2,\n AccessRegion = \"SouthChina\",\n RealserverRegion = \"NorthChina\",\n });\n\n var fooRealserver = new Tencentcloud.Gaap.Realserver(\"fooRealserver\", new()\n {\n Ip = \"1.1.1.1\",\n });\n\n var bar = new Tencentcloud.Gaap.Realserver(\"bar\", new()\n {\n Ip = \"119.29.29.29\",\n });\n\n var fooLayer4Listener = new Tencentcloud.Gaap.Layer4Listener(\"fooLayer4Listener\", new()\n {\n Protocol = \"TCP\",\n Port = 80,\n RealserverType = \"IP\",\n ProxyId = fooProxy.Id,\n HealthCheck = true,\n RealserverBindSets = new[]\n {\n new Tencentcloud.Gaap.Inputs.Layer4ListenerRealserverBindSetArgs\n {\n Id = fooRealserver.Id,\n Ip = fooRealserver.Ip,\n Port = 80,\n },\n new Tencentcloud.Gaap.Inputs.Layer4ListenerRealserverBindSetArgs\n {\n Id = bar.Id,\n Ip = bar.Ip,\n Port = 80,\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/Gaap\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooProxy, err := Gaap.NewProxy(ctx, \"fooProxy\", \u0026Gaap.ProxyArgs{\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tConcurrent: pulumi.Int(2),\n\t\t\tAccessRegion: pulumi.String(\"SouthChina\"),\n\t\t\tRealserverRegion: pulumi.String(\"NorthChina\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooRealserver, err := Gaap.NewRealserver(ctx, \"fooRealserver\", \u0026Gaap.RealserverArgs{\n\t\t\tIp: pulumi.String(\"1.1.1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := Gaap.NewRealserver(ctx, \"bar\", \u0026Gaap.RealserverArgs{\n\t\t\tIp: pulumi.String(\"119.29.29.29\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Gaap.NewLayer4Listener(ctx, \"fooLayer4Listener\", \u0026Gaap.Layer4ListenerArgs{\n\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\tPort: pulumi.Int(80),\n\t\t\tRealserverType: pulumi.String(\"IP\"),\n\t\t\tProxyId: fooProxy.ID(),\n\t\t\tHealthCheck: pulumi.Bool(true),\n\t\t\tRealserverBindSets: gaap.Layer4ListenerRealserverBindSetArray{\n\t\t\t\t\u0026gaap.Layer4ListenerRealserverBindSetArgs{\n\t\t\t\t\tId: fooRealserver.ID(),\n\t\t\t\t\tIp: fooRealserver.Ip,\n\t\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\t},\n\t\t\t\t\u0026gaap.Layer4ListenerRealserverBindSetArgs{\n\t\t\t\t\tId: bar.ID(),\n\t\t\t\t\tIp: bar.Ip,\n\t\t\t\t\tPort: pulumi.Int(80),\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.Gaap.Proxy;\nimport com.pulumi.tencentcloud.Gaap.ProxyArgs;\nimport com.pulumi.tencentcloud.Gaap.Realserver;\nimport com.pulumi.tencentcloud.Gaap.RealserverArgs;\nimport com.pulumi.tencentcloud.Gaap.Layer4Listener;\nimport com.pulumi.tencentcloud.Gaap.Layer4ListenerArgs;\nimport com.pulumi.tencentcloud.Gaap.inputs.Layer4ListenerRealserverBindSetArgs;\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 fooProxy = new Proxy(\"fooProxy\", ProxyArgs.builder() \n .bandwidth(10)\n .concurrent(2)\n .accessRegion(\"SouthChina\")\n .realserverRegion(\"NorthChina\")\n .build());\n\n var fooRealserver = new Realserver(\"fooRealserver\", RealserverArgs.builder() \n .ip(\"1.1.1.1\")\n .build());\n\n var bar = new Realserver(\"bar\", RealserverArgs.builder() \n .ip(\"119.29.29.29\")\n .build());\n\n var fooLayer4Listener = new Layer4Listener(\"fooLayer4Listener\", Layer4ListenerArgs.builder() \n .protocol(\"TCP\")\n .port(80)\n .realserverType(\"IP\")\n .proxyId(fooProxy.id())\n .healthCheck(true)\n .realserverBindSets( \n Layer4ListenerRealserverBindSetArgs.builder()\n .id(fooRealserver.id())\n .ip(fooRealserver.ip())\n .port(80)\n .build(),\n Layer4ListenerRealserverBindSetArgs.builder()\n .id(bar.id())\n .ip(bar.ip())\n .port(80)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fooProxy:\n type: tencentcloud:Gaap:Proxy\n properties:\n bandwidth: 10\n concurrent: 2\n accessRegion: SouthChina\n realserverRegion: NorthChina\n fooRealserver:\n type: tencentcloud:Gaap:Realserver\n properties:\n ip: 1.1.1.1\n bar:\n type: tencentcloud:Gaap:Realserver\n properties:\n ip: 119.29.29.29\n fooLayer4Listener:\n type: tencentcloud:Gaap:Layer4Listener\n properties:\n protocol: TCP\n port: 80\n realserverType: IP\n proxyId: ${fooProxy.id}\n healthCheck: true\n realserverBindSets:\n - id: ${fooRealserver.id}\n ip: ${fooRealserver.ip}\n port: 80\n - id: ${bar.id}\n ip: ${bar.ip}\n port: 80\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGAAP layer4 listener can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Gaap/layer4Listener:Layer4Listener tencentcloud_gaap_layer4_listener.foo listener-11112222\n```\n\n", "properties": { + "checkPort": { + "type": "integer", + "description": "UDP origin station health check probe port.\n" + }, + "checkType": { + "type": "string", + "description": "UDP origin server health type. PORT means check port, and PING means PING.\n" + }, "clientIpMethod": { "type": "integer", "description": "The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol.\n" }, "connectTimeout": { "type": "integer", - "description": "Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`.\n" + "description": "Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`.\n" + }, + "contextType": { + "type": "string", + "description": "UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT.\n" }, "createTime": { "type": "string", @@ -163829,11 +168499,15 @@ }, "healthCheck": { "type": "boolean", - "description": "Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol.\n" + "description": "Indicates whether health check is enable, default value is `false`.\n" + }, + "healthyThreshold": { + "type": "integer", + "description": "Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1.\n" }, "interval": { "type": "integer", - "description": "Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol.\n" + "description": "Interval of the health check, default value is 5s.\n" }, "name": { "type": "string", @@ -163862,25 +168536,50 @@ "type": "string", "description": "Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`.\n" }, + "recvContext": { + "type": "string", + "description": "UDP source server health check port detects received messages. Only used when the health check type is PORT.\n" + }, "scheduler": { "type": "string", "description": "Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`.\n" }, + "sendContext": { + "type": "string", + "description": "UDP source server health check port detection sends messages. Only used when health check type is PORT.\n" + }, "status": { "type": "integer", "description": "Status of the layer4 listener.\n" + }, + "unhealthyThreshold": { + "type": "integer", + "description": "Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1.\n" } }, "required": [ + "checkPort", + "checkType", + "contextType", "createTime", "name", "port", "protocol", "proxyId", "realserverType", + "recvContext", + "sendContext", "status" ], "inputProperties": { + "checkPort": { + "type": "integer", + "description": "UDP origin station health check probe port.\n" + }, + "checkType": { + "type": "string", + "description": "UDP origin server health type. PORT means check port, and PING means PING.\n" + }, "clientIpMethod": { "type": "integer", "description": "The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol.\n", @@ -163888,15 +168587,23 @@ }, "connectTimeout": { "type": "integer", - "description": "Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`.\n" + "description": "Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`.\n" + }, + "contextType": { + "type": "string", + "description": "UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT.\n" }, "healthCheck": { "type": "boolean", - "description": "Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol.\n" + "description": "Indicates whether health check is enable, default value is `false`.\n" + }, + "healthyThreshold": { + "type": "integer", + "description": "Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1.\n" }, "interval": { "type": "integer", - "description": "Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol.\n" + "description": "Interval of the health check, default value is 5s.\n" }, "name": { "type": "string", @@ -163929,9 +168636,21 @@ "description": "Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`.\n", "willReplaceOnChanges": true }, + "recvContext": { + "type": "string", + "description": "UDP source server health check port detects received messages. Only used when the health check type is PORT.\n" + }, "scheduler": { "type": "string", "description": "Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`.\n" + }, + "sendContext": { + "type": "string", + "description": "UDP source server health check port detection sends messages. Only used when health check type is PORT.\n" + }, + "unhealthyThreshold": { + "type": "integer", + "description": "Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1.\n" } }, "requiredInputs": [ @@ -163943,6 +168662,14 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Layer4Listener resources.\n", "properties": { + "checkPort": { + "type": "integer", + "description": "UDP origin station health check probe port.\n" + }, + "checkType": { + "type": "string", + "description": "UDP origin server health type. PORT means check port, and PING means PING.\n" + }, "clientIpMethod": { "type": "integer", "description": "The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol.\n", @@ -163950,7 +168677,11 @@ }, "connectTimeout": { "type": "integer", - "description": "Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`.\n" + "description": "Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`.\n" + }, + "contextType": { + "type": "string", + "description": "UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT.\n" }, "createTime": { "type": "string", @@ -163958,11 +168689,15 @@ }, "healthCheck": { "type": "boolean", - "description": "Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol.\n" + "description": "Indicates whether health check is enable, default value is `false`.\n" + }, + "healthyThreshold": { + "type": "integer", + "description": "Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1.\n" }, "interval": { "type": "integer", - "description": "Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol.\n" + "description": "Interval of the health check, default value is 5s.\n" }, "name": { "type": "string", @@ -163995,13 +168730,25 @@ "description": "Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`.\n", "willReplaceOnChanges": true }, + "recvContext": { + "type": "string", + "description": "UDP source server health check port detects received messages. Only used when the health check type is PORT.\n" + }, "scheduler": { "type": "string", "description": "Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`.\n" }, + "sendContext": { + "type": "string", + "description": "UDP source server health check port detection sends messages. Only used when health check type is PORT.\n" + }, "status": { "type": "integer", "description": "Status of the layer4 listener.\n" + }, + "unhealthyThreshold": { + "type": "integer", + "description": "Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1.\n" } }, "type": "object" @@ -164919,6 +169666,1124 @@ "type": "object" } }, + "tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider": { + "description": "Provides a resource to create a organization identity_center_external_saml_identity_provider\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 identityCenterExternalSamlIdentityProvider = new tencentcloud.identity.CenterExternalSamlIdentityProvider(\"identityCenterExternalSamlIdentityProvider\", {\n ssoStatus: \"Enabled\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_external_saml_identity_provider = tencentcloud.identity.CenterExternalSamlIdentityProvider(\"identityCenterExternalSamlIdentityProvider\",\n sso_status=\"Enabled\",\n zone_id=\"z-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 identityCenterExternalSamlIdentityProvider = new Tencentcloud.Identity.CenterExternalSamlIdentityProvider(\"identityCenterExternalSamlIdentityProvider\", new()\n {\n SsoStatus = \"Enabled\",\n ZoneId = \"z-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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterExternalSamlIdentityProvider(ctx, \"identityCenterExternalSamlIdentityProvider\", \u0026Identity.CenterExternalSamlIdentityProviderArgs{\n\t\t\tSsoStatus: pulumi.String(\"Enabled\"),\n\t\t\tZoneId: pulumi.String(\"z-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.Identity.CenterExternalSamlIdentityProvider;\nimport com.pulumi.tencentcloud.Identity.CenterExternalSamlIdentityProviderArgs;\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 identityCenterExternalSamlIdentityProvider = new CenterExternalSamlIdentityProvider(\"identityCenterExternalSamlIdentityProvider\", CenterExternalSamlIdentityProviderArgs.builder() \n .ssoStatus(\"Enabled\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterExternalSamlIdentityProvider:\n type: tencentcloud:Identity:CenterExternalSamlIdentityProvider\n properties:\n ssoStatus: Enabled\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_external_saml_identity_provider can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider identity_center_external_saml_identity_provider ${zoneId}\n```\n\n", + "properties": { + "acsUrl": { + "type": "string", + "description": "Acs url.\n" + }, + "certificateIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Certificate ids.\n" + }, + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "encodedMetadataDocument": { + "type": "string", + "description": "IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol.\n" + }, + "entityId": { + "type": "string", + "description": "IdP identifier.\n" + }, + "loginUrl": { + "type": "string", + "description": "IdP login URL.\n" + }, + "ssoStatus": { + "type": "string", + "description": "SSO enabling status. Valid values: Enabled, Disabled (default).\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "x509Certificate": { + "type": "string", + "description": "X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "required": [ + "acsUrl", + "certificateIds", + "createTime", + "encodedMetadataDocument", + "entityId", + "loginUrl", + "ssoStatus", + "updateTime", + "x509Certificate", + "zoneId" + ], + "inputProperties": { + "encodedMetadataDocument": { + "type": "string", + "description": "IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol.\n" + }, + "entityId": { + "type": "string", + "description": "IdP identifier.\n" + }, + "loginUrl": { + "type": "string", + "description": "IdP login URL.\n" + }, + "ssoStatus": { + "type": "string", + "description": "SSO enabling status. Valid values: Enabled, Disabled (default).\n" + }, + "x509Certificate": { + "type": "string", + "description": "X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterExternalSamlIdentityProvider resources.\n", + "properties": { + "acsUrl": { + "type": "string", + "description": "Acs url.\n" + }, + "certificateIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Certificate ids.\n" + }, + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "encodedMetadataDocument": { + "type": "string", + "description": "IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol.\n" + }, + "entityId": { + "type": "string", + "description": "IdP identifier.\n" + }, + "loginUrl": { + "type": "string", + "description": "IdP login URL.\n" + }, + "ssoStatus": { + "type": "string", + "description": "SSO enabling status. Valid values: Enabled, Disabled (default).\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "x509Certificate": { + "type": "string", + "description": "X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerGroup:CenterGroup": { + "description": "Provides a resource to create an identity center group\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 identityCenterGroup = new tencentcloud.identity.CenterGroup(\"identityCenterGroup\", {\n description: \"test\",\n groupName: \"test-group\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_group = tencentcloud.identity.CenterGroup(\"identityCenterGroup\",\n description=\"test\",\n group_name=\"test-group\",\n zone_id=\"z-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 identityCenterGroup = new Tencentcloud.Identity.CenterGroup(\"identityCenterGroup\", new()\n {\n Description = \"test\",\n GroupName = \"test-group\",\n ZoneId = \"z-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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterGroup(ctx, \"identityCenterGroup\", \u0026Identity.CenterGroupArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tGroupName: pulumi.String(\"test-group\"),\n\t\t\tZoneId: pulumi.String(\"z-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.Identity.CenterGroup;\nimport com.pulumi.tencentcloud.Identity.CenterGroupArgs;\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 identityCenterGroup = new CenterGroup(\"identityCenterGroup\", CenterGroupArgs.builder() \n .description(\"test\")\n .groupName(\"test-group\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterGroup:\n type: tencentcloud:Identity:CenterGroup\n properties:\n description: test\n groupName: test-group\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntencentcloud_identity_center_group can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerGroup:CenterGroup identity_center_group ${zoneId}#${groupId}\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "Creation time of the user group.\n" + }, + "description": { + "type": "string", + "description": "A description of the user group. Length: Maximum 1024 characters.\n" + }, + "groupId": { + "type": "string", + "description": "ID of the user group.\n" + }, + "groupName": { + "type": "string", + "description": "The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters.\n" + }, + "groupType": { + "type": "string", + "description": "Type of user group. `Manual`: manual creation, `Synchronized`: external import.\n" + }, + "memberCount": { + "type": "integer", + "description": "Number of team members.\n" + }, + "updateTime": { + "type": "string", + "description": "Modification time for the user group.\n" + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n" + } + }, + "required": [ + "createTime", + "description", + "groupId", + "groupName", + "groupType", + "memberCount", + "updateTime", + "zoneId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description of the user group. Length: Maximum 1024 characters.\n" + }, + "groupName": { + "type": "string", + "description": "The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters.\n" + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n" + } + }, + "requiredInputs": [ + "groupName", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterGroup resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "Creation time of the user group.\n" + }, + "description": { + "type": "string", + "description": "A description of the user group. Length: Maximum 1024 characters.\n" + }, + "groupId": { + "type": "string", + "description": "ID of the user group.\n" + }, + "groupName": { + "type": "string", + "description": "The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters.\n" + }, + "groupType": { + "type": "string", + "description": "Type of user group. `Manual`: manual creation, `Synchronized`: external import.\n" + }, + "memberCount": { + "type": "integer", + "description": "Number of team members.\n" + }, + "updateTime": { + "type": "string", + "description": "Modification time for the user group.\n" + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n" + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment": { + "description": "Provides a resource to create a organization identity_center_role_assignment\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 identityCenterRoleAssignment = new tencentcloud.identity.CenterRoleAssignment(\"identityCenterRoleAssignment\", {\n principalId: \"u-xxxxxx\",\n principalType: \"User\",\n roleConfigurationId: \"rc-xxxxxx\",\n targetType: \"MemberUin\",\n targetUin: \"xxxxxx\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_role_assignment = tencentcloud.identity.CenterRoleAssignment(\"identityCenterRoleAssignment\",\n principal_id=\"u-xxxxxx\",\n principal_type=\"User\",\n role_configuration_id=\"rc-xxxxxx\",\n target_type=\"MemberUin\",\n target_uin=\"xxxxxx\",\n zone_id=\"z-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 identityCenterRoleAssignment = new Tencentcloud.Identity.CenterRoleAssignment(\"identityCenterRoleAssignment\", new()\n {\n PrincipalId = \"u-xxxxxx\",\n PrincipalType = \"User\",\n RoleConfigurationId = \"rc-xxxxxx\",\n TargetType = \"MemberUin\",\n TargetUin = \"xxxxxx\",\n ZoneId = \"z-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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterRoleAssignment(ctx, \"identityCenterRoleAssignment\", \u0026Identity.CenterRoleAssignmentArgs{\n\t\t\tPrincipalId: pulumi.String(\"u-xxxxxx\"),\n\t\t\tPrincipalType: pulumi.String(\"User\"),\n\t\t\tRoleConfigurationId: pulumi.String(\"rc-xxxxxx\"),\n\t\t\tTargetType: pulumi.String(\"MemberUin\"),\n\t\t\tTargetUin: pulumi.Int(\"xxxxxx\"),\n\t\t\tZoneId: pulumi.String(\"z-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.Identity.CenterRoleAssignment;\nimport com.pulumi.tencentcloud.Identity.CenterRoleAssignmentArgs;\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 identityCenterRoleAssignment = new CenterRoleAssignment(\"identityCenterRoleAssignment\", CenterRoleAssignmentArgs.builder() \n .principalId(\"u-xxxxxx\")\n .principalType(\"User\")\n .roleConfigurationId(\"rc-xxxxxx\")\n .targetType(\"MemberUin\")\n .targetUin(\"xxxxxx\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterRoleAssignment:\n type: tencentcloud:Identity:CenterRoleAssignment\n properties:\n principalId: u-xxxxxx\n principalType: User\n roleConfigurationId: rc-xxxxxx\n targetType: MemberUin\n targetUin: xxxxxx\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_role_assignment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment identity_center_role_assignment {zoneId}#{roleConfigurationId}#{targetType}#{targetUinString}#{principalType}#{principalId}\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "deprovisionStrategy": { + "type": "string", + "description": "When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges.\n" + }, + "principalId": { + "type": "string", + "description": "Identity ID for the CAM user synchronization. Valid values:\nWhen the PrincipalType value is Group, it is the CIC user group ID (g-********).\nWhen the PrincipalType value is User, it is the CIC user ID (u-********).\n" + }, + "principalName": { + "type": "string", + "description": "Principal name.\n" + }, + "principalType": { + "type": "string", + "description": "Identity type for the CAM user synchronization. Valid values:\n\nUser: indicates that the identity for the CAM user synchronization is a CIC user.\nGroup: indicates that the identity for the CAM user synchronization is a CIC user group.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n" + }, + "roleConfigurationName": { + "type": "string", + "description": "Role configuration name.\n" + }, + "targetName": { + "type": "string", + "description": "Target name.\n" + }, + "targetType": { + "type": "string", + "description": "Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.\n" + }, + "targetUin": { + "type": "integer", + "description": "UIN of the synchronized target account of the Tencent Cloud Organization.\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "required": [ + "createTime", + "principalId", + "principalName", + "principalType", + "roleConfigurationId", + "roleConfigurationName", + "targetName", + "targetType", + "targetUin", + "updateTime", + "zoneId" + ], + "inputProperties": { + "deprovisionStrategy": { + "type": "string", + "description": "When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges.\n", + "willReplaceOnChanges": true + }, + "principalId": { + "type": "string", + "description": "Identity ID for the CAM user synchronization. Valid values:\nWhen the PrincipalType value is Group, it is the CIC user group ID (g-********).\nWhen the PrincipalType value is User, it is the CIC user ID (u-********).\n", + "willReplaceOnChanges": true + }, + "principalType": { + "type": "string", + "description": "Identity type for the CAM user synchronization. Valid values:\n\nUser: indicates that the identity for the CAM user synchronization is a CIC user.\nGroup: indicates that the identity for the CAM user synchronization is a CIC user group.\n", + "willReplaceOnChanges": true + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "targetType": { + "type": "string", + "description": "Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.\n", + "willReplaceOnChanges": true + }, + "targetUin": { + "type": "integer", + "description": "UIN of the synchronized target account of the Tencent Cloud Organization.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "principalId", + "principalType", + "roleConfigurationId", + "targetType", + "targetUin", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterRoleAssignment resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "deprovisionStrategy": { + "type": "string", + "description": "When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges.\n", + "willReplaceOnChanges": true + }, + "principalId": { + "type": "string", + "description": "Identity ID for the CAM user synchronization. Valid values:\nWhen the PrincipalType value is Group, it is the CIC user group ID (g-********).\nWhen the PrincipalType value is User, it is the CIC user ID (u-********).\n", + "willReplaceOnChanges": true + }, + "principalName": { + "type": "string", + "description": "Principal name.\n" + }, + "principalType": { + "type": "string", + "description": "Identity type for the CAM user synchronization. Valid values:\n\nUser: indicates that the identity for the CAM user synchronization is a CIC user.\nGroup: indicates that the identity for the CAM user synchronization is a CIC user group.\n", + "willReplaceOnChanges": true + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "roleConfigurationName": { + "type": "string", + "description": "Role configuration name.\n" + }, + "targetName": { + "type": "string", + "description": "Target name.\n" + }, + "targetType": { + "type": "string", + "description": "Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.\n", + "willReplaceOnChanges": true + }, + "targetUin": { + "type": "integer", + "description": "UIN of the synchronized target account of the Tencent Cloud Organization.\n", + "willReplaceOnChanges": true + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration": { + "description": "Provides a resource to create a organization identity_center_role_configuration\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 identityCenterRoleConfiguration = new tencentcloud.identity.CenterRoleConfiguration(\"identityCenterRoleConfiguration\", {\n description: \"test\",\n roleConfigurationName: \"tf-test\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_role_configuration = tencentcloud.identity.CenterRoleConfiguration(\"identityCenterRoleConfiguration\",\n description=\"test\",\n role_configuration_name=\"tf-test\",\n zone_id=\"z-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 identityCenterRoleConfiguration = new Tencentcloud.Identity.CenterRoleConfiguration(\"identityCenterRoleConfiguration\", new()\n {\n Description = \"test\",\n RoleConfigurationName = \"tf-test\",\n ZoneId = \"z-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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterRoleConfiguration(ctx, \"identityCenterRoleConfiguration\", \u0026Identity.CenterRoleConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tRoleConfigurationName: pulumi.String(\"tf-test\"),\n\t\t\tZoneId: pulumi.String(\"z-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.Identity.CenterRoleConfiguration;\nimport com.pulumi.tencentcloud.Identity.CenterRoleConfigurationArgs;\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 identityCenterRoleConfiguration = new CenterRoleConfiguration(\"identityCenterRoleConfiguration\", CenterRoleConfigurationArgs.builder() \n .description(\"test\")\n .roleConfigurationName(\"tf-test\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterRoleConfiguration:\n type: tencentcloud:Identity:CenterRoleConfiguration\n properties:\n description: test\n roleConfigurationName: tf-test\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_role_configuration can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration identity_center_role_configuration ${zoneId}#${roleConfigurationId}\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "description": { + "type": "string", + "description": "Access configuration description, which contains up to 1024 characters.\n" + }, + "relayState": { + "type": "string", + "description": "Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Role configuration id.\n" + }, + "roleConfigurationName": { + "type": "string", + "description": "Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-).\n" + }, + "sessionDuration": { + "type": "integer", + "description": "Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour).\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "required": [ + "createTime", + "description", + "relayState", + "roleConfigurationId", + "roleConfigurationName", + "sessionDuration", + "updateTime", + "zoneId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Access configuration description, which contains up to 1024 characters.\n" + }, + "relayState": { + "type": "string", + "description": "Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console.\n" + }, + "roleConfigurationName": { + "type": "string", + "description": "Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-).\n" + }, + "sessionDuration": { + "type": "integer", + "description": "Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour).\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "requiredInputs": [ + "roleConfigurationName", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterRoleConfiguration resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "description": { + "type": "string", + "description": "Access configuration description, which contains up to 1024 characters.\n" + }, + "relayState": { + "type": "string", + "description": "Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Role configuration id.\n" + }, + "roleConfigurationName": { + "type": "string", + "description": "Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-).\n" + }, + "sessionDuration": { + "type": "integer", + "description": "Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour).\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment": { + "description": "Provides a resource to create a organization identity_center_role_configuration_permission_custom_policy_attachment\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 identityCenterRoleConfigurationPermissionCustomPolicyAttachment = new tencentcloud.identity.CenterRoleConfigurationPermissionCustomPolicyAttachment(\"identityCenterRoleConfigurationPermissionCustomPolicyAttachment\", {\n zoneId: \"z-xxxxxx\",\n roleConfigurationId: \"rc-xxxxxx\",\n rolePolicyName: \"CustomPolicy\",\n rolePolicyDocument: `{\n \"version\": \"2.0\",\n \"statement\": [\n {\n \"effect\": \"allow\",\n \"action\": [\n \"vpc:AcceptAttachCcnInstances\"\n ],\n \"resource\": [\n \"*\"\n ]\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_role_configuration_permission_custom_policy_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionCustomPolicyAttachment(\"identityCenterRoleConfigurationPermissionCustomPolicyAttachment\",\n zone_id=\"z-xxxxxx\",\n role_configuration_id=\"rc-xxxxxx\",\n role_policy_name=\"CustomPolicy\",\n role_policy_document=\"\"\"{\n \"version\": \"2.0\",\n \"statement\": [\n {\n \"effect\": \"allow\",\n \"action\": [\n \"vpc:AcceptAttachCcnInstances\"\n ],\n \"resource\": [\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 identityCenterRoleConfigurationPermissionCustomPolicyAttachment = new Tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPolicyAttachment(\"identityCenterRoleConfigurationPermissionCustomPolicyAttachment\", new()\n {\n ZoneId = \"z-xxxxxx\",\n RoleConfigurationId = \"rc-xxxxxx\",\n RolePolicyName = \"CustomPolicy\",\n RolePolicyDocument = @\"{\n \"\"version\"\": \"\"2.0\"\",\n \"\"statement\"\": [\n {\n \"\"effect\"\": \"\"allow\"\",\n \"\"action\"\": [\n \"\"vpc:AcceptAttachCcnInstances\"\"\n ],\n \"\"resource\"\": [\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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterRoleConfigurationPermissionCustomPolicyAttachment(ctx, \"identityCenterRoleConfigurationPermissionCustomPolicyAttachment\", \u0026Identity.CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs{\n\t\t\tZoneId: pulumi.String(\"z-xxxxxx\"),\n\t\t\tRoleConfigurationId: pulumi.String(\"rc-xxxxxx\"),\n\t\t\tRolePolicyName: pulumi.String(\"CustomPolicy\"),\n\t\t\tRolePolicyDocument: pulumi.String(`{\n \"version\": \"2.0\",\n \"statement\": [\n {\n \"effect\": \"allow\",\n \"action\": [\n \"vpc:AcceptAttachCcnInstances\"\n ],\n \"resource\": [\n \"*\"\n ]\n }\n ]\n}\n`),\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.Identity.CenterRoleConfigurationPermissionCustomPolicyAttachment;\nimport com.pulumi.tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs;\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 identityCenterRoleConfigurationPermissionCustomPolicyAttachment = new CenterRoleConfigurationPermissionCustomPolicyAttachment(\"identityCenterRoleConfigurationPermissionCustomPolicyAttachment\", CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs.builder() \n .zoneId(\"z-xxxxxx\")\n .roleConfigurationId(\"rc-xxxxxx\")\n .rolePolicyName(\"CustomPolicy\")\n .rolePolicyDocument(\"\"\"\n{\n \"version\": \"2.0\",\n \"statement\": [\n {\n \"effect\": \"allow\",\n \"action\": [\n \"vpc:AcceptAttachCcnInstances\"\n ],\n \"resource\": [\n \"*\"\n ]\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterRoleConfigurationPermissionCustomPolicyAttachment:\n type: tencentcloud:Identity:CenterRoleConfigurationPermissionCustomPolicyAttachment\n properties:\n zoneId: z-xxxxxx\n roleConfigurationId: rc-xxxxxx\n rolePolicyName: CustomPolicy\n rolePolicyDocument: |\n {\n \"version\": \"2.0\",\n \"statement\": [\n {\n \"effect\": \"allow\",\n \"action\": [\n \"vpc:AcceptAttachCcnInstances\"\n ],\n \"resource\": [\n \"*\"\n ]\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_role_configuration_permission_custom_policy_attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment identity_center_role_configuration_permission_custom_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName}\n```\n\n", + "properties": { + "addTime": { + "type": "string", + "description": "Role policy add time.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n" + }, + "rolePolicyDocument": { + "type": "string", + "description": "Role policy document.\n" + }, + "rolePolicyName": { + "type": "string", + "description": "Role policy name.\n" + }, + "rolePolicyType": { + "type": "string", + "description": "Role policy type.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "required": [ + "addTime", + "roleConfigurationId", + "rolePolicyDocument", + "rolePolicyName", + "rolePolicyType", + "zoneId" + ], + "inputProperties": { + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "rolePolicyDocument": { + "type": "string", + "description": "Role policy document.\n", + "willReplaceOnChanges": true + }, + "rolePolicyName": { + "type": "string", + "description": "Role policy name.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "roleConfigurationId", + "rolePolicyDocument", + "rolePolicyName", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPolicyAttachment resources.\n", + "properties": { + "addTime": { + "type": "string", + "description": "Role policy add time.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "rolePolicyDocument": { + "type": "string", + "description": "Role policy document.\n", + "willReplaceOnChanges": true + }, + "rolePolicyName": { + "type": "string", + "description": "Role policy name.\n", + "willReplaceOnChanges": true + }, + "rolePolicyType": { + "type": "string", + "description": "Role policy type.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment": { + "description": "Provides a resource to create a organization identity_center_role_configuration_permission_policy_attachment\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 identityCenterRoleConfigurationPermissionPolicyAttachment = new tencentcloud.identity.CenterRoleConfigurationPermissionPolicyAttachment(\"identityCenterRoleConfigurationPermissionPolicyAttachment\", {\n zoneId: \"z-xxxxxx\",\n roleConfigurationId: \"rc-xxxxxx\",\n rolePolicyId: xxxxxx,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_role_configuration_permission_policy_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionPolicyAttachment(\"identityCenterRoleConfigurationPermissionPolicyAttachment\",\n zone_id=\"z-xxxxxx\",\n role_configuration_id=\"rc-xxxxxx\",\n role_policy_id=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 identityCenterRoleConfigurationPermissionPolicyAttachment = new Tencentcloud.Identity.CenterRoleConfigurationPermissionPolicyAttachment(\"identityCenterRoleConfigurationPermissionPolicyAttachment\", new()\n {\n ZoneId = \"z-xxxxxx\",\n RoleConfigurationId = \"rc-xxxxxx\",\n RolePolicyId = 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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterRoleConfigurationPermissionPolicyAttachment(ctx, \"identityCenterRoleConfigurationPermissionPolicyAttachment\", \u0026Identity.CenterRoleConfigurationPermissionPolicyAttachmentArgs{\n\t\t\tZoneId: pulumi.String(\"z-xxxxxx\"),\n\t\t\tRoleConfigurationId: pulumi.String(\"rc-xxxxxx\"),\n\t\t\tRolePolicyId: pulumi.Any(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.Identity.CenterRoleConfigurationPermissionPolicyAttachment;\nimport com.pulumi.tencentcloud.Identity.CenterRoleConfigurationPermissionPolicyAttachmentArgs;\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 identityCenterRoleConfigurationPermissionPolicyAttachment = new CenterRoleConfigurationPermissionPolicyAttachment(\"identityCenterRoleConfigurationPermissionPolicyAttachment\", CenterRoleConfigurationPermissionPolicyAttachmentArgs.builder() \n .zoneId(\"z-xxxxxx\")\n .roleConfigurationId(\"rc-xxxxxx\")\n .rolePolicyId(xxxxxx)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterRoleConfigurationPermissionPolicyAttachment:\n type: tencentcloud:Identity:CenterRoleConfigurationPermissionPolicyAttachment\n properties:\n zoneId: z-xxxxxx\n roleConfigurationId: rc-xxxxxx\n rolePolicyId: ${xxxxxx}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_role_configuration_permission_policy_attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment identity_center_role_configuration_permission_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyIdString}\n```\n\n", + "properties": { + "addTime": { + "type": "string", + "description": "Role policy add time.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n" + }, + "rolePolicyDocument": { + "type": "string", + "description": "Role policy document.\n" + }, + "rolePolicyId": { + "type": "integer", + "description": "Role policy id.\n" + }, + "rolePolicyName": { + "type": "string", + "description": "Role policy name.\n" + }, + "rolePolicyType": { + "type": "string", + "description": "Role policy type.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "required": [ + "addTime", + "roleConfigurationId", + "rolePolicyDocument", + "rolePolicyId", + "rolePolicyName", + "rolePolicyType", + "zoneId" + ], + "inputProperties": { + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "rolePolicyId": { + "type": "integer", + "description": "Role policy id.\n", + "willReplaceOnChanges": true + }, + "rolePolicyName": { + "type": "string", + "description": "Role policy name.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "roleConfigurationId", + "rolePolicyId", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterRoleConfigurationPermissionPolicyAttachment resources.\n", + "properties": { + "addTime": { + "type": "string", + "description": "Role policy add time.\n" + }, + "roleConfigurationId": { + "type": "string", + "description": "Permission configuration ID.\n", + "willReplaceOnChanges": true + }, + "rolePolicyDocument": { + "type": "string", + "description": "Role policy document.\n" + }, + "rolePolicyId": { + "type": "integer", + "description": "Role policy id.\n", + "willReplaceOnChanges": true + }, + "rolePolicyName": { + "type": "string", + "description": "Role policy name.\n" + }, + "rolePolicyType": { + "type": "string", + "description": "Role policy type.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerUser:CenterUser": { + "description": "Provides a resource to create an identity center user\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 identityCenterUser = new tencentcloud.identity.CenterUser(\"identityCenterUser\", {\n description: \"test\",\n userName: \"test-user\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_user = tencentcloud.identity.CenterUser(\"identityCenterUser\",\n description=\"test\",\n user_name=\"test-user\",\n zone_id=\"z-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 identityCenterUser = new Tencentcloud.Identity.CenterUser(\"identityCenterUser\", new()\n {\n Description = \"test\",\n UserName = \"test-user\",\n ZoneId = \"z-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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterUser(ctx, \"identityCenterUser\", \u0026Identity.CenterUserArgs{\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tUserName: pulumi.String(\"test-user\"),\n\t\t\tZoneId: pulumi.String(\"z-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.Identity.CenterUser;\nimport com.pulumi.tencentcloud.Identity.CenterUserArgs;\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 identityCenterUser = new CenterUser(\"identityCenterUser\", CenterUserArgs.builder() \n .description(\"test\")\n .userName(\"test-user\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterUser:\n type: tencentcloud:Identity:CenterUser\n properties:\n description: test\n userName: test-user\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_user can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerUser:CenterUser identity_center_user ${zoneId}#${userId}\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "description": { + "type": "string", + "description": "User's description. Length: Maximum 1024 characters.\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the user. Length: Maximum 256 characters.\n" + }, + "email": { + "type": "string", + "description": "The user's email address. Must be unique within the catalog. Length: Maximum 128 characters.\n" + }, + "firstName": { + "type": "string", + "description": "The user's last name. Length: Maximum 64 characters.\n" + }, + "lastName": { + "type": "string", + "description": "The user's name. Length: Maximum 64 characters.\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "userId": { + "type": "string", + "description": "User id.\n" + }, + "userName": { + "type": "string", + "description": "User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters.\n" + }, + "userStatus": { + "type": "string", + "description": "The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled.\n" + }, + "userType": { + "type": "string", + "description": "User type.\n" + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n" + } + }, + "required": [ + "createTime", + "updateTime", + "userId", + "userName", + "userStatus", + "userType", + "zoneId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "User's description. Length: Maximum 1024 characters.\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the user. Length: Maximum 256 characters.\n" + }, + "email": { + "type": "string", + "description": "The user's email address. Must be unique within the catalog. Length: Maximum 128 characters.\n" + }, + "firstName": { + "type": "string", + "description": "The user's last name. Length: Maximum 64 characters.\n" + }, + "lastName": { + "type": "string", + "description": "The user's name. Length: Maximum 64 characters.\n" + }, + "userName": { + "type": "string", + "description": "User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters.\n" + }, + "userStatus": { + "type": "string", + "description": "The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled.\n" + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n" + } + }, + "requiredInputs": [ + "userName", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterUser resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "description": { + "type": "string", + "description": "User's description. Length: Maximum 1024 characters.\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the user. Length: Maximum 256 characters.\n" + }, + "email": { + "type": "string", + "description": "The user's email address. Must be unique within the catalog. Length: Maximum 128 characters.\n" + }, + "firstName": { + "type": "string", + "description": "The user's last name. Length: Maximum 64 characters.\n" + }, + "lastName": { + "type": "string", + "description": "The user's name. Length: Maximum 64 characters.\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "userId": { + "type": "string", + "description": "User id.\n" + }, + "userName": { + "type": "string", + "description": "User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters.\n" + }, + "userStatus": { + "type": "string", + "description": "The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled.\n" + }, + "userType": { + "type": "string", + "description": "User type.\n" + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n" + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment": { + "description": "Provides a resource to create an identity center user group attachment\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 identityCenterUserGroupAttachment = new tencentcloud.identity.CenterUserGroupAttachment(\"identityCenterUserGroupAttachment\", {\n groupId: \"g-xxxxxx\",\n userId: \"u-xxxxxx\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_user_group_attachment = tencentcloud.identity.CenterUserGroupAttachment(\"identityCenterUserGroupAttachment\",\n group_id=\"g-xxxxxx\",\n user_id=\"u-xxxxxx\",\n zone_id=\"z-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 identityCenterUserGroupAttachment = new Tencentcloud.Identity.CenterUserGroupAttachment(\"identityCenterUserGroupAttachment\", new()\n {\n GroupId = \"g-xxxxxx\",\n UserId = \"u-xxxxxx\",\n ZoneId = \"z-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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterUserGroupAttachment(ctx, \"identityCenterUserGroupAttachment\", \u0026Identity.CenterUserGroupAttachmentArgs{\n\t\t\tGroupId: pulumi.String(\"g-xxxxxx\"),\n\t\t\tUserId: pulumi.String(\"u-xxxxxx\"),\n\t\t\tZoneId: pulumi.String(\"z-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.Identity.CenterUserGroupAttachment;\nimport com.pulumi.tencentcloud.Identity.CenterUserGroupAttachmentArgs;\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 identityCenterUserGroupAttachment = new CenterUserGroupAttachment(\"identityCenterUserGroupAttachment\", CenterUserGroupAttachmentArgs.builder() \n .groupId(\"g-xxxxxx\")\n .userId(\"u-xxxxxx\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterUserGroupAttachment:\n type: tencentcloud:Identity:CenterUserGroupAttachment\n properties:\n groupId: g-xxxxxx\n userId: u-xxxxxx\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_user_group_attachment can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment identity_center_user_group_attachment ${zoneId}#${groupId}#${userId}\n```\n\n", + "properties": { + "groupId": { + "type": "string", + "description": "User group ID.\n" + }, + "userId": { + "type": "string", + "description": "User ID.\n" + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n" + } + }, + "required": [ + "groupId", + "userId", + "zoneId" + ], + "inputProperties": { + "groupId": { + "type": "string", + "description": "User group ID.\n", + "willReplaceOnChanges": true + }, + "userId": { + "type": "string", + "description": "User ID.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "groupId", + "userId", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterUserGroupAttachment resources.\n", + "properties": { + "groupId": { + "type": "string", + "description": "User group ID.\n", + "willReplaceOnChanges": true + }, + "userId": { + "type": "string", + "description": "User ID.\n", + "willReplaceOnChanges": true + }, + "zoneId": { + "type": "string", + "description": "Zone id.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning": { + "description": "Provides a resource to create a organization identity_center_user_sync_provisioning\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 identityCenterUserSyncProvisioning = new tencentcloud.identity.CenterUserSyncProvisioning(\"identityCenterUserSyncProvisioning\", {\n deletionStrategy: \"Keep\",\n description: \"tf-test\",\n duplicationStrategy: \"TakeOver\",\n principalId: \"u-xxxxxx\",\n principalType: \"User\",\n targetType: \"MemberUin\",\n targetUin: \"xxxxxx\",\n zoneId: \"z-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nidentity_center_user_sync_provisioning = tencentcloud.identity.CenterUserSyncProvisioning(\"identityCenterUserSyncProvisioning\",\n deletion_strategy=\"Keep\",\n description=\"tf-test\",\n duplication_strategy=\"TakeOver\",\n principal_id=\"u-xxxxxx\",\n principal_type=\"User\",\n target_type=\"MemberUin\",\n target_uin=\"xxxxxx\",\n zone_id=\"z-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 identityCenterUserSyncProvisioning = new Tencentcloud.Identity.CenterUserSyncProvisioning(\"identityCenterUserSyncProvisioning\", new()\n {\n DeletionStrategy = \"Keep\",\n Description = \"tf-test\",\n DuplicationStrategy = \"TakeOver\",\n PrincipalId = \"u-xxxxxx\",\n PrincipalType = \"User\",\n TargetType = \"MemberUin\",\n TargetUin = \"xxxxxx\",\n ZoneId = \"z-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/Identity\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Identity.NewCenterUserSyncProvisioning(ctx, \"identityCenterUserSyncProvisioning\", \u0026Identity.CenterUserSyncProvisioningArgs{\n\t\t\tDeletionStrategy: pulumi.String(\"Keep\"),\n\t\t\tDescription: pulumi.String(\"tf-test\"),\n\t\t\tDuplicationStrategy: pulumi.String(\"TakeOver\"),\n\t\t\tPrincipalId: pulumi.String(\"u-xxxxxx\"),\n\t\t\tPrincipalType: pulumi.String(\"User\"),\n\t\t\tTargetType: pulumi.String(\"MemberUin\"),\n\t\t\tTargetUin: pulumi.Int(\"xxxxxx\"),\n\t\t\tZoneId: pulumi.String(\"z-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.Identity.CenterUserSyncProvisioning;\nimport com.pulumi.tencentcloud.Identity.CenterUserSyncProvisioningArgs;\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 identityCenterUserSyncProvisioning = new CenterUserSyncProvisioning(\"identityCenterUserSyncProvisioning\", CenterUserSyncProvisioningArgs.builder() \n .deletionStrategy(\"Keep\")\n .description(\"tf-test\")\n .duplicationStrategy(\"TakeOver\")\n .principalId(\"u-xxxxxx\")\n .principalType(\"User\")\n .targetType(\"MemberUin\")\n .targetUin(\"xxxxxx\")\n .zoneId(\"z-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n identityCenterUserSyncProvisioning:\n type: tencentcloud:Identity:CenterUserSyncProvisioning\n properties:\n deletionStrategy: Keep\n description: tf-test\n duplicationStrategy: TakeOver\n principalId: u-xxxxxx\n principalType: User\n targetType: MemberUin\n targetUin: xxxxxx\n zoneId: z-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization identity_center_user_sync_provisioning can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning identity_center_user_sync_provisioning ${zoneId}#${userProvisioningId}\n```\n\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "deletionStrategy": { + "type": "string", + "description": "Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.\n" + }, + "description": { + "type": "string", + "description": "Description.\n" + }, + "duplicationStrategy": { + "type": "string", + "description": "Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.\n" + }, + "principalId": { + "type": "string", + "description": "Identity ID for the CAM user synchronization. Valid values:\nWhen the PrincipalType value is Group, it is the CIC user group ID (g-********).\nWhen the PrincipalType value is User, it is the CIC user ID (u-********).\n" + }, + "principalName": { + "type": "string", + "description": "The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name.\n" + }, + "principalType": { + "type": "string", + "description": "Identity type for the CAM user synchronization. Valid values:\n\nUser: indicates that the identity for the CAM user synchronization is a CIC user.\nGroup: indicates that the identity for the CAM user synchronization is a CIC user group.\n" + }, + "status": { + "type": "string", + "description": "Status of CAM user synchronization. Value:\n* Enabled: CAM user synchronization is enabled;\n* Disabled: CAM user synchronization is not enabled.\n" + }, + "targetName": { + "type": "string", + "description": "Group account The name of the target account..\n" + }, + "targetType": { + "type": "string", + "description": "Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.\n" + }, + "targetUin": { + "type": "integer", + "description": "UIN of the synchronized target account of the Tencent Cloud Organization.\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "userProvisioningId": { + "type": "string", + "description": "User provisioning id.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "required": [ + "createTime", + "principalName", + "status", + "targetName", + "updateTime", + "userProvisioningId", + "zoneId" + ], + "inputProperties": { + "deletionStrategy": { + "type": "string", + "description": "Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.\n" + }, + "description": { + "type": "string", + "description": "Description.\n" + }, + "duplicationStrategy": { + "type": "string", + "description": "Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.\n" + }, + "principalId": { + "type": "string", + "description": "Identity ID for the CAM user synchronization. Valid values:\nWhen the PrincipalType value is Group, it is the CIC user group ID (g-********).\nWhen the PrincipalType value is User, it is the CIC user ID (u-********).\n" + }, + "principalType": { + "type": "string", + "description": "Identity type for the CAM user synchronization. Valid values:\n\nUser: indicates that the identity for the CAM user synchronization is a CIC user.\nGroup: indicates that the identity for the CAM user synchronization is a CIC user group.\n" + }, + "targetType": { + "type": "string", + "description": "Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.\n" + }, + "targetUin": { + "type": "integer", + "description": "UIN of the synchronized target account of the Tencent Cloud Organization.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "requiredInputs": [ + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CenterUserSyncProvisioning resources.\n", + "properties": { + "createTime": { + "type": "string", + "description": "Create time.\n" + }, + "deletionStrategy": { + "type": "string", + "description": "Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.\n" + }, + "description": { + "type": "string", + "description": "Description.\n" + }, + "duplicationStrategy": { + "type": "string", + "description": "Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.\n" + }, + "principalId": { + "type": "string", + "description": "Identity ID for the CAM user synchronization. Valid values:\nWhen the PrincipalType value is Group, it is the CIC user group ID (g-********).\nWhen the PrincipalType value is User, it is the CIC user ID (u-********).\n" + }, + "principalName": { + "type": "string", + "description": "The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name.\n" + }, + "principalType": { + "type": "string", + "description": "Identity type for the CAM user synchronization. Valid values:\n\nUser: indicates that the identity for the CAM user synchronization is a CIC user.\nGroup: indicates that the identity for the CAM user synchronization is a CIC user group.\n" + }, + "status": { + "type": "string", + "description": "Status of CAM user synchronization. Value:\n* Enabled: CAM user synchronization is enabled;\n* Disabled: CAM user synchronization is not enabled.\n" + }, + "targetName": { + "type": "string", + "description": "Group account The name of the target account..\n" + }, + "targetType": { + "type": "string", + "description": "Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.\n" + }, + "targetUin": { + "type": "integer", + "description": "UIN of the synchronized target account of the Tencent Cloud Organization.\n" + }, + "updateTime": { + "type": "string", + "description": "Update time.\n" + }, + "userProvisioningId": { + "type": "string", + "description": "User provisioning id.\n" + }, + "zoneId": { + "type": "string", + "description": "Space ID.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Image/instance:Instance": { "description": "Provide a resource to manage image.\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 imageSnap = new tencentcloud.image.Instance(\"imageSnap\", {\n forcePoweroff: true,\n imageDescription: \"create image with snapshot\",\n imageName: \"image-snapshot-keep\",\n snapshotIds: [\n \"snap-nbp3xy1d\",\n \"snap-nvzu3dmh\",\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nimage_snap = tencentcloud.image.Instance(\"imageSnap\",\n force_poweroff=True,\n image_description=\"create image with snapshot\",\n image_name=\"image-snapshot-keep\",\n snapshot_ids=[\n \"snap-nbp3xy1d\",\n \"snap-nvzu3dmh\",\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 imageSnap = new Tencentcloud.Image.Instance(\"imageSnap\", new()\n {\n ForcePoweroff = true,\n ImageDescription = \"create image with snapshot\",\n ImageName = \"image-snapshot-keep\",\n SnapshotIds = new[]\n {\n \"snap-nbp3xy1d\",\n \"snap-nvzu3dmh\",\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/Image\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Image.NewInstance(ctx, \"imageSnap\", \u0026Image.InstanceArgs{\n\t\t\tForcePoweroff: pulumi.Bool(true),\n\t\t\tImageDescription: pulumi.String(\"create image with snapshot\"),\n\t\t\tImageName: pulumi.String(\"image-snapshot-keep\"),\n\t\t\tSnapshotIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"snap-nbp3xy1d\"),\n\t\t\t\tpulumi.String(\"snap-nvzu3dmh\"),\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.Image.Instance;\nimport com.pulumi.tencentcloud.Image.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 imageSnap = new Instance(\"imageSnap\", InstanceArgs.builder() \n .forcePoweroff(true)\n .imageDescription(\"create image with snapshot\")\n .imageName(\"image-snapshot-keep\")\n .snapshotIds( \n \"snap-nbp3xy1d\",\n \"snap-nvzu3dmh\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n imageSnap:\n type: tencentcloud:Image:Instance\n properties:\n forcePoweroff: true\n imageDescription: create image with snapshot\n imageName: image-snapshot-keep\n snapshotIds:\n - snap-nbp3xy1d\n - snap-nvzu3dmh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nimage instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Image/instance:Instance image_snap img-gf7jspk6\n```\n", "properties": { @@ -165069,7 +170934,7 @@ } }, "tencentcloud:Instance/instance:Instance": { - "description": "Provides a CVM instance resource.\n\n\u003e **NOTE:** You can launch an CVM instance for a VPC network via specifying parameter `vpc_id`. One instance can only belong to one VPC.\n\n\u003e **NOTE:** At present, 'PREPAID' instance cannot be deleted directly and must wait it to be outdated and released automatically.\n\n## Import\n\nCVM instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Instance/instance:Instance foo ins-2qol3a80\n```\n\n", + "description": "Provides a CVM instance resource.\n\n\u003e **NOTE:** You can launch an CVM instance for a VPC network via specifying parameter `vpc_id`. One instance can only belong to one VPC.\n\n\u003e **NOTE:** At present, 'PREPAID' instance cannot be deleted directly and must wait it to be outdated and released automatically.\n\n## Example Usage\n\n### Create a general POSTPAID_BY_HOUR CVM instance\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-4\";\nconst images = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n imageNameRegex: \"OpenCloudOS Server\",\n});\nconst types = tencentcloud.Instance.getTypes({\n filters: [{\n name: \"instance-family\",\n values: [\n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\",\n ],\n }],\n cpuCoreCount: 2,\n excludeSoldOut: true,\n});\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n});\n// create CVM instance\nconst example = new tencentcloud.instance.Instance(\"example\", {\n instanceName: \"tf-example\",\n availabilityZone: availabilityZone,\n imageId: images.then(images =\u003e images.images?.[0]?.imageId),\n instanceType: types.then(types =\u003e types.instanceTypes?.[0]?.instanceType),\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n hostname: \"user\",\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataDisks: [{\n dataDiskType: \"CLOUD_PREMIUM\",\n dataDiskSize: 50,\n encrypt: false,\n }],\n tags: {\n tagKey: \"tagValue\",\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-4\"\nimages = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n image_name_regex=\"OpenCloudOS Server\")\ntypes = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs(\n name=\"instance-family\",\n values=[\n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\",\n ],\n )],\n cpu_core_count=2,\n exclude_sold_out=True)\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\")\n# create CVM instance\nexample = tencentcloud.instance.Instance(\"example\",\n instance_name=\"tf-example\",\n availability_zone=availability_zone,\n image_id=images.images[0].image_id,\n instance_type=types.instance_types[0].instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n hostname=\"user\",\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n data_disks=[tencentcloud.instance.InstanceDataDiskArgs(\n data_disk_type=\"CLOUD_PREMIUM\",\n data_disk_size=50,\n encrypt=False,\n )],\n tags={\n \"tagKey\": \"tagValue\",\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-4\";\n var images = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n ImageNameRegex = \"OpenCloudOS Server\",\n });\n\n var types = Tencentcloud.Instance.GetTypes.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"instance-family\",\n Values = new[]\n {\n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\",\n },\n },\n },\n CpuCoreCount = 2,\n ExcludeSoldOut = true,\n });\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 subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n });\n\n // create CVM instance\n var example = new Tencentcloud.Instance.Instance(\"example\", new()\n {\n InstanceName = \"tf-example\",\n AvailabilityZone = availabilityZone,\n ImageId = images.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceType = types.Apply(getTypesResult =\u003e getTypesResult.InstanceTypes[0]?.InstanceType),\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n Hostname = \"user\",\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DataDisks = new[]\n {\n new Tencentcloud.Instance.Inputs.InstanceDataDiskArgs\n {\n DataDiskType = \"CLOUD_PREMIUM\",\n DataDiskSize = 50,\n Encrypt = false,\n },\n },\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance\"\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-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\timages, 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\tImageNameRegex: pulumi.StringRef(\"OpenCloudOS Server\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttypes, err := Instance.GetTypes(ctx, \u0026instance.GetTypesArgs{\n\t\t\tFilters: []instance.GetTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"S1\",\n\t\t\t\t\t\t\"S2\",\n\t\t\t\t\t\t\"S3\",\n\t\t\t\t\t\t\"S4\",\n\t\t\t\t\t\t\"S5\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tExcludeSoldOut: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\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 subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create CVM instance\n\t\t_, err = Instance.NewInstance(ctx, \"example\", \u0026Instance.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-example\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tImageId: pulumi.String(images.Images[0].ImageId),\n\t\t\tInstanceType: pulumi.String(types.InstanceTypes[0].InstanceType),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\tHostname: pulumi.String(\"user\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDataDisks: instance.InstanceDataDiskArray{\n\t\t\t\t\u0026instance.InstanceDataDiskArgs{\n\t\t\t\t\tDataDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\tDataDiskSize: pulumi.Int(50),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\nimport com.pulumi.tencentcloud.Instance.InstanceFunctions;\nimport com.pulumi.tencentcloud.Instance.inputs.GetTypesArgs;\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.Instance.Instance;\nimport com.pulumi.tencentcloud.Instance.InstanceArgs;\nimport com.pulumi.tencentcloud.Instance.inputs.InstanceDataDiskArgs;\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-4\");\n final var images = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .imageNameRegex(\"OpenCloudOS Server\")\n .build());\n\n final var types = InstanceFunctions.getTypes(GetTypesArgs.builder()\n .filters(GetTypesFilterArgs.builder()\n .name(\"instance-family\")\n .values( \n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\")\n .build())\n .cpuCoreCount(2)\n .excludeSoldOut(true)\n .build());\n\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n // create CVM instance\n var example = new Instance(\"example\", InstanceArgs.builder() \n .instanceName(\"tf-example\")\n .availabilityZone(availabilityZone)\n .imageId(images.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceType(types.applyValue(getTypesResult -\u003e getTypesResult.instanceTypes()[0].instanceType()))\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(50)\n .hostname(\"user\")\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataDisks(InstanceDataDiskArgs.builder()\n .dataDiskType(\"CLOUD_PREMIUM\")\n .dataDiskSize(50)\n .encrypt(false)\n .build())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n # create CVM instance\n example:\n type: tencentcloud:Instance:Instance\n properties:\n instanceName: tf-example\n availabilityZone: ${availabilityZone}\n imageId: ${images.images[0].imageId}\n instanceType: ${types.instanceTypes[0].instanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: 50\n hostname: user\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataDisks:\n - dataDiskType: CLOUD_PREMIUM\n dataDiskSize: 50\n encrypt: false\n tags:\n tagKey: tagValue\nvariables:\n images:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n imageNameRegex: OpenCloudOS Server\n types:\n fn::invoke:\n Function: tencentcloud:Instance:getTypes\n Arguments:\n filters:\n - name: instance-family\n values:\n - S1\n - S2\n - S3\n - S4\n - S5\n cpuCoreCount: 2\n excludeSoldOut: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a general PREPAID CVM instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\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.Instance.InstanceFunctions;\nimport com.pulumi.tencentcloud.Instance.inputs.GetTypesArgs;\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.Instance.Instance;\nimport com.pulumi.tencentcloud.Instance.InstanceArgs;\nimport com.pulumi.tencentcloud.Instance.inputs.InstanceDataDiskArgs;\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-4\");\n final var images = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .imageNameRegex(\"OpenCloudOS Server\")\n .build());\n\n final var types = InstanceFunctions.getTypes(GetTypesArgs.builder()\n .filters(GetTypesFilterArgs.builder()\n .name(\"instance-family\")\n .values( \n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\")\n .build())\n .cpuCoreCount(2)\n .excludeSoldOut(true)\n .build());\n\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n // create CVM instance\n var example = new Instance(\"example\", InstanceArgs.builder() \n .instanceName(\"tf-example\")\n .availabilityZone(availabilityZone)\n .imageId(images.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceType(types.applyValue(getTypesResult -\u003e getTypesResult.instanceTypes()[0].instanceType()))\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(50)\n .hostname(\"user\")\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .instanceChargeType(\"PREPAID\")\n .instanceChargeTypePrepaidPeriod(1)\n .instanceChargeTypePrepaidRenewFlag(\"NOTIFY_AND_MANUAL_RENEW\")\n .forceDelete(true)\n .dataDisks(InstanceDataDiskArgs.builder()\n .dataDiskType(\"CLOUD_PREMIUM\")\n .dataDiskSize(50)\n .encrypt(false)\n .build())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .timeouts(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n # create CVM instance\n example:\n type: tencentcloud:Instance:Instance\n properties:\n instanceName: tf-example\n availabilityZone: ${availabilityZone}\n imageId: ${images.images[0].imageId}\n instanceType: ${types.instanceTypes[0].instanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: 50\n hostname: user\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n instanceChargeType: PREPAID\n instanceChargeTypePrepaidPeriod: 1\n instanceChargeTypePrepaidRenewFlag: NOTIFY_AND_MANUAL_RENEW\n forceDelete: true\n dataDisks:\n - dataDiskType: CLOUD_PREMIUM\n dataDiskSize: 50\n encrypt: false\n tags:\n tagKey: tagValue\n timeouts:\n - create: 30m\nvariables:\n images:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n imageNameRegex: OpenCloudOS Server\n types:\n fn::invoke:\n Function: tencentcloud:Instance:getTypes\n Arguments:\n filters:\n - name: instance-family\n values:\n - S1\n - S2\n - S3\n - S4\n - S5\n cpuCoreCount: 2\n excludeSoldOut: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a dedicated cluster CVM instance\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-4\";\nconst images = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n imageNameRegex: \"OpenCloudOS Server\",\n});\nconst types = tencentcloud.Instance.getTypes({\n filters: [{\n name: \"instance-family\",\n values: [\n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\",\n ],\n }],\n cpuCoreCount: 2,\n excludeSoldOut: true,\n});\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n cdcId: \"cluster-262n63e8\",\n isMulticast: false,\n});\n// create CVM instance\nconst example = new tencentcloud.instance.Instance(\"example\", {\n instanceName: \"tf-example\",\n availabilityZone: availabilityZone,\n imageId: images.then(images =\u003e images.images?.[0]?.imageId),\n instanceType: types.then(types =\u003e types.instanceTypes?.[0]?.instanceType),\n dedicatedClusterId: \"cluster-262n63e8\",\n instanceChargeType: \"CDCPAID\",\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 50,\n hostname: \"user\",\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataDisks: [{\n dataDiskType: \"CLOUD_SSD\",\n dataDiskSize: 50,\n encrypt: false,\n }],\n tags: {\n tagKey: \"tagValue\",\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-4\"\nimages = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n image_name_regex=\"OpenCloudOS Server\")\ntypes = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs(\n name=\"instance-family\",\n values=[\n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\",\n ],\n )],\n cpu_core_count=2,\n exclude_sold_out=True)\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\",\n cdc_id=\"cluster-262n63e8\",\n is_multicast=False)\n# create CVM instance\nexample = tencentcloud.instance.Instance(\"example\",\n instance_name=\"tf-example\",\n availability_zone=availability_zone,\n image_id=images.images[0].image_id,\n instance_type=types.instance_types[0].instance_type,\n dedicated_cluster_id=\"cluster-262n63e8\",\n instance_charge_type=\"CDCPAID\",\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=50,\n hostname=\"user\",\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n data_disks=[tencentcloud.instance.InstanceDataDiskArgs(\n data_disk_type=\"CLOUD_SSD\",\n data_disk_size=50,\n encrypt=False,\n )],\n tags={\n \"tagKey\": \"tagValue\",\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-4\";\n var images = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n ImageNameRegex = \"OpenCloudOS Server\",\n });\n\n var types = Tencentcloud.Instance.GetTypes.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"instance-family\",\n Values = new[]\n {\n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\",\n },\n },\n },\n CpuCoreCount = 2,\n ExcludeSoldOut = true,\n });\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 subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n CdcId = \"cluster-262n63e8\",\n IsMulticast = false,\n });\n\n // create CVM instance\n var example = new Tencentcloud.Instance.Instance(\"example\", new()\n {\n InstanceName = \"tf-example\",\n AvailabilityZone = availabilityZone,\n ImageId = images.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceType = types.Apply(getTypesResult =\u003e getTypesResult.InstanceTypes[0]?.InstanceType),\n DedicatedClusterId = \"cluster-262n63e8\",\n InstanceChargeType = \"CDCPAID\",\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 50,\n Hostname = \"user\",\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DataDisks = new[]\n {\n new Tencentcloud.Instance.Inputs.InstanceDataDiskArgs\n {\n DataDiskType = \"CLOUD_SSD\",\n DataDiskSize = 50,\n Encrypt = false,\n },\n },\n Tags = \n {\n { \"tagKey\", \"tagValue\" },\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/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance\"\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-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\timages, 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\tImageNameRegex: pulumi.StringRef(\"OpenCloudOS Server\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttypes, err := Instance.GetTypes(ctx, \u0026instance.GetTypesArgs{\n\t\t\tFilters: []instance.GetTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"S1\",\n\t\t\t\t\t\t\"S2\",\n\t\t\t\t\t\t\"S3\",\n\t\t\t\t\t\t\"S4\",\n\t\t\t\t\t\t\"S5\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCpuCoreCount: pulumi.IntRef(2),\n\t\t\tExcludeSoldOut: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\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 subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tCdcId: pulumi.String(\"cluster-262n63e8\"),\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 CVM instance\n\t\t_, err = Instance.NewInstance(ctx, \"example\", \u0026Instance.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-example\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tImageId: pulumi.String(images.Images[0].ImageId),\n\t\t\tInstanceType: pulumi.String(types.InstanceTypes[0].InstanceType),\n\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\tInstanceChargeType: pulumi.String(\"CDCPAID\"),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\tHostname: pulumi.String(\"user\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDataDisks: instance.InstanceDataDiskArray{\n\t\t\t\t\u0026instance.InstanceDataDiskArgs{\n\t\t\t\t\tDataDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tDataDiskSize: pulumi.Int(50),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tagKey\": pulumi.Any(\"tagValue\"),\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.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\nimport com.pulumi.tencentcloud.Instance.InstanceFunctions;\nimport com.pulumi.tencentcloud.Instance.inputs.GetTypesArgs;\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.Instance.Instance;\nimport com.pulumi.tencentcloud.Instance.InstanceArgs;\nimport com.pulumi.tencentcloud.Instance.inputs.InstanceDataDiskArgs;\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-4\");\n final var images = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .imageNameRegex(\"OpenCloudOS Server\")\n .build());\n\n final var types = InstanceFunctions.getTypes(GetTypesArgs.builder()\n .filters(GetTypesFilterArgs.builder()\n .name(\"instance-family\")\n .values( \n \"S1\",\n \"S2\",\n \"S3\",\n \"S4\",\n \"S5\")\n .build())\n .cpuCoreCount(2)\n .excludeSoldOut(true)\n .build());\n\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .cdcId(\"cluster-262n63e8\")\n .isMulticast(false)\n .build());\n\n // create CVM instance\n var example = new Instance(\"example\", InstanceArgs.builder() \n .instanceName(\"tf-example\")\n .availabilityZone(availabilityZone)\n .imageId(images.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceType(types.applyValue(getTypesResult -\u003e getTypesResult.instanceTypes()[0].instanceType()))\n .dedicatedClusterId(\"cluster-262n63e8\")\n .instanceChargeType(\"CDCPAID\")\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(50)\n .hostname(\"user\")\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataDisks(InstanceDataDiskArgs.builder()\n .dataDiskType(\"CLOUD_SSD\")\n .dataDiskSize(50)\n .encrypt(false)\n .build())\n .tags(Map.of(\"tagKey\", \"tagValue\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n cdcId: cluster-262n63e8\n isMulticast: false\n # create CVM instance\n example:\n type: tencentcloud:Instance:Instance\n properties:\n instanceName: tf-example\n availabilityZone: ${availabilityZone}\n imageId: ${images.images[0].imageId}\n instanceType: ${types.instanceTypes[0].instanceType}\n dedicatedClusterId: cluster-262n63e8\n instanceChargeType: CDCPAID\n systemDiskType: CLOUD_SSD\n systemDiskSize: 50\n hostname: user\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataDisks:\n - dataDiskType: CLOUD_SSD\n dataDiskSize: 50\n encrypt: false\n tags:\n tagKey: tagValue\nvariables:\n images:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n imageNameRegex: OpenCloudOS Server\n types:\n fn::invoke:\n Function: tencentcloud:Instance:getTypes\n Arguments:\n filters:\n - name: instance-family\n values:\n - S1\n - S2\n - S3\n - S4\n - S5\n cpuCoreCount: 2\n excludeSoldOut: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCVM instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Instance/instance:Instance example ins-2qol3a80\n```\n\n", "properties": { "allocatePublicIp": { "type": "boolean", @@ -165110,6 +170975,10 @@ }, "description": "Settings for data disks.\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" + }, "disableApiTermination": { "type": "boolean", "description": "Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action.\n" @@ -165259,6 +171128,10 @@ "type": "string", "description": "System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.\n" }, + "systemDiskResizeOnline": { + "type": "boolean", + "description": "Resize online.\n" + }, "systemDiskSize": { "type": "integer", "description": "Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.\n" @@ -165353,6 +171226,11 @@ "description": "Settings for data disks.\n", "willReplaceOnChanges": true }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n", + "willReplaceOnChanges": true + }, "disableApiTermination": { "type": "boolean", "description": "Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action.\n" @@ -165484,6 +171362,10 @@ "type": "string", "description": "System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.\n" }, + "systemDiskResizeOnline": { + "type": "boolean", + "description": "Resize online.\n" + }, "systemDiskSize": { "type": "integer", "description": "Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.\n" @@ -165565,6 +171447,11 @@ "description": "Settings for data disks.\n", "willReplaceOnChanges": true }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n", + "willReplaceOnChanges": true + }, "disableApiTermination": { "type": "boolean", "description": "Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action.\n" @@ -165716,6 +171603,10 @@ "type": "string", "description": "System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.\n" }, + "systemDiskResizeOnline": { + "type": "boolean", + "description": "Resize online.\n" + }, "systemDiskSize": { "type": "integer", "description": "Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.\n" @@ -166219,6 +172110,213 @@ "type": "object" } }, + "tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation": { + "description": "Provides a resource to create a organization invite_organization_member_operation\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 inviteOrganizationMemberOperation = new tencentcloud.invite.OrganizationMemberOperation(\"inviteOrganizationMemberOperation\", {\n isAllowQuit: \"Allow\",\n memberUin: \"xxxxxx\",\n nodeId: \"xxxxxx\",\n permissionIds: [\n 1,\n 2,\n 4,\n ],\n policyType: \"Financial\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninvite_organization_member_operation = tencentcloud.invite.OrganizationMemberOperation(\"inviteOrganizationMemberOperation\",\n is_allow_quit=\"Allow\",\n member_uin=\"xxxxxx\",\n node_id=\"xxxxxx\",\n permission_ids=[\n 1,\n 2,\n 4,\n ],\n policy_type=\"Financial\")\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 inviteOrganizationMemberOperation = new Tencentcloud.Invite.OrganizationMemberOperation(\"inviteOrganizationMemberOperation\", new()\n {\n IsAllowQuit = \"Allow\",\n MemberUin = \"xxxxxx\",\n NodeId = \"xxxxxx\",\n PermissionIds = new[]\n {\n 1,\n 2,\n 4,\n },\n PolicyType = \"Financial\",\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/Invite\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Invite.NewOrganizationMemberOperation(ctx, \"inviteOrganizationMemberOperation\", \u0026Invite.OrganizationMemberOperationArgs{\n\t\t\tIsAllowQuit: pulumi.String(\"Allow\"),\n\t\t\tMemberUin: pulumi.Int(\"xxxxxx\"),\n\t\t\tNodeId: pulumi.Int(\"xxxxxx\"),\n\t\t\tPermissionIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1),\n\t\t\t\tpulumi.Int(2),\n\t\t\t\tpulumi.Int(4),\n\t\t\t},\n\t\t\tPolicyType: pulumi.String(\"Financial\"),\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.Invite.OrganizationMemberOperation;\nimport com.pulumi.tencentcloud.Invite.OrganizationMemberOperationArgs;\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 inviteOrganizationMemberOperation = new OrganizationMemberOperation(\"inviteOrganizationMemberOperation\", OrganizationMemberOperationArgs.builder() \n .isAllowQuit(\"Allow\")\n .memberUin(\"xxxxxx\")\n .nodeId(\"xxxxxx\")\n .permissionIds( \n \"1\",\n \"2\",\n \"4\")\n .policyType(\"Financial\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n inviteOrganizationMemberOperation:\n type: tencentcloud:Invite:OrganizationMemberOperation\n properties:\n isAllowQuit: Allow\n memberUin: xxxxxx\n nodeId: xxxxxx\n permissionIds:\n - '1'\n - '2'\n - '4'\n policyType: Financial\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "authFiles": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Invite/OrganizationMemberOperationAuthFile:OrganizationMemberOperationAuthFile" + }, + "description": "List of supporting documents of mutual trust entities.\n" + }, + "isAllowQuit": { + "type": "string", + "description": "Whether to allow members to withdraw. Allow: Allow, Disallow: Denied.\n" + }, + "memberUin": { + "type": "integer", + "description": "Invited account Uin.\n" + }, + "name": { + "type": "string", + "description": "Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `\u0026`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma.\n" + }, + "nodeId": { + "type": "integer", + "description": "Node ID of the member's department.\n" + }, + "payUin": { + "type": "string", + "description": "Payer Uin. Member needs to pay on behalf of.\n" + }, + "permissionIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default.\n" + }, + "policyType": { + "type": "string", + "description": "Relationship strategies. Value taken: Financial.\n" + }, + "relationAuthName": { + "type": "string", + "description": "Name of the real-name subject of mutual trust.\n" + }, + "remark": { + "type": "string", + "description": "Remark.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Invite/OrganizationMemberOperationTag:OrganizationMemberOperationTag" + }, + "description": "List of member tags. Maximum 10.\n" + } + }, + "required": [ + "memberUin", + "name", + "nodeId", + "permissionIds", + "policyType" + ], + "inputProperties": { + "authFiles": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Invite/OrganizationMemberOperationAuthFile:OrganizationMemberOperationAuthFile" + }, + "description": "List of supporting documents of mutual trust entities.\n", + "willReplaceOnChanges": true + }, + "isAllowQuit": { + "type": "string", + "description": "Whether to allow members to withdraw. Allow: Allow, Disallow: Denied.\n", + "willReplaceOnChanges": true + }, + "memberUin": { + "type": "integer", + "description": "Invited account Uin.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `\u0026`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma.\n", + "willReplaceOnChanges": true + }, + "nodeId": { + "type": "integer", + "description": "Node ID of the member's department.\n", + "willReplaceOnChanges": true + }, + "payUin": { + "type": "string", + "description": "Payer Uin. Member needs to pay on behalf of.\n", + "willReplaceOnChanges": true + }, + "permissionIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default.\n", + "willReplaceOnChanges": true + }, + "policyType": { + "type": "string", + "description": "Relationship strategies. Value taken: Financial.\n", + "willReplaceOnChanges": true + }, + "relationAuthName": { + "type": "string", + "description": "Name of the real-name subject of mutual trust.\n", + "willReplaceOnChanges": true + }, + "remark": { + "type": "string", + "description": "Remark.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Invite/OrganizationMemberOperationTag:OrganizationMemberOperationTag" + }, + "description": "List of member tags. Maximum 10.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "memberUin", + "nodeId", + "permissionIds", + "policyType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering OrganizationMemberOperation resources.\n", + "properties": { + "authFiles": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Invite/OrganizationMemberOperationAuthFile:OrganizationMemberOperationAuthFile" + }, + "description": "List of supporting documents of mutual trust entities.\n", + "willReplaceOnChanges": true + }, + "isAllowQuit": { + "type": "string", + "description": "Whether to allow members to withdraw. Allow: Allow, Disallow: Denied.\n", + "willReplaceOnChanges": true + }, + "memberUin": { + "type": "integer", + "description": "Invited account Uin.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `\u0026`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma.\n", + "willReplaceOnChanges": true + }, + "nodeId": { + "type": "integer", + "description": "Node ID of the member's department.\n", + "willReplaceOnChanges": true + }, + "payUin": { + "type": "string", + "description": "Payer Uin. Member needs to pay on behalf of.\n", + "willReplaceOnChanges": true + }, + "permissionIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default.\n", + "willReplaceOnChanges": true + }, + "policyType": { + "type": "string", + "description": "Relationship strategies. Value taken: Financial.\n", + "willReplaceOnChanges": true + }, + "relationAuthName": { + "type": "string", + "description": "Name of the real-name subject of mutual trust.\n", + "willReplaceOnChanges": true + }, + "remark": { + "type": "string", + "description": "Remark.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Invite/OrganizationMemberOperationTag:OrganizationMemberOperationTag" + }, + "description": "List of member tags. Maximum 10.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Ipv6/addressBandwidth:AddressBandwidth": { "description": "Provides a resource to create a ipv6_address_bandwidth\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 ipv6AddressBandwidth = new tencentcloud.ipv6.AddressBandwidth(\"ipv6AddressBandwidth\", {\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 6,\n ipv6Address: \"2402:4e00:1019:9400:0:9905:a90b:2ef0\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nipv6_address_bandwidth = tencentcloud.ipv6.AddressBandwidth(\"ipv6AddressBandwidth\",\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=6,\n ipv6_address=\"2402:4e00:1019:9400:0:9905:a90b:2ef0\")\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 ipv6AddressBandwidth = new Tencentcloud.Ipv6.AddressBandwidth(\"ipv6AddressBandwidth\", new()\n {\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 6,\n Ipv6Address = \"2402:4e00:1019:9400:0:9905:a90b:2ef0\",\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/Ipv6\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ipv6.NewAddressBandwidth(ctx, \"ipv6AddressBandwidth\", \u0026Ipv6.AddressBandwidthArgs{\n\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\tInternetMaxBandwidthOut: pulumi.Int(6),\n\t\t\tIpv6Address: pulumi.String(\"2402:4e00:1019:9400:0:9905:a90b:2ef0\"),\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.Ipv6.AddressBandwidth;\nimport com.pulumi.tencentcloud.Ipv6.AddressBandwidthArgs;\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 ipv6AddressBandwidth = new AddressBandwidth(\"ipv6AddressBandwidth\", AddressBandwidthArgs.builder() \n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(6)\n .ipv6Address(\"2402:4e00:1019:9400:0:9905:a90b:2ef0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ipv6AddressBandwidth:\n type: tencentcloud:Ipv6:AddressBandwidth\n properties:\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 6\n ipv6Address: 2402:4e00:1019:9400:0:9905:a90b:2ef0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -167154,6 +173252,99 @@ "type": "object" } }, + "tencentcloud:Kubernetes/addonConfig:AddonConfig": { + "description": "Provide a resource to configure addon that kubernetes comes with.\n\n## Example Usage\n\n", + "properties": { + "addonName": { + "type": "string", + "description": "Name of addon.\n" + }, + "addonVersion": { + "type": "string", + "description": "Version of addon.\n" + }, + "clusterId": { + "type": "string", + "description": "ID of cluster.\n" + }, + "phase": { + "type": "string", + "description": "Status of addon.\n" + }, + "rawValues": { + "type": "string", + "description": "Params of addon, base64 encoded json format.\n" + }, + "reason": { + "type": "string", + "description": "Reason of addon failed.\n" + } + }, + "required": [ + "addonName", + "addonVersion", + "clusterId", + "phase", + "rawValues", + "reason" + ], + "inputProperties": { + "addonName": { + "type": "string", + "description": "Name of addon.\n", + "willReplaceOnChanges": true + }, + "addonVersion": { + "type": "string", + "description": "Version of addon.\n" + }, + "clusterId": { + "type": "string", + "description": "ID of cluster.\n", + "willReplaceOnChanges": true + }, + "rawValues": { + "type": "string", + "description": "Params of addon, base64 encoded json format.\n" + } + }, + "requiredInputs": [ + "addonName", + "clusterId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AddonConfig resources.\n", + "properties": { + "addonName": { + "type": "string", + "description": "Name of addon.\n", + "willReplaceOnChanges": true + }, + "addonVersion": { + "type": "string", + "description": "Version of addon.\n" + }, + "clusterId": { + "type": "string", + "description": "ID of cluster.\n", + "willReplaceOnChanges": true + }, + "phase": { + "type": "string", + "description": "Status of addon.\n" + }, + "rawValues": { + "type": "string", + "description": "Params of addon, base64 encoded json format.\n" + }, + "reason": { + "type": "string", + "description": "Reason of addon failed.\n" + } + }, + "type": "object" + } + }, "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\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": { @@ -167396,7 +173587,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\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", + "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### Create a CDC scenario cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst cdcCluster = new tencentcloud.kubernetes.Cluster(\"cdcCluster\", {\n cdcId: \"cluster-xxxxx\",\n clusterCidr: \"192.168.0.0/16\",\n clusterDeployType: \"INDEPENDENT_CLUSTER\",\n clusterDesc: \"test cluster desc\",\n clusterLevel: \"L20\",\n clusterMaxPodNum: 64,\n clusterMaxServiceNum: 1024,\n clusterName: \"test-cdc\",\n clusterOs: \"tlinux3.1x86_64\",\n clusterVersion: \"1.30.0\",\n containerRuntime: \"containerd\",\n existInstances: [{\n instancesPara: {\n instanceIds: [\n \"ins-eeijdk16\",\n \"ins-84ku5rba\",\n \"ins-8oa3im2s\",\n ],\n },\n nodeRole: \"MASTER_ETCD\",\n }],\n preStartUserScript: \"aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\",\n runtimeVersion: \"1.6.9\",\n vpcId: \"vpc-xxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncdc_cluster = tencentcloud.kubernetes.Cluster(\"cdcCluster\",\n cdc_id=\"cluster-xxxxx\",\n cluster_cidr=\"192.168.0.0/16\",\n cluster_deploy_type=\"INDEPENDENT_CLUSTER\",\n cluster_desc=\"test cluster desc\",\n cluster_level=\"L20\",\n cluster_max_pod_num=64,\n cluster_max_service_num=1024,\n cluster_name=\"test-cdc\",\n cluster_os=\"tlinux3.1x86_64\",\n cluster_version=\"1.30.0\",\n container_runtime=\"containerd\",\n exist_instances=[tencentcloud.kubernetes.ClusterExistInstanceArgs(\n instances_para=tencentcloud.kubernetes.ClusterExistInstanceInstancesParaArgs(\n instance_ids=[\n \"ins-eeijdk16\",\n \"ins-84ku5rba\",\n \"ins-8oa3im2s\",\n ],\n ),\n node_role=\"MASTER_ETCD\",\n )],\n pre_start_user_script=\"aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\",\n runtime_version=\"1.6.9\",\n vpc_id=\"vpc-xxxxx\")\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 cdcCluster = new Tencentcloud.Kubernetes.Cluster(\"cdcCluster\", new()\n {\n CdcId = \"cluster-xxxxx\",\n ClusterCidr = \"192.168.0.0/16\",\n ClusterDeployType = \"INDEPENDENT_CLUSTER\",\n ClusterDesc = \"test cluster desc\",\n ClusterLevel = \"L20\",\n ClusterMaxPodNum = 64,\n ClusterMaxServiceNum = 1024,\n ClusterName = \"test-cdc\",\n ClusterOs = \"tlinux3.1x86_64\",\n ClusterVersion = \"1.30.0\",\n ContainerRuntime = \"containerd\",\n ExistInstances = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterExistInstanceArgs\n {\n InstancesPara = new Tencentcloud.Kubernetes.Inputs.ClusterExistInstanceInstancesParaArgs\n {\n InstanceIds = new[]\n {\n \"ins-eeijdk16\",\n \"ins-84ku5rba\",\n \"ins-8oa3im2s\",\n },\n },\n NodeRole = \"MASTER_ETCD\",\n },\n },\n PreStartUserScript = \"aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\",\n RuntimeVersion = \"1.6.9\",\n VpcId = \"vpc-xxxxx\",\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, \"cdcCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tCdcId: pulumi.String(\"cluster-xxxxx\"),\n\t\t\tClusterCidr: pulumi.String(\"192.168.0.0/16\"),\n\t\t\tClusterDeployType: pulumi.String(\"INDEPENDENT_CLUSTER\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterLevel: pulumi.String(\"L20\"),\n\t\t\tClusterMaxPodNum: pulumi.Int(64),\n\t\t\tClusterMaxServiceNum: pulumi.Int(1024),\n\t\t\tClusterName: pulumi.String(\"test-cdc\"),\n\t\t\tClusterOs: pulumi.String(\"tlinux3.1x86_64\"),\n\t\t\tClusterVersion: pulumi.String(\"1.30.0\"),\n\t\t\tContainerRuntime: pulumi.String(\"containerd\"),\n\t\t\tExistInstances: kubernetes.ClusterExistInstanceArray{\n\t\t\t\t\u0026kubernetes.ClusterExistInstanceArgs{\n\t\t\t\t\tInstancesPara: \u0026kubernetes.ClusterExistInstanceInstancesParaArgs{\n\t\t\t\t\t\tInstanceIds: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"ins-eeijdk16\"),\n\t\t\t\t\t\t\tpulumi.String(\"ins-84ku5rba\"),\n\t\t\t\t\t\t\tpulumi.String(\"ins-8oa3im2s\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNodeRole: pulumi.String(\"MASTER_ETCD\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPreStartUserScript: pulumi.String(\"aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\"),\n\t\t\tRuntimeVersion: pulumi.String(\"1.6.9\"),\n\t\t\tVpcId: pulumi.String(\"vpc-xxxxx\"),\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.ClusterExistInstanceArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterExistInstanceInstancesParaArgs;\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 cdcCluster = new Cluster(\"cdcCluster\", ClusterArgs.builder() \n .cdcId(\"cluster-xxxxx\")\n .clusterCidr(\"192.168.0.0/16\")\n .clusterDeployType(\"INDEPENDENT_CLUSTER\")\n .clusterDesc(\"test cluster desc\")\n .clusterLevel(\"L20\")\n .clusterMaxPodNum(64)\n .clusterMaxServiceNum(1024)\n .clusterName(\"test-cdc\")\n .clusterOs(\"tlinux3.1x86_64\")\n .clusterVersion(\"1.30.0\")\n .containerRuntime(\"containerd\")\n .existInstances(ClusterExistInstanceArgs.builder()\n .instancesPara(ClusterExistInstanceInstancesParaArgs.builder()\n .instanceIds( \n \"ins-eeijdk16\",\n \"ins-84ku5rba\",\n \"ins-8oa3im2s\")\n .build())\n .nodeRole(\"MASTER_ETCD\")\n .build())\n .preStartUserScript(\"aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\")\n .runtimeVersion(\"1.6.9\")\n .vpcId(\"vpc-xxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cdcCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n cdcId: cluster-xxxxx\n clusterCidr: 192.168.0.0/16\n clusterDeployType: INDEPENDENT_CLUSTER\n clusterDesc: test cluster desc\n clusterLevel: L20\n clusterMaxPodNum: 64\n clusterMaxServiceNum: 1024\n clusterName: test-cdc\n clusterOs: tlinux3.1x86_64\n clusterVersion: 1.30.0\n containerRuntime: containerd\n existInstances:\n - instancesPara:\n instanceIds:\n - ins-eeijdk16\n - ins-84ku5rba\n - ins-8oa3im2s\n nodeRole: MASTER_ETCD\n preStartUserScript: aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=\n runtimeVersion: 1.6.9\n vpcId: vpc-xxxxx\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", @@ -167414,6 +173605,10 @@ "type": "integer", "description": "The number of basic pods. valid when enable_customized_pod_cidr=true.\n" }, + "cdcId": { + "type": "string", + "description": "CDC ID.\n" + }, "certificationAuthority": { "type": "string", "description": "The certificate used for access.\n" @@ -167575,6 +173770,10 @@ "type": "boolean", "description": "Indicates whether to ignore the cluster cidr conflict error. Default is false.\n" }, + "ignoreServiceCidrConflict": { + "type": "boolean", + "description": "Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode.\n" + }, "isNonStaticIpMode": { "type": "boolean", "description": "Indicates whether non-static ip mode is enabled. Default is false.\n" @@ -167644,6 +173843,10 @@ "type": "string", "description": "The Intranet address used for access.\n" }, + "preStartUserScript": { + "type": "string", + "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n" + }, "projectId": { "type": "integer", "description": "Project ID, default value is 0.\n" @@ -167716,6 +173919,7 @@ "clusterNodeNum", "clusterVersion", "domain", + "ignoreServiceCidrConflict", "kubeConfig", "kubeConfigIntranet", "nodePoolGlobalConfigs", @@ -167745,6 +173949,10 @@ "description": "The number of basic pods. valid when enable_customized_pod_cidr=true.\n", "willReplaceOnChanges": true }, + "cdcId": { + "type": "string", + "description": "CDC ID.\n" + }, "claimExpiredSeconds": { "type": "integer", "description": "Claim expired seconds to recycle ENI. This field can only set when field `network_type` is 'VPC-CNI'. `claim_expired_seconds` must greater or equal than 300 and less than 15768000.\n" @@ -167900,6 +174108,11 @@ "description": "Indicates whether to ignore the cluster cidr conflict error. Default is false.\n", "willReplaceOnChanges": true }, + "ignoreServiceCidrConflict": { + "type": "boolean", + "description": "Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode.\n", + "willReplaceOnChanges": true + }, "isNonStaticIpMode": { "type": "boolean", "description": "Indicates whether non-static ip mode is enabled. Default is false.\n", @@ -167959,6 +174172,11 @@ }, "description": "Global config effective for all node pools.\n" }, + "preStartUserScript": { + "type": "string", + "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n", + "willReplaceOnChanges": true + }, "projectId": { "type": "integer", "description": "Project ID, default value is 0.\n" @@ -168029,6 +174247,10 @@ "description": "The number of basic pods. valid when enable_customized_pod_cidr=true.\n", "willReplaceOnChanges": true }, + "cdcId": { + "type": "string", + "description": "CDC ID.\n" + }, "certificationAuthority": { "type": "string", "description": "The certificate used for access.\n" @@ -168205,6 +174427,11 @@ "description": "Indicates whether to ignore the cluster cidr conflict error. Default is false.\n", "willReplaceOnChanges": true }, + "ignoreServiceCidrConflict": { + "type": "boolean", + "description": "Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode.\n", + "willReplaceOnChanges": true + }, "isNonStaticIpMode": { "type": "boolean", "description": "Indicates whether non-static ip mode is enabled. Default is false.\n", @@ -168280,6 +174507,11 @@ "type": "string", "description": "The Intranet address used for access.\n" }, + "preStartUserScript": { + "type": "string", + "description": "Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes.\n", + "willReplaceOnChanges": true + }, "projectId": { "type": "integer", "description": "Project ID, default value is 0.\n" @@ -168349,7 +174581,7 @@ } }, "tencentcloud:Kubernetes/clusterAttachment:ClusterAttachment": { - "description": "Provide a resource to attach an existing cvm to kubernetes cluster.\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 defaultInstance = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"centos\",\n});\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst defaultTypes = tencentcloud.Instance.getTypes({\n filters: [{\n name: \"instance-family\",\n values: [\"SA2\"],\n }],\n cpuCoreCount: 8,\n memorySize: 16,\n});\nconst foo = new tencentcloud.instance.Instance(\"foo\", {\n instanceName: \"tf-auto-test-1-1\",\n availabilityZone: availabilityZone,\n imageId: defaultInstance.then(defaultInstance =\u003e defaultInstance.images?.[0]?.imageId),\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n});\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: \"10.1.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"keep\",\n clusterDesc: \"test cluster desc\",\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 testAttach = new tencentcloud.kubernetes.ClusterAttachment(\"testAttach\", {\n clusterId: managedCluster.id,\n instanceId: foo.id,\n password: \"Lo4wbdit\",\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n workerConfigOverrides: {\n desiredPodNum: 8,\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.16.0.0/16\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\ndefault_instance = 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)\ndefault_types = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs(\n name=\"instance-family\",\n values=[\"SA2\"],\n )],\n cpu_core_count=8,\n memory_size=16)\nfoo = tencentcloud.instance.Instance(\"foo\",\n instance_name=\"tf-auto-test-1-1\",\n availability_zone=availability_zone,\n image_id=default_instance.images[0].image_id,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50)\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=\"10.1.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"keep\",\n cluster_desc=\"test cluster desc\",\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_attach = tencentcloud.kubernetes.ClusterAttachment(\"testAttach\",\n cluster_id=managed_cluster.id,\n instance_id=foo.id,\n password=\"Lo4wbdit\",\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n worker_config_overrides=tencentcloud.kubernetes.ClusterAttachmentWorkerConfigOverridesArgs(\n desired_pod_num=8,\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.16.0.0/16\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n var defaultInstance = 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 defaultTypes = Tencentcloud.Instance.GetTypes.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"instance-family\",\n Values = new[]\n {\n \"SA2\",\n },\n },\n },\n CpuCoreCount = 8,\n MemorySize = 16,\n });\n\n var foo = new Tencentcloud.Instance.Instance(\"foo\", new()\n {\n InstanceName = \"tf-auto-test-1-1\",\n AvailabilityZone = availabilityZone,\n ImageId = defaultInstance.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\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.1.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"keep\",\n ClusterDesc = \"test cluster desc\",\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 testAttach = new Tencentcloud.Kubernetes.ClusterAttachment(\"testAttach\", new()\n {\n ClusterId = managedCluster.Id,\n InstanceId = foo.Id,\n Password = \"Lo4wbdit\",\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n WorkerConfigOverrides = new Tencentcloud.Kubernetes.Inputs.ClusterAttachmentWorkerConfigOverridesArgs\n {\n DesiredPodNum = 8,\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/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance\"\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\tdefaultInstance, 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\t_, err = Instance.GetTypes(ctx, \u0026instance.GetTypesArgs{\n\t\t\tFilters: []instance.GetTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"SA2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCpuCoreCount: pulumi.IntRef(8),\n\t\t\tMemorySize: pulumi.IntRef(16),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := Instance.NewInstance(ctx, \"foo\", \u0026Instance.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-auto-test-1-1\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tImageId: pulumi.String(defaultInstance.Images[0].ImageId),\n\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t})\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.1.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\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.NewClusterAttachment(ctx, \"testAttach\", \u0026Kubernetes.ClusterAttachmentArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tInstanceId: foo.ID(),\n\t\t\tPassword: pulumi.String(\"Lo4wbdit\"),\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\tWorkerConfigOverrides: \u0026kubernetes.ClusterAttachmentWorkerConfigOverridesArgs{\n\t\t\t\tDesiredPodNum: pulumi.Int(8),\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.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.Instance.InstanceFunctions;\nimport com.pulumi.tencentcloud.Instance.inputs.GetTypesArgs;\nimport com.pulumi.tencentcloud.Instance.Instance;\nimport com.pulumi.tencentcloud.Instance.InstanceArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterAttachmentArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterAttachmentWorkerConfigOverridesArgs;\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 defaultInstance = 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 final var defaultTypes = InstanceFunctions.getTypes(GetTypesArgs.builder()\n .filters(GetTypesFilterArgs.builder()\n .name(\"instance-family\")\n .values(\"SA2\")\n .build())\n .cpuCoreCount(8)\n .memorySize(16)\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .instanceName(\"tf-auto-test-1-1\")\n .availabilityZone(availabilityZone)\n .imageId(defaultInstance.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(50)\n .build());\n\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(\"10.1.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"keep\")\n .clusterDesc(\"test cluster desc\")\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 testAttach = new ClusterAttachment(\"testAttach\", ClusterAttachmentArgs.builder() \n .clusterId(managedCluster.id())\n .instanceId(foo.id())\n .password(\"Lo4wbdit\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .workerConfigOverrides(ClusterAttachmentWorkerConfigOverridesArgs.builder()\n .desiredPodNum(8)\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.16.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n foo:\n type: tencentcloud:Instance:Instance\n properties:\n instanceName: tf-auto-test-1-1\n availabilityZone: ${availabilityZone}\n imageId: ${defaultInstance.images[0].imageId}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: 50\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: 10.1.0.0/16\n clusterMaxPodNum: 32\n clusterName: keep\n clusterDesc: test cluster desc\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 testAttach:\n type: tencentcloud:Kubernetes:ClusterAttachment\n properties:\n clusterId: ${managedCluster.id}\n instanceId: ${foo.id}\n password: Lo4wbdit\n labels:\n test1: test1\n test2: test2\n workerConfigOverrides:\n desiredPodNum: 8\nvariables:\n defaultInstance:\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 defaultTypes:\n fn::invoke:\n Function: tencentcloud:Instance:getTypes\n Arguments:\n filters:\n - name: instance-family\n values:\n - SA2\n cpuCoreCount: 8\n memorySize: 16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provide a resource to attach an existing cvm to kubernetes cluster.\n\n\u003e **NOTE:** Use `unschedulable` to set whether the join node participates in the schedule. The `is_schedule` of 'worker_config' and 'worker_config_overrides' was deprecated.\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 defaultInstance = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"centos\",\n});\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst defaultTypes = tencentcloud.Instance.getTypes({\n filters: [{\n name: \"instance-family\",\n values: [\"SA2\"],\n }],\n cpuCoreCount: 8,\n memorySize: 16,\n});\nconst foo = new tencentcloud.instance.Instance(\"foo\", {\n instanceName: \"tf-auto-test-1-1\",\n availabilityZone: availabilityZone,\n imageId: defaultInstance.then(defaultInstance =\u003e defaultInstance.images?.[0]?.imageId),\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n});\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: \"10.1.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"keep\",\n clusterDesc: \"test cluster desc\",\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 testAttach = new tencentcloud.kubernetes.ClusterAttachment(\"testAttach\", {\n clusterId: managedCluster.id,\n instanceId: foo.id,\n password: \"Lo4wbdit\",\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n workerConfigOverrides: {\n desiredPodNum: 8,\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.16.0.0/16\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\ndefault_instance = 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)\ndefault_types = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs(\n name=\"instance-family\",\n values=[\"SA2\"],\n )],\n cpu_core_count=8,\n memory_size=16)\nfoo = tencentcloud.instance.Instance(\"foo\",\n instance_name=\"tf-auto-test-1-1\",\n availability_zone=availability_zone,\n image_id=default_instance.images[0].image_id,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50)\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=\"10.1.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"keep\",\n cluster_desc=\"test cluster desc\",\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_attach = tencentcloud.kubernetes.ClusterAttachment(\"testAttach\",\n cluster_id=managed_cluster.id,\n instance_id=foo.id,\n password=\"Lo4wbdit\",\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n worker_config_overrides=tencentcloud.kubernetes.ClusterAttachmentWorkerConfigOverridesArgs(\n desired_pod_num=8,\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.16.0.0/16\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n var defaultInstance = 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 defaultTypes = Tencentcloud.Instance.GetTypes.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs\n {\n Name = \"instance-family\",\n Values = new[]\n {\n \"SA2\",\n },\n },\n },\n CpuCoreCount = 8,\n MemorySize = 16,\n });\n\n var foo = new Tencentcloud.Instance.Instance(\"foo\", new()\n {\n InstanceName = \"tf-auto-test-1-1\",\n AvailabilityZone = availabilityZone,\n ImageId = defaultInstance.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\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.1.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"keep\",\n ClusterDesc = \"test cluster desc\",\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 testAttach = new Tencentcloud.Kubernetes.ClusterAttachment(\"testAttach\", new()\n {\n ClusterId = managedCluster.Id,\n InstanceId = foo.Id,\n Password = \"Lo4wbdit\",\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n WorkerConfigOverrides = new Tencentcloud.Kubernetes.Inputs.ClusterAttachmentWorkerConfigOverridesArgs\n {\n DesiredPodNum = 8,\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/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance\"\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\tdefaultInstance, 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\t_, err = Instance.GetTypes(ctx, \u0026instance.GetTypesArgs{\n\t\t\tFilters: []instance.GetTypesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"instance-family\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"SA2\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCpuCoreCount: pulumi.IntRef(8),\n\t\t\tMemorySize: pulumi.IntRef(16),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := Instance.NewInstance(ctx, \"foo\", \u0026Instance.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-auto-test-1-1\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tImageId: pulumi.String(defaultInstance.Images[0].ImageId),\n\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t})\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.1.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\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.NewClusterAttachment(ctx, \"testAttach\", \u0026Kubernetes.ClusterAttachmentArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tInstanceId: foo.ID(),\n\t\t\tPassword: pulumi.String(\"Lo4wbdit\"),\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\tWorkerConfigOverrides: \u0026kubernetes.ClusterAttachmentWorkerConfigOverridesArgs{\n\t\t\t\tDesiredPodNum: pulumi.Int(8),\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.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.Instance.InstanceFunctions;\nimport com.pulumi.tencentcloud.Instance.inputs.GetTypesArgs;\nimport com.pulumi.tencentcloud.Instance.Instance;\nimport com.pulumi.tencentcloud.Instance.InstanceArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterAttachmentArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterAttachmentWorkerConfigOverridesArgs;\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 defaultInstance = 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 final var defaultTypes = InstanceFunctions.getTypes(GetTypesArgs.builder()\n .filters(GetTypesFilterArgs.builder()\n .name(\"instance-family\")\n .values(\"SA2\")\n .build())\n .cpuCoreCount(8)\n .memorySize(16)\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .instanceName(\"tf-auto-test-1-1\")\n .availabilityZone(availabilityZone)\n .imageId(defaultInstance.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(50)\n .build());\n\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(\"10.1.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"keep\")\n .clusterDesc(\"test cluster desc\")\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 testAttach = new ClusterAttachment(\"testAttach\", ClusterAttachmentArgs.builder() \n .clusterId(managedCluster.id())\n .instanceId(foo.id())\n .password(\"Lo4wbdit\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .workerConfigOverrides(ClusterAttachmentWorkerConfigOverridesArgs.builder()\n .desiredPodNum(8)\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.16.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n foo:\n type: tencentcloud:Instance:Instance\n properties:\n instanceName: tf-auto-test-1-1\n availabilityZone: ${availabilityZone}\n imageId: ${defaultInstance.images[0].imageId}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: 50\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: 10.1.0.0/16\n clusterMaxPodNum: 32\n clusterName: keep\n clusterDesc: test cluster desc\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 testAttach:\n type: tencentcloud:Kubernetes:ClusterAttachment\n properties:\n clusterId: ${managedCluster.id}\n instanceId: ${foo.id}\n password: Lo4wbdit\n labels:\n test1: test1\n test2: test2\n workerConfigOverrides:\n desiredPodNum: 8\nvariables:\n defaultInstance:\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 defaultTypes:\n fn::invoke:\n Function: tencentcloud:Instance:getTypes\n Arguments:\n filters:\n - name: instance-family\n values:\n - SA2\n cpuCoreCount: 8\n memorySize: 16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "clusterId": { "type": "string", @@ -168359,6 +174591,10 @@ "type": "string", "description": "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 (-).\n" }, + "imageId": { + "type": "string", + "description": "ID of Node image.\n" + }, "instanceId": { "type": "string", "description": "ID of the CVM instance, this cvm will reinstall the system.\n" @@ -168392,7 +174628,7 @@ }, "unschedulable": { "type": "integer", - "description": "Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling.\n" + "description": "Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling.\n" }, "workerConfig": { "$ref": "#/types/tencentcloud:Kubernetes/ClusterAttachmentWorkerConfig:ClusterAttachmentWorkerConfig", @@ -168405,6 +174641,7 @@ }, "required": [ "clusterId", + "imageId", "instanceId", "securityGroups", "state" @@ -168420,6 +174657,11 @@ "description": "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 (-).\n", "willReplaceOnChanges": true }, + "imageId": { + "type": "string", + "description": "ID of Node image.\n", + "willReplaceOnChanges": true + }, "instanceId": { "type": "string", "description": "ID of the CVM instance, this cvm will reinstall the system.\n", @@ -168446,7 +174688,7 @@ }, "unschedulable": { "type": "integer", - "description": "Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling.\n", + "description": "Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling.\n", "willReplaceOnChanges": true }, "workerConfig": { @@ -168477,6 +174719,11 @@ "description": "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 (-).\n", "willReplaceOnChanges": true }, + "imageId": { + "type": "string", + "description": "ID of Node image.\n", + "willReplaceOnChanges": true + }, "instanceId": { "type": "string", "description": "ID of the CVM instance, this cvm will reinstall the system.\n", @@ -168514,7 +174761,7 @@ }, "unschedulable": { "type": "integer", - "description": "Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling.\n", + "description": "Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling.\n", "willReplaceOnChanges": true }, "workerConfig": { @@ -168797,6 +175044,181 @@ "type": "object" } }, + "tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy": { + "description": "Provides a resource to create a tke kubernetes_health_check_policy\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 kubernetesHealthCheckPolicy = new tencentcloud.kubernetes.HealthCheckPolicy(\"kubernetesHealthCheckPolicy\", {\n clusterId: \"cls-xxxxx\",\n rules: [\n {\n autoRepairEnabled: true,\n enabled: true,\n name: \"OOMKilling\",\n },\n {\n autoRepairEnabled: true,\n enabled: true,\n name: \"KubeletUnhealthy\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nkubernetes_health_check_policy = tencentcloud.kubernetes.HealthCheckPolicy(\"kubernetesHealthCheckPolicy\",\n cluster_id=\"cls-xxxxx\",\n rules=[\n tencentcloud.kubernetes.HealthCheckPolicyRuleArgs(\n auto_repair_enabled=True,\n enabled=True,\n name=\"OOMKilling\",\n ),\n tencentcloud.kubernetes.HealthCheckPolicyRuleArgs(\n auto_repair_enabled=True,\n enabled=True,\n name=\"KubeletUnhealthy\",\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 kubernetesHealthCheckPolicy = new Tencentcloud.Kubernetes.HealthCheckPolicy(\"kubernetesHealthCheckPolicy\", new()\n {\n ClusterId = \"cls-xxxxx\",\n Rules = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.HealthCheckPolicyRuleArgs\n {\n AutoRepairEnabled = true,\n Enabled = true,\n Name = \"OOMKilling\",\n },\n new Tencentcloud.Kubernetes.Inputs.HealthCheckPolicyRuleArgs\n {\n AutoRepairEnabled = true,\n Enabled = true,\n Name = \"KubeletUnhealthy\",\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.NewHealthCheckPolicy(ctx, \"kubernetesHealthCheckPolicy\", \u0026Kubernetes.HealthCheckPolicyArgs{\n\t\t\tClusterId: pulumi.String(\"cls-xxxxx\"),\n\t\t\tRules: kubernetes.HealthCheckPolicyRuleArray{\n\t\t\t\t\u0026kubernetes.HealthCheckPolicyRuleArgs{\n\t\t\t\t\tAutoRepairEnabled: pulumi.Bool(true),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tName: pulumi.String(\"OOMKilling\"),\n\t\t\t\t},\n\t\t\t\t\u0026kubernetes.HealthCheckPolicyRuleArgs{\n\t\t\t\t\tAutoRepairEnabled: pulumi.Bool(true),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tName: pulumi.String(\"KubeletUnhealthy\"),\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.Kubernetes.HealthCheckPolicy;\nimport com.pulumi.tencentcloud.Kubernetes.HealthCheckPolicyArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.HealthCheckPolicyRuleArgs;\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 kubernetesHealthCheckPolicy = new HealthCheckPolicy(\"kubernetesHealthCheckPolicy\", HealthCheckPolicyArgs.builder() \n .clusterId(\"cls-xxxxx\")\n .rules( \n HealthCheckPolicyRuleArgs.builder()\n .autoRepairEnabled(true)\n .enabled(true)\n .name(\"OOMKilling\")\n .build(),\n HealthCheckPolicyRuleArgs.builder()\n .autoRepairEnabled(true)\n .enabled(true)\n .name(\"KubeletUnhealthy\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kubernetesHealthCheckPolicy:\n type: tencentcloud:Kubernetes:HealthCheckPolicy\n properties:\n clusterId: cls-xxxxx\n rules:\n - autoRepairEnabled: true\n enabled: true\n name: OOMKilling\n - autoRepairEnabled: true\n enabled: true\n name: KubeletUnhealthy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke kubernetes_health_check_policy can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy kubernetes_health_check_policy cls-xxxxx#healthcheckpolicyname\n```\n\n", + "properties": { + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, + "name": { + "type": "string", + "description": "Health Check Policy Name.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/HealthCheckPolicyRule:HealthCheckPolicyRule" + }, + "description": "Health check policy rule list.\n" + } + }, + "required": [ + "clusterId", + "name", + "rules" + ], + "inputProperties": { + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, + "name": { + "type": "string", + "description": "Health Check Policy Name.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/HealthCheckPolicyRule:HealthCheckPolicyRule" + }, + "description": "Health check policy rule list.\n" + } + }, + "requiredInputs": [ + "clusterId", + "rules" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering HealthCheckPolicy resources.\n", + "properties": { + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, + "name": { + "type": "string", + "description": "Health Check Policy Name.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/HealthCheckPolicyRule:HealthCheckPolicyRule" + }, + "description": "Health check policy rule list.\n" + } + }, + "type": "object" + } + }, + "tencentcloud:Kubernetes/logConfig:LogConfig": { + "description": "Provides a resource to create a tke kubernetes_log_config\n\n## Example Usage\n\n### Create a cls log 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 vpcOne = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: \"ap-guangzhou-3\",\n});\nconst firstVpcId = vpcOne.then(vpcOne =\u003e vpcOne.instanceLists?.[0]?.vpcId);\nconst firstSubnetId = vpcOne.then(vpcOne =\u003e vpcOne.instanceLists?.[0]?.subnetId);\nconst gz = tencentcloud.Availability.getZonesByProduct({\n name: \"ap-guangzhou-3\",\n product: \"ckafka\",\n});\nconst zoneId = gz.then(gz =\u003e gz.zones?.[0]?.id);\nconst config = new pulumi.Config();\nconst exampleClusterCidr = config.get(\"exampleClusterCidr\") || \"10.31.0.0/16\";\nconst example = new tencentcloud.kubernetes.Cluster(\"example\", {\n vpcId: firstVpcId,\n clusterCidr: exampleClusterCidr,\n clusterMaxPodNum: 32,\n clusterName: \"tf_example_cluster\",\n clusterDesc: \"example for tke cluster\",\n clusterMaxServiceNum: 32,\n clusterInternet: false,\n clusterVersion: \"1.22.5\",\n clusterOs: \"tlinux2.2(tkernel3)x86_64\",\n clusterDeployType: \"MANAGED_CLUSTER\",\n logAgent: {\n enabled: true,\n },\n});\n// without any worker config\nconst logset = new tencentcloud.cls.Logset(\"logset\", {\n logsetName: \"tf-test-example\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst kubernetesLogConfigCls = new tencentcloud.kubernetes.LogConfig(\"kubernetesLogConfigCls\", {\n logConfigName: \"tf-test-cls\",\n clusterId: example.id,\n logsetId: logset.id,\n logConfig: JSON.stringify({\n apiVersion: \"cls.cloud.tencent.com/v1\",\n kind: \"LogConfig\",\n metadata: {\n name: \"tf-test-cls\",\n },\n spec: {\n clsDetail: {\n extractRule: {\n backtracking: \"0\",\n isGBK: \"false\",\n jsonStandard: \"false\",\n unMatchUpload: \"false\",\n },\n indexs: [\n {\n indexName: \"namespace\",\n },\n {\n indexName: \"pod_name\",\n },\n {\n indexName: \"container_name\",\n },\n ],\n logFormat: \"default\",\n logType: \"minimalist_log\",\n maxSplitPartitions: 0,\n region: \"ap-guangzhou\",\n storageType: \"\",\n },\n inputDetail: {\n containerStdout: {\n metadataContainer: [\n \"namespace\",\n \"pod_name\",\n \"pod_ip\",\n \"pod_uid\",\n \"container_id\",\n \"container_name\",\n \"image_name\",\n \"cluster_id\",\n ],\n nsLabelSelector: \"\",\n workloads: [{\n kind: \"deployment\",\n name: \"testlog1\",\n namespace: \"default\",\n }],\n },\n type: \"container_stdout\",\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc_one = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=\"ap-guangzhou-3\")\nfirst_vpc_id = vpc_one.instance_lists[0].vpc_id\nfirst_subnet_id = vpc_one.instance_lists[0].subnet_id\ngz = tencentcloud.Availability.get_zones_by_product(name=\"ap-guangzhou-3\",\n product=\"ckafka\")\nzone_id = gz.zones[0].id\nconfig = pulumi.Config()\nexample_cluster_cidr = config.get(\"exampleClusterCidr\")\nif example_cluster_cidr is None:\n example_cluster_cidr = \"10.31.0.0/16\"\nexample = tencentcloud.kubernetes.Cluster(\"example\",\n vpc_id=first_vpc_id,\n cluster_cidr=example_cluster_cidr,\n cluster_max_pod_num=32,\n cluster_name=\"tf_example_cluster\",\n cluster_desc=\"example for tke cluster\",\n cluster_max_service_num=32,\n cluster_internet=False,\n cluster_version=\"1.22.5\",\n cluster_os=\"tlinux2.2(tkernel3)x86_64\",\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n log_agent=tencentcloud.kubernetes.ClusterLogAgentArgs(\n enabled=True,\n ))\n# without any worker config\nlogset = tencentcloud.cls.Logset(\"logset\",\n logset_name=\"tf-test-example\",\n tags={\n \"createdBy\": \"terraform\",\n })\nkubernetes_log_config_cls = tencentcloud.kubernetes.LogConfig(\"kubernetesLogConfigCls\",\n log_config_name=\"tf-test-cls\",\n cluster_id=example.id,\n logset_id=logset.id,\n log_config=json.dumps({\n \"apiVersion\": \"cls.cloud.tencent.com/v1\",\n \"kind\": \"LogConfig\",\n \"metadata\": {\n \"name\": \"tf-test-cls\",\n },\n \"spec\": {\n \"clsDetail\": {\n \"extractRule\": {\n \"backtracking\": \"0\",\n \"isGBK\": \"false\",\n \"jsonStandard\": \"false\",\n \"unMatchUpload\": \"false\",\n },\n \"indexs\": [\n {\n \"indexName\": \"namespace\",\n },\n {\n \"indexName\": \"pod_name\",\n },\n {\n \"indexName\": \"container_name\",\n },\n ],\n \"logFormat\": \"default\",\n \"logType\": \"minimalist_log\",\n \"maxSplitPartitions\": 0,\n \"region\": \"ap-guangzhou\",\n \"storageType\": \"\",\n },\n \"inputDetail\": {\n \"containerStdout\": {\n \"metadataContainer\": [\n \"namespace\",\n \"pod_name\",\n \"pod_ip\",\n \"pod_uid\",\n \"container_id\",\n \"container_name\",\n \"image_name\",\n \"cluster_id\",\n ],\n \"nsLabelSelector\": \"\",\n \"workloads\": [{\n \"kind\": \"deployment\",\n \"name\": \"testlog1\",\n \"namespace\": \"default\",\n }],\n },\n \"type\": \"container_stdout\",\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpcOne = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = \"ap-guangzhou-3\",\n });\n\n var firstVpcId = vpcOne.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId);\n\n var firstSubnetId = vpcOne.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId);\n\n var gz = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Name = \"ap-guangzhou-3\",\n Product = \"ckafka\",\n });\n\n var zoneId = gz.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Id);\n\n var config = new Config();\n var exampleClusterCidr = config.Get(\"exampleClusterCidr\") ?? \"10.31.0.0/16\";\n var example = new Tencentcloud.Kubernetes.Cluster(\"example\", new()\n {\n VpcId = firstVpcId,\n ClusterCidr = exampleClusterCidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"tf_example_cluster\",\n ClusterDesc = \"example for tke cluster\",\n ClusterMaxServiceNum = 32,\n ClusterInternet = false,\n ClusterVersion = \"1.22.5\",\n ClusterOs = \"tlinux2.2(tkernel3)x86_64\",\n ClusterDeployType = \"MANAGED_CLUSTER\",\n LogAgent = new Tencentcloud.Kubernetes.Inputs.ClusterLogAgentArgs\n {\n Enabled = true,\n },\n });\n\n // without any worker config\n var logset = new Tencentcloud.Cls.Logset(\"logset\", new()\n {\n LogsetName = \"tf-test-example\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var kubernetesLogConfigCls = new Tencentcloud.Kubernetes.LogConfig(\"kubernetesLogConfigCls\", new()\n {\n LogConfigName = \"tf-test-cls\",\n ClusterId = example.Id,\n LogsetId = logset.Id,\n KubernetesLogConfig = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"apiVersion\"] = \"cls.cloud.tencent.com/v1\",\n [\"kind\"] = \"LogConfig\",\n [\"metadata\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"tf-test-cls\",\n },\n [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"clsDetail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"extractRule\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"backtracking\"] = \"0\",\n [\"isGBK\"] = \"false\",\n [\"jsonStandard\"] = \"false\",\n [\"unMatchUpload\"] = \"false\",\n },\n [\"indexs\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"indexName\"] = \"namespace\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"indexName\"] = \"pod_name\",\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"indexName\"] = \"container_name\",\n },\n },\n [\"logFormat\"] = \"default\",\n [\"logType\"] = \"minimalist_log\",\n [\"maxSplitPartitions\"] = 0,\n [\"region\"] = \"ap-guangzhou\",\n [\"storageType\"] = \"\",\n },\n [\"inputDetail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"containerStdout\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"metadataContainer\"] = new[]\n {\n \"namespace\",\n \"pod_name\",\n \"pod_ip\",\n \"pod_uid\",\n \"container_id\",\n \"container_name\",\n \"image_name\",\n \"cluster_id\",\n },\n [\"nsLabelSelector\"] = \"\",\n [\"workloads\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"kind\"] = \"deployment\",\n [\"name\"] = \"testlog1\",\n [\"namespace\"] = \"default\",\n },\n },\n },\n [\"type\"] = \"container_stdout\",\n },\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\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/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls\"\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\tvpcOne, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(\"ap-guangzhou-3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirstVpcId := vpcOne.InstanceLists[0].VpcId\n\t\t_ := vpcOne.InstanceLists[0].SubnetId\n\t\tgz, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tName: pulumi.StringRef(\"ap-guangzhou-3\"),\n\t\t\tProduct: \"ckafka\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ := gz.Zones[0].Id\n\t\tcfg := config.New(ctx, \"\")\n\t\texampleClusterCidr := \"10.31.0.0/16\"\n\t\tif param := cfg.Get(\"exampleClusterCidr\"); param != \"\" {\n\t\t\texampleClusterCidr = param\n\t\t}\n\t\texample, err := Kubernetes.NewCluster(ctx, \"example\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(firstVpcId),\n\t\t\tClusterCidr: pulumi.String(exampleClusterCidr),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"tf_example_cluster\"),\n\t\t\tClusterDesc: pulumi.String(\"example for tke cluster\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterInternet: pulumi.Bool(false),\n\t\t\tClusterVersion: pulumi.String(\"1.22.5\"),\n\t\t\tClusterOs: pulumi.String(\"tlinux2.2(tkernel3)x86_64\"),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tLogAgent: \u0026kubernetes.ClusterLogAgentArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlogset, err := Cls.NewLogset(ctx, \"logset\", \u0026Cls.LogsetArgs{\n\t\t\tLogsetName: pulumi.String(\"tf-test-example\"),\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\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"apiVersion\": \"cls.cloud.tencent.com/v1\",\n\t\t\t\"kind\": \"LogConfig\",\n\t\t\t\"metadata\": map[string]interface{}{\n\t\t\t\t\"name\": \"tf-test-cls\",\n\t\t\t},\n\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\"clsDetail\": map[string]interface{}{\n\t\t\t\t\t\"extractRule\": map[string]interface{}{\n\t\t\t\t\t\t\"backtracking\": \"0\",\n\t\t\t\t\t\t\"isGBK\": \"false\",\n\t\t\t\t\t\t\"jsonStandard\": \"false\",\n\t\t\t\t\t\t\"unMatchUpload\": \"false\",\n\t\t\t\t\t},\n\t\t\t\t\t\"indexs\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"indexName\": \"namespace\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"indexName\": \"pod_name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"indexName\": \"container_name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"logFormat\": \"default\",\n\t\t\t\t\t\"logType\": \"minimalist_log\",\n\t\t\t\t\t\"maxSplitPartitions\": 0,\n\t\t\t\t\t\"region\": \"ap-guangzhou\",\n\t\t\t\t\t\"storageType\": \"\",\n\t\t\t\t},\n\t\t\t\t\"inputDetail\": map[string]interface{}{\n\t\t\t\t\t\"containerStdout\": map[string]interface{}{\n\t\t\t\t\t\t\"metadataContainer\": []string{\n\t\t\t\t\t\t\t\"namespace\",\n\t\t\t\t\t\t\t\"pod_name\",\n\t\t\t\t\t\t\t\"pod_ip\",\n\t\t\t\t\t\t\t\"pod_uid\",\n\t\t\t\t\t\t\t\"container_id\",\n\t\t\t\t\t\t\t\"container_name\",\n\t\t\t\t\t\t\t\"image_name\",\n\t\t\t\t\t\t\t\"cluster_id\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"nsLabelSelector\": \"\",\n\t\t\t\t\t\t\"workloads\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"kind\": \"deployment\",\n\t\t\t\t\t\t\t\t\"name\": \"testlog1\",\n\t\t\t\t\t\t\t\t\"namespace\": \"default\",\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\t\"type\": \"container_stdout\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = Kubernetes.NewLogConfig(ctx, \"kubernetesLogConfigCls\", \u0026Kubernetes.LogConfigArgs{\n\t\t\tLogConfigName: pulumi.String(\"tf-test-cls\"),\n\t\t\tClusterId: example.ID(),\n\t\t\tLogsetId: logset.ID(),\n\t\t\tLogConfig: pulumi.String(json0),\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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterLogAgentArgs;\nimport com.pulumi.tencentcloud.Cls.Logset;\nimport com.pulumi.tencentcloud.Cls.LogsetArgs;\nimport com.pulumi.tencentcloud.Kubernetes.LogConfig;\nimport com.pulumi.tencentcloud.Kubernetes.LogConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var vpcOne = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(\"ap-guangzhou-3\")\n .build());\n\n final var firstVpcId = vpcOne.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId());\n\n final var firstSubnetId = vpcOne.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId());\n\n final var gz = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .name(\"ap-guangzhou-3\")\n .product(\"ckafka\")\n .build());\n\n final var zoneId = gz.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].id());\n\n final var exampleClusterCidr = config.get(\"exampleClusterCidr\").orElse(\"10.31.0.0/16\");\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .vpcId(firstVpcId)\n .clusterCidr(exampleClusterCidr)\n .clusterMaxPodNum(32)\n .clusterName(\"tf_example_cluster\")\n .clusterDesc(\"example for tke cluster\")\n .clusterMaxServiceNum(32)\n .clusterInternet(false)\n .clusterVersion(\"1.22.5\")\n .clusterOs(\"tlinux2.2(tkernel3)x86_64\")\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .logAgent(ClusterLogAgentArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n // without any worker config\n var logset = new Logset(\"logset\", LogsetArgs.builder() \n .logsetName(\"tf-test-example\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var kubernetesLogConfigCls = new LogConfig(\"kubernetesLogConfigCls\", LogConfigArgs.builder() \n .logConfigName(\"tf-test-cls\")\n .clusterId(example.id())\n .logsetId(logset.id())\n .logConfig(serializeJson(\n jsonObject(\n jsonProperty(\"apiVersion\", \"cls.cloud.tencent.com/v1\"),\n jsonProperty(\"kind\", \"LogConfig\"),\n jsonProperty(\"metadata\", jsonObject(\n jsonProperty(\"name\", \"tf-test-cls\")\n )),\n jsonProperty(\"spec\", jsonObject(\n jsonProperty(\"clsDetail\", jsonObject(\n jsonProperty(\"extractRule\", jsonObject(\n jsonProperty(\"backtracking\", \"0\"),\n jsonProperty(\"isGBK\", \"false\"),\n jsonProperty(\"jsonStandard\", \"false\"),\n jsonProperty(\"unMatchUpload\", \"false\")\n )),\n jsonProperty(\"indexs\", jsonArray(\n jsonObject(\n jsonProperty(\"indexName\", \"namespace\")\n ), \n jsonObject(\n jsonProperty(\"indexName\", \"pod_name\")\n ), \n jsonObject(\n jsonProperty(\"indexName\", \"container_name\")\n )\n )),\n jsonProperty(\"logFormat\", \"default\"),\n jsonProperty(\"logType\", \"minimalist_log\"),\n jsonProperty(\"maxSplitPartitions\", 0),\n jsonProperty(\"region\", \"ap-guangzhou\"),\n jsonProperty(\"storageType\", \"\")\n )),\n jsonProperty(\"inputDetail\", jsonObject(\n jsonProperty(\"containerStdout\", jsonObject(\n jsonProperty(\"metadataContainer\", jsonArray(\n \"namespace\", \n \"pod_name\", \n \"pod_ip\", \n \"pod_uid\", \n \"container_id\", \n \"container_name\", \n \"image_name\", \n \"cluster_id\"\n )),\n jsonProperty(\"nsLabelSelector\", \"\"),\n jsonProperty(\"workloads\", jsonArray(jsonObject(\n jsonProperty(\"kind\", \"deployment\"),\n jsonProperty(\"name\", \"testlog1\"),\n jsonProperty(\"namespace\", \"default\")\n )))\n )),\n jsonProperty(\"type\", \"container_stdout\")\n ))\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n exampleClusterCidr:\n type: string\n default: 10.31.0.0/16\nresources:\n example:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${firstVpcId}\n clusterCidr: ${exampleClusterCidr}\n clusterMaxPodNum: 32\n clusterName: tf_example_cluster\n clusterDesc: example for tke cluster\n clusterMaxServiceNum: 32\n clusterInternet: false\n # (can be ignored) open it after the nodes added\n clusterVersion: 1.22.5\n clusterOs: tlinux2.2(tkernel3)x86_64\n clusterDeployType: MANAGED_CLUSTER\n logAgent:\n enabled: true\n logset:\n type: tencentcloud:Cls:Logset\n properties:\n logsetName: tf-test-example\n tags:\n createdBy: terraform\n kubernetesLogConfigCls:\n type: tencentcloud:Kubernetes:LogConfig\n properties:\n logConfigName: tf-test-cls\n clusterId: ${example.id}\n logsetId: ${logset.id}\n logConfig:\n fn::toJSON:\n apiVersion: cls.cloud.tencent.com/v1\n kind: LogConfig\n metadata:\n name: tf-test-cls\n spec:\n clsDetail:\n extractRule:\n backtracking: '0'\n isGBK: 'false'\n jsonStandard: 'false'\n unMatchUpload: 'false'\n indexs:\n - indexName: namespace\n - indexName: pod_name\n - indexName: container_name\n logFormat: default\n logType: minimalist_log\n maxSplitPartitions: 0\n region: ap-guangzhou\n storageType:\n inputDetail:\n containerStdout:\n metadataContainer:\n - namespace\n - pod_name\n - pod_ip\n - pod_uid\n - container_id\n - container_name\n - image_name\n - cluster_id\n nsLabelSelector:\n workloads:\n - kind: deployment\n name: testlog1\n namespace: default\n type: container_stdout\nvariables:\n firstVpcId: ${vpcOne.instanceLists[0].vpcId}\n firstSubnetId: ${vpcOne.instanceLists[0].subnetId}\n zoneId: ${gz.zones[0].id}\n vpcOne:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ap-guangzhou-3\n gz:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n name: ap-guangzhou-3\n product: ckafka\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a ckafka log config\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.ckafka.Instance(\"exampleInstance\", {\n instanceName: \"ckafka-instance-postpaid\",\n zoneId: local.zone_id,\n vpcId: local.first_vpc_id,\n subnetId: local.first_subnet_id,\n msgRetentionTime: 1300,\n kafkaVersion: \"1.1.1\",\n diskSize: 500,\n bandWidth: 20,\n diskType: \"CLOUD_BASIC\",\n partition: 400,\n chargeType: \"POSTPAID_BY_HOUR\",\n config: {\n autoCreateTopicEnable: true,\n defaultNumPartitions: 3,\n defaultReplicationFactor: 3,\n },\n dynamicRetentionConfig: {\n enable: 1,\n },\n});\nconst exampleTopic = new tencentcloud.ckafka.Topic(\"exampleTopic\", {\n instanceId: exampleInstance.id,\n topicName: \"tmp\",\n note: \"topic note\",\n replicaNum: 2,\n partitionNum: 1,\n cleanUpPolicy: \"delete\",\n syncReplicaMinNum: 1,\n uncleanLeaderElectionEnable: false,\n retention: 60000,\n});\nconst ckafkaTopic = exampleTopic.topicName;\nconst kubernetesLogConfigCkafka = new tencentcloud.kubernetes.LogConfig(\"kubernetesLogConfigCkafka\", {\n logConfigName: \"tf-test-ckafka\",\n clusterId: tencentcloud_kubernetes_cluster.example.id,\n logsetId: tencentcloud_cls_logset.logset.id,\n logConfig: pulumi.jsonStringify({\n apiVersion: \"cls.cloud.tencent.com/v1\",\n kind: \"LogConfig\",\n metadata: {\n name: \"tf-test-ckafka\",\n },\n spec: {\n inputDetail: {\n containerStdout: {\n allContainers: true,\n namespace: \"default\",\n nsLabelSelector: \"\",\n },\n type: \"container_stdout\",\n },\n kafkaDetail: {\n brokers: \"172.16.0.30:9092\",\n extractRule: {},\n instanceId: \"\",\n kafkaType: \"SelfBuildKafka\",\n logType: \"minimalist_log\",\n messageKey: {\n value: \"\",\n valueFrom: {\n fieldRef: {\n fieldPath: \"\",\n },\n },\n },\n metadata: {},\n timestampFormat: \"double\",\n timestampKey: \"\",\n topic: ckafkaTopic,\n },\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.ckafka.Instance(\"exampleInstance\",\n instance_name=\"ckafka-instance-postpaid\",\n zone_id=local[\"zone_id\"],\n vpc_id=local[\"first_vpc_id\"],\n subnet_id=local[\"first_subnet_id\"],\n msg_retention_time=1300,\n kafka_version=\"1.1.1\",\n disk_size=500,\n band_width=20,\n disk_type=\"CLOUD_BASIC\",\n partition=400,\n charge_type=\"POSTPAID_BY_HOUR\",\n config=tencentcloud.ckafka.InstanceConfigArgs(\n auto_create_topic_enable=True,\n default_num_partitions=3,\n default_replication_factor=3,\n ),\n dynamic_retention_config=tencentcloud.ckafka.InstanceDynamicRetentionConfigArgs(\n enable=1,\n ))\nexample_topic = tencentcloud.ckafka.Topic(\"exampleTopic\",\n instance_id=example_instance.id,\n topic_name=\"tmp\",\n note=\"topic note\",\n replica_num=2,\n partition_num=1,\n clean_up_policy=\"delete\",\n sync_replica_min_num=1,\n unclean_leader_election_enable=False,\n retention=60000)\nckafka_topic = example_topic.topic_name\nkubernetes_log_config_ckafka = tencentcloud.kubernetes.LogConfig(\"kubernetesLogConfigCkafka\",\n log_config_name=\"tf-test-ckafka\",\n cluster_id=tencentcloud_kubernetes_cluster[\"example\"][\"id\"],\n logset_id=tencentcloud_cls_logset[\"logset\"][\"id\"],\n log_config=pulumi.Output.json_dumps({\n \"apiVersion\": \"cls.cloud.tencent.com/v1\",\n \"kind\": \"LogConfig\",\n \"metadata\": {\n \"name\": \"tf-test-ckafka\",\n },\n \"spec\": {\n \"inputDetail\": {\n \"containerStdout\": {\n \"allContainers\": True,\n \"namespace\": \"default\",\n \"nsLabelSelector\": \"\",\n },\n \"type\": \"container_stdout\",\n },\n \"kafkaDetail\": {\n \"brokers\": \"172.16.0.30:9092\",\n \"extractRule\": {},\n \"instanceId\": \"\",\n \"kafkaType\": \"SelfBuildKafka\",\n \"logType\": \"minimalist_log\",\n \"messageKey\": {\n \"value\": \"\",\n \"valueFrom\": {\n \"fieldRef\": {\n \"fieldPath\": \"\",\n },\n },\n },\n \"metadata\": {},\n \"timestampFormat\": \"double\",\n \"timestampKey\": \"\",\n \"topic\": ckafka_topic,\n },\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Ckafka.Instance(\"exampleInstance\", new()\n {\n InstanceName = \"ckafka-instance-postpaid\",\n ZoneId = local.Zone_id,\n VpcId = local.First_vpc_id,\n SubnetId = local.First_subnet_id,\n MsgRetentionTime = 1300,\n KafkaVersion = \"1.1.1\",\n DiskSize = 500,\n BandWidth = 20,\n DiskType = \"CLOUD_BASIC\",\n Partition = 400,\n ChargeType = \"POSTPAID_BY_HOUR\",\n Config = new Tencentcloud.Ckafka.Inputs.InstanceConfigArgs\n {\n AutoCreateTopicEnable = true,\n DefaultNumPartitions = 3,\n DefaultReplicationFactor = 3,\n },\n DynamicRetentionConfig = new Tencentcloud.Ckafka.Inputs.InstanceDynamicRetentionConfigArgs\n {\n Enable = 1,\n },\n });\n\n var exampleTopic = new Tencentcloud.Ckafka.Topic(\"exampleTopic\", new()\n {\n InstanceId = exampleInstance.Id,\n TopicName = \"tmp\",\n Note = \"topic note\",\n ReplicaNum = 2,\n PartitionNum = 1,\n CleanUpPolicy = \"delete\",\n SyncReplicaMinNum = 1,\n UncleanLeaderElectionEnable = false,\n Retention = 60000,\n });\n\n var ckafkaTopic = exampleTopic.TopicName;\n\n var kubernetesLogConfigCkafka = new Tencentcloud.Kubernetes.LogConfig(\"kubernetesLogConfigCkafka\", new()\n {\n LogConfigName = \"tf-test-ckafka\",\n ClusterId = tencentcloud_kubernetes_cluster.Example.Id,\n LogsetId = tencentcloud_cls_logset.Logset.Id,\n KubernetesLogConfig = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"apiVersion\"] = \"cls.cloud.tencent.com/v1\",\n [\"kind\"] = \"LogConfig\",\n [\"metadata\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"tf-test-ckafka\",\n },\n [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"inputDetail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"containerStdout\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"allContainers\"] = true,\n [\"namespace\"] = \"default\",\n [\"nsLabelSelector\"] = \"\",\n },\n [\"type\"] = \"container_stdout\",\n },\n [\"kafkaDetail\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"brokers\"] = \"172.16.0.30:9092\",\n [\"extractRule\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"instanceId\"] = \"\",\n [\"kafkaType\"] = \"SelfBuildKafka\",\n [\"logType\"] = \"minimalist_log\",\n [\"messageKey\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"value\"] = \"\",\n [\"valueFrom\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fieldRef\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fieldPath\"] = \"\",\n },\n },\n },\n [\"metadata\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n [\"timestampFormat\"] = \"double\",\n [\"timestampKey\"] = \"\",\n [\"topic\"] = ckafkaTopic,\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ckafka\"\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\texampleInstance, err := Ckafka.NewInstance(ctx, \"exampleInstance\", \u0026Ckafka.InstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"ckafka-instance-postpaid\"),\n\t\t\tZoneId: pulumi.Any(local.Zone_id),\n\t\t\tVpcId: pulumi.Any(local.First_vpc_id),\n\t\t\tSubnetId: pulumi.Any(local.First_subnet_id),\n\t\t\tMsgRetentionTime: pulumi.Int(1300),\n\t\t\tKafkaVersion: pulumi.String(\"1.1.1\"),\n\t\t\tDiskSize: pulumi.Int(500),\n\t\t\tBandWidth: pulumi.Int(20),\n\t\t\tDiskType: pulumi.String(\"CLOUD_BASIC\"),\n\t\t\tPartition: pulumi.Int(400),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tConfig: \u0026ckafka.InstanceConfigArgs{\n\t\t\t\tAutoCreateTopicEnable: pulumi.Bool(true),\n\t\t\t\tDefaultNumPartitions: pulumi.Int(3),\n\t\t\t\tDefaultReplicationFactor: pulumi.Int(3),\n\t\t\t},\n\t\t\tDynamicRetentionConfig: \u0026ckafka.InstanceDynamicRetentionConfigArgs{\n\t\t\t\tEnable: pulumi.Int(1),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTopic, err := Ckafka.NewTopic(ctx, \"exampleTopic\", \u0026Ckafka.TopicArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tTopicName: pulumi.String(\"tmp\"),\n\t\t\tNote: pulumi.String(\"topic note\"),\n\t\t\tReplicaNum: pulumi.Int(2),\n\t\t\tPartitionNum: pulumi.Int(1),\n\t\t\tCleanUpPolicy: pulumi.String(\"delete\"),\n\t\t\tSyncReplicaMinNum: pulumi.Int(1),\n\t\t\tUncleanLeaderElectionEnable: pulumi.Bool(false),\n\t\t\tRetention: pulumi.Int(60000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tckafkaTopic := exampleTopic.TopicName\n\t\t_, err = Kubernetes.NewLogConfig(ctx, \"kubernetesLogConfigCkafka\", \u0026Kubernetes.LogConfigArgs{\n\t\t\tLogConfigName: pulumi.String(\"tf-test-ckafka\"),\n\t\t\tClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Example.Id),\n\t\t\tLogsetId: pulumi.Any(tencentcloud_cls_logset.Logset.Id),\n\t\t\tLogConfig: ckafkaTopic.ApplyT(func(ckafkaTopic string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"apiVersion\": \"cls.cloud.tencent.com/v1\",\n\t\t\t\t\t\"kind\": \"LogConfig\",\n\t\t\t\t\t\"metadata\": map[string]interface{}{\n\t\t\t\t\t\t\"name\": \"tf-test-ckafka\",\n\t\t\t\t\t},\n\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\"inputDetail\": map[string]interface{}{\n\t\t\t\t\t\t\t\"containerStdout\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"allContainers\": true,\n\t\t\t\t\t\t\t\t\"namespace\": \"default\",\n\t\t\t\t\t\t\t\t\"nsLabelSelector\": \"\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"type\": \"container_stdout\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"kafkaDetail\": map[string]interface{}{\n\t\t\t\t\t\t\t\"brokers\": \"172.16.0.30:9092\",\n\t\t\t\t\t\t\t\"extractRule\": nil,\n\t\t\t\t\t\t\t\"instanceId\": \"\",\n\t\t\t\t\t\t\t\"kafkaType\": \"SelfBuildKafka\",\n\t\t\t\t\t\t\t\"logType\": \"minimalist_log\",\n\t\t\t\t\t\t\t\"messageKey\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"value\": \"\",\n\t\t\t\t\t\t\t\t\"valueFrom\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"fieldRef\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\t\"fieldPath\": \"\",\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\t\"metadata\": nil,\n\t\t\t\t\t\t\t\"timestampFormat\": \"double\",\n\t\t\t\t\t\t\t\"timestampKey\": \"\",\n\t\t\t\t\t\t\t\"topic\": ckafkaTopic,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), nil\n\t\t\t}).(pulumi.StringOutput),\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.Ckafka.Instance;\nimport com.pulumi.tencentcloud.Ckafka.InstanceArgs;\nimport com.pulumi.tencentcloud.Ckafka.inputs.InstanceConfigArgs;\nimport com.pulumi.tencentcloud.Ckafka.inputs.InstanceDynamicRetentionConfigArgs;\nimport com.pulumi.tencentcloud.Ckafka.Topic;\nimport com.pulumi.tencentcloud.Ckafka.TopicArgs;\nimport com.pulumi.tencentcloud.Kubernetes.LogConfig;\nimport com.pulumi.tencentcloud.Kubernetes.LogConfigArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .instanceName(\"ckafka-instance-postpaid\")\n .zoneId(local.zone_id())\n .vpcId(local.first_vpc_id())\n .subnetId(local.first_subnet_id())\n .msgRetentionTime(1300)\n .kafkaVersion(\"1.1.1\")\n .diskSize(500)\n .bandWidth(20)\n .diskType(\"CLOUD_BASIC\")\n .partition(400)\n .chargeType(\"POSTPAID_BY_HOUR\")\n .config(InstanceConfigArgs.builder()\n .autoCreateTopicEnable(true)\n .defaultNumPartitions(3)\n .defaultReplicationFactor(3)\n .build())\n .dynamicRetentionConfig(InstanceDynamicRetentionConfigArgs.builder()\n .enable(1)\n .build())\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .instanceId(exampleInstance.id())\n .topicName(\"tmp\")\n .note(\"topic note\")\n .replicaNum(2)\n .partitionNum(1)\n .cleanUpPolicy(\"delete\")\n .syncReplicaMinNum(1)\n .uncleanLeaderElectionEnable(false)\n .retention(60000)\n .build());\n\n final var ckafkaTopic = exampleTopic.topicName();\n\n var kubernetesLogConfigCkafka = new LogConfig(\"kubernetesLogConfigCkafka\", LogConfigArgs.builder() \n .logConfigName(\"tf-test-ckafka\")\n .clusterId(tencentcloud_kubernetes_cluster.example().id())\n .logsetId(tencentcloud_cls_logset.logset().id())\n .logConfig(ckafkaTopic.applyValue(ckafkaTopic -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"apiVersion\", \"cls.cloud.tencent.com/v1\"),\n jsonProperty(\"kind\", \"LogConfig\"),\n jsonProperty(\"metadata\", jsonObject(\n jsonProperty(\"name\", \"tf-test-ckafka\")\n )),\n jsonProperty(\"spec\", jsonObject(\n jsonProperty(\"inputDetail\", jsonObject(\n jsonProperty(\"containerStdout\", jsonObject(\n jsonProperty(\"allContainers\", true),\n jsonProperty(\"namespace\", \"default\"),\n jsonProperty(\"nsLabelSelector\", \"\")\n )),\n jsonProperty(\"type\", \"container_stdout\")\n )),\n jsonProperty(\"kafkaDetail\", jsonObject(\n jsonProperty(\"brokers\", \"172.16.0.30:9092\"),\n jsonProperty(\"extractRule\", jsonObject(\n\n )),\n jsonProperty(\"instanceId\", \"\"),\n jsonProperty(\"kafkaType\", \"SelfBuildKafka\"),\n jsonProperty(\"logType\", \"minimalist_log\"),\n jsonProperty(\"messageKey\", jsonObject(\n jsonProperty(\"value\", \"\"),\n jsonProperty(\"valueFrom\", jsonObject(\n jsonProperty(\"fieldRef\", jsonObject(\n jsonProperty(\"fieldPath\", \"\")\n ))\n ))\n )),\n jsonProperty(\"metadata\", jsonObject(\n\n )),\n jsonProperty(\"timestampFormat\", \"double\"),\n jsonProperty(\"timestampKey\", \"\"),\n jsonProperty(\"topic\", ckafkaTopic)\n ))\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Ckafka:Instance\n properties:\n instanceName: ckafka-instance-postpaid\n zoneId: ${local.zone_id}\n vpcId: ${local.first_vpc_id}\n subnetId: ${local.first_subnet_id}\n msgRetentionTime: 1300\n kafkaVersion: 1.1.1\n diskSize: 500\n bandWidth: 20\n diskType: CLOUD_BASIC\n partition: 400\n chargeType: POSTPAID_BY_HOUR\n config:\n autoCreateTopicEnable: true\n defaultNumPartitions: 3\n defaultReplicationFactor: 3\n dynamicRetentionConfig:\n enable: 1\n exampleTopic:\n type: tencentcloud:Ckafka:Topic\n properties:\n instanceId: ${exampleInstance.id}\n topicName: tmp\n note: topic note\n replicaNum: 2\n partitionNum: 1\n cleanUpPolicy: delete\n syncReplicaMinNum: 1\n uncleanLeaderElectionEnable: false\n retention: 60000\n kubernetesLogConfigCkafka:\n type: tencentcloud:Kubernetes:LogConfig\n properties:\n logConfigName: tf-test-ckafka\n clusterId: ${tencentcloud_kubernetes_cluster.example.id}\n logsetId: ${tencentcloud_cls_logset.logset.id}\n logConfig:\n fn::toJSON:\n apiVersion: cls.cloud.tencent.com/v1\n kind: LogConfig\n metadata:\n name: tf-test-ckafka\n spec:\n inputDetail:\n containerStdout:\n allContainers: true\n namespace: default\n nsLabelSelector:\n type: container_stdout\n kafkaDetail:\n brokers: 172.16.0.30:9092\n extractRule: {}\n instanceId:\n kafkaType: SelfBuildKafka\n logType: minimalist_log\n messageKey:\n value:\n valueFrom:\n fieldRef:\n fieldPath:\n metadata: {}\n timestampFormat: double\n timestampKey:\n topic: ${ckafkaTopic}\nvariables:\n ckafkaTopic: ${exampleTopic.topicName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "clusterId": { + "type": "string", + "description": "Cluster ID.\n" + }, + "clusterType": { + "type": "string", + "description": "The current cluster type supports tke and eks, default is tke.\n" + }, + "logConfig": { + "type": "string", + "description": "JSON expression of log collection configuration.\n", + "language": { + "csharp": { + "name": "KubernetesLogConfig" + } + } + }, + "logConfigName": { + "type": "string", + "description": "Log config name.\n" + }, + "logsetId": { + "type": "string", + "description": "CLS log set ID.\n" + } + }, + "required": [ + "clusterId", + "logConfig", + "logConfigName" + ], + "inputProperties": { + "clusterId": { + "type": "string", + "description": "Cluster ID.\n", + "willReplaceOnChanges": true + }, + "clusterType": { + "type": "string", + "description": "The current cluster type supports tke and eks, default is tke.\n", + "willReplaceOnChanges": true + }, + "logConfig": { + "type": "string", + "description": "JSON expression of log collection configuration.\n", + "language": { + "csharp": { + "name": "KubernetesLogConfig" + } + }, + "willReplaceOnChanges": true + }, + "logConfigName": { + "type": "string", + "description": "Log config name.\n", + "willReplaceOnChanges": true + }, + "logsetId": { + "type": "string", + "description": "CLS log set ID.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "clusterId", + "logConfig", + "logConfigName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LogConfig resources.\n", + "properties": { + "clusterId": { + "type": "string", + "description": "Cluster ID.\n", + "willReplaceOnChanges": true + }, + "clusterType": { + "type": "string", + "description": "The current cluster type supports tke and eks, default is tke.\n", + "willReplaceOnChanges": true + }, + "logConfig": { + "type": "string", + "description": "JSON expression of log collection configuration.\n", + "language": { + "csharp": { + "name": "KubernetesLogConfig" + } + }, + "willReplaceOnChanges": true + }, + "logConfigName": { + "type": "string", + "description": "Log config name.\n", + "willReplaceOnChanges": true + }, + "logsetId": { + "type": "string", + "description": "CLS log set ID.\n", + "willReplaceOnChanges": true + } + }, + "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": { @@ -169163,6 +175585,7 @@ "nodeCount", "scalingGroupName", "status", + "tags", "terminationPolicies", "vpcId" ], @@ -169457,7 +175880,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\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", + "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 example = new tencentcloud.kubernetes.ScaleWorker(\"example\", {\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\"\nexample = tencentcloud.kubernetes.ScaleWorker(\"example\",\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 example = new Tencentcloud.Kubernetes.ScaleWorker(\"example\", 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, \"example\", \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 example = new ScaleWorker(\"example\", 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 example:\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 example = new tencentcloud.kubernetes.ScaleWorker(\"example\", {\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\"\nexample = tencentcloud.kubernetes.ScaleWorker(\"example\",\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 example = new Tencentcloud.Kubernetes.ScaleWorker(\"example\", 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, \"example\", \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 example = new ScaleWorker(\"example\", 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 example:\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 example cls-mij6c2pq#ins-n6esjkdi,ins-9h3rdxt8,ins-qretqeas\n```\n", "properties": { "clusterId": { "type": "string", @@ -169468,7 +175891,7 @@ "items": { "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerDataDisk:ScaleWorkerDataDisk" }, - "description": "Configurations of data disk.\n" + "description": "Configurations of tke data disk.\n" }, "desiredPodNum": { "type": "integer", @@ -169540,7 +175963,7 @@ "items": { "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerDataDisk:ScaleWorkerDataDisk" }, - "description": "Configurations of data disk.\n", + "description": "Configurations of tke data disk.\n", "willReplaceOnChanges": true }, "desiredPodNum": { @@ -169617,7 +176040,7 @@ "items": { "$ref": "#/types/tencentcloud:Kubernetes/ScaleWorkerDataDisk:ScaleWorkerDataDisk" }, - "description": "Configurations of data disk.\n", + "description": "Configurations of tke data disk.\n", "willReplaceOnChanges": true }, "desiredPodNum": { @@ -170961,6 +177384,137 @@ "type": "object" } }, + "tencentcloud:Lite/hbaseInstance:HbaseInstance": { + "description": "Provides a resource to create a emr lite_hbase_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 liteHbaseInstance = new tencentcloud.lite.HbaseInstance(\"liteHbaseInstance\", {\n diskSize: 100,\n diskType: \"CLOUD_HSSD\",\n instanceName: \"tf-test\",\n nodeType: \"8C32G\",\n payMode: 0,\n tags: [{\n tagKey: \"test\",\n tagValue: \"test\",\n }],\n zoneSettings: [{\n nodeNum: 3,\n vpcSettings: {\n subnetId: \"subnet-xxxxxx\",\n vpcId: \"vpc-xxxxxx\",\n },\n zone: \"ap-shanghai-2\",\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nlite_hbase_instance = tencentcloud.lite.HbaseInstance(\"liteHbaseInstance\",\n disk_size=100,\n disk_type=\"CLOUD_HSSD\",\n instance_name=\"tf-test\",\n node_type=\"8C32G\",\n pay_mode=0,\n tags=[tencentcloud.lite.HbaseInstanceTagArgs(\n tag_key=\"test\",\n tag_value=\"test\",\n )],\n zone_settings=[tencentcloud.lite.HbaseInstanceZoneSettingArgs(\n node_num=3,\n vpc_settings=tencentcloud.lite.HbaseInstanceZoneSettingVpcSettingsArgs(\n subnet_id=\"subnet-xxxxxx\",\n vpc_id=\"vpc-xxxxxx\",\n ),\n zone=\"ap-shanghai-2\",\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 liteHbaseInstance = new Tencentcloud.Lite.HbaseInstance(\"liteHbaseInstance\", new()\n {\n DiskSize = 100,\n DiskType = \"CLOUD_HSSD\",\n InstanceName = \"tf-test\",\n NodeType = \"8C32G\",\n PayMode = 0,\n Tags = new[]\n {\n new Tencentcloud.Lite.Inputs.HbaseInstanceTagArgs\n {\n TagKey = \"test\",\n TagValue = \"test\",\n },\n },\n ZoneSettings = new[]\n {\n new Tencentcloud.Lite.Inputs.HbaseInstanceZoneSettingArgs\n {\n NodeNum = 3,\n VpcSettings = new Tencentcloud.Lite.Inputs.HbaseInstanceZoneSettingVpcSettingsArgs\n {\n SubnetId = \"subnet-xxxxxx\",\n VpcId = \"vpc-xxxxxx\",\n },\n Zone = \"ap-shanghai-2\",\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/Lite\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Lite.NewHbaseInstance(ctx, \"liteHbaseInstance\", \u0026Lite.HbaseInstanceArgs{\n\t\t\tDiskSize: pulumi.Int(100),\n\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\tInstanceName: pulumi.String(\"tf-test\"),\n\t\t\tNodeType: pulumi.String(\"8C32G\"),\n\t\t\tPayMode: pulumi.Int(0),\n\t\t\tTags: lite.HbaseInstanceTagArray{\n\t\t\t\t\u0026lite.HbaseInstanceTagArgs{\n\t\t\t\t\tTagKey: pulumi.String(\"test\"),\n\t\t\t\t\tTagValue: pulumi.String(\"test\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZoneSettings: lite.HbaseInstanceZoneSettingArray{\n\t\t\t\t\u0026lite.HbaseInstanceZoneSettingArgs{\n\t\t\t\t\tNodeNum: pulumi.Int(3),\n\t\t\t\t\tVpcSettings: \u0026lite.HbaseInstanceZoneSettingVpcSettingsArgs{\n\t\t\t\t\t\tSubnetId: pulumi.String(\"subnet-xxxxxx\"),\n\t\t\t\t\t\tVpcId: pulumi.String(\"vpc-xxxxxx\"),\n\t\t\t\t\t},\n\t\t\t\t\tZone: pulumi.String(\"ap-shanghai-2\"),\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.Lite.HbaseInstance;\nimport com.pulumi.tencentcloud.Lite.HbaseInstanceArgs;\nimport com.pulumi.tencentcloud.Lite.inputs.HbaseInstanceTagArgs;\nimport com.pulumi.tencentcloud.Lite.inputs.HbaseInstanceZoneSettingArgs;\nimport com.pulumi.tencentcloud.Lite.inputs.HbaseInstanceZoneSettingVpcSettingsArgs;\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 liteHbaseInstance = new HbaseInstance(\"liteHbaseInstance\", HbaseInstanceArgs.builder() \n .diskSize(100)\n .diskType(\"CLOUD_HSSD\")\n .instanceName(\"tf-test\")\n .nodeType(\"8C32G\")\n .payMode(0)\n .tags(HbaseInstanceTagArgs.builder()\n .tagKey(\"test\")\n .tagValue(\"test\")\n .build())\n .zoneSettings(HbaseInstanceZoneSettingArgs.builder()\n .nodeNum(3)\n .vpcSettings(HbaseInstanceZoneSettingVpcSettingsArgs.builder()\n .subnetId(\"subnet-xxxxxx\")\n .vpcId(\"vpc-xxxxxx\")\n .build())\n .zone(\"ap-shanghai-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n liteHbaseInstance:\n type: tencentcloud:Lite:HbaseInstance\n properties:\n diskSize: 100\n diskType: CLOUD_HSSD\n instanceName: tf-test\n nodeType: 8C32G\n payMode: 0\n tags:\n - tagKey: test\n tagValue: test\n zoneSettings:\n - nodeNum: 3\n vpcSettings:\n subnetId: subnet-xxxxxx\n vpcId: vpc-xxxxxx\n zone: ap-shanghai-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nemr lite_hbase_instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Lite/hbaseInstance:HbaseInstance lite_hbase_instance lite_hbase_instance_id\n```\n\n", + "properties": { + "diskSize": { + "type": "integer", + "description": "Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20.\n" + }, + "diskType": { + "type": "string", + "description": "Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage.\n" + }, + "instanceName": { + "type": "string", + "description": "Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed.\n" + }, + "nodeType": { + "type": "string", + "description": "Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive.\n" + }, + "payMode": { + "type": "integer", + "description": "Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/HbaseInstanceTag:HbaseInstanceTag" + }, + "description": "List of tags to bind to the instance.\n" + }, + "zoneSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/HbaseInstanceZoneSetting:HbaseInstanceZoneSetting" + }, + "description": "Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50.\n" + } + }, + "required": [ + "diskSize", + "diskType", + "instanceName", + "nodeType", + "payMode", + "zoneSettings" + ], + "inputProperties": { + "diskSize": { + "type": "integer", + "description": "Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20.\n" + }, + "diskType": { + "type": "string", + "description": "Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage.\n" + }, + "instanceName": { + "type": "string", + "description": "Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed.\n" + }, + "nodeType": { + "type": "string", + "description": "Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive.\n" + }, + "payMode": { + "type": "integer", + "description": "Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/HbaseInstanceTag:HbaseInstanceTag" + }, + "description": "List of tags to bind to the instance.\n" + }, + "zoneSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/HbaseInstanceZoneSetting:HbaseInstanceZoneSetting" + }, + "description": "Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50.\n" + } + }, + "requiredInputs": [ + "diskSize", + "diskType", + "instanceName", + "nodeType", + "payMode", + "zoneSettings" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering HbaseInstance resources.\n", + "properties": { + "diskSize": { + "type": "integer", + "description": "Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20.\n" + }, + "diskType": { + "type": "string", + "description": "Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage.\n" + }, + "instanceName": { + "type": "string", + "description": "Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed.\n" + }, + "nodeType": { + "type": "string", + "description": "Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive.\n" + }, + "payMode": { + "type": "integer", + "description": "Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/HbaseInstanceTag:HbaseInstanceTag" + }, + "description": "List of tags to bind to the instance.\n" + }, + "zoneSettings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/HbaseInstanceZoneSetting:HbaseInstanceZoneSetting" + }, + "description": "Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Mariadb/account:Account": { "description": "Provides a resource to create a mariadb account\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 account = new tencentcloud.mariadb.Account(\"account\", {\n description: \"desc\",\n host: \"10.101.202.22\",\n instanceId: \"tdsql-4pzs5b67\",\n password: \"Password123.\",\n readOnly: 0,\n userName: \"account-test\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\naccount = tencentcloud.mariadb.Account(\"account\",\n description=\"desc\",\n host=\"10.101.202.22\",\n instance_id=\"tdsql-4pzs5b67\",\n password=\"Password123.\",\n read_only=0,\n user_name=\"account-test\")\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 account = new Tencentcloud.Mariadb.Account(\"account\", new()\n {\n Description = \"desc\",\n Host = \"10.101.202.22\",\n InstanceId = \"tdsql-4pzs5b67\",\n Password = \"Password123.\",\n ReadOnly = 0,\n UserName = \"account-test\",\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/Mariadb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Mariadb.NewAccount(ctx, \"account\", \u0026Mariadb.AccountArgs{\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tHost: pulumi.String(\"10.101.202.22\"),\n\t\t\tInstanceId: pulumi.String(\"tdsql-4pzs5b67\"),\n\t\t\tPassword: pulumi.String(\"Password123.\"),\n\t\t\tReadOnly: pulumi.Int(0),\n\t\t\tUserName: pulumi.String(\"account-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Mariadb.Account;\nimport com.pulumi.tencentcloud.Mariadb.AccountArgs;\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 account = new Account(\"account\", AccountArgs.builder() \n .description(\"desc\")\n .host(\"10.101.202.22\")\n .instanceId(\"tdsql-4pzs5b67\")\n .password(\"Password123.\")\n .readOnly(0)\n .userName(\"account-test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n account:\n type: tencentcloud:Mariadb:Account\n properties:\n description: desc\n host: 10.101.202.22\n instanceId: tdsql-4pzs5b67\n password: Password123.\n readOnly: 0\n userName: account-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmariadb account can be imported using the instance_id#user_name#host, e.g.\n\n```sh\n$ pulumi import tencentcloud:Mariadb/account:Account account tdsql-4pzs5b67#account-test#10.101.202.22\n```\n", "properties": { @@ -172954,6 +179508,14 @@ "type": "string", "description": "Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).\n" }, + "maintenanceEnd": { + "type": "string", + "description": "Maintenance window end time.\n- The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours.\n- The end time must be based on the start time backwards.\n" + }, + "maintenanceStart": { + "type": "string", + "description": "Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30.\n" + }, "memory": { "type": "integer", "description": "Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.\n" @@ -173036,6 +179598,8 @@ "hiddenZone", "instanceName", "machineType", + "maintenanceEnd", + "maintenanceStart", "memory", "nodeNum", "standbyInstanceLists", @@ -173091,6 +179655,14 @@ "description": "Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).\n", "willReplaceOnChanges": true }, + "maintenanceEnd": { + "type": "string", + "description": "Maintenance window end time.\n- The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours.\n- The end time must be based on the start time backwards.\n" + }, + "maintenanceStart": { + "type": "string", + "description": "Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30.\n" + }, "memory": { "type": "integer", "description": "Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.\n" @@ -173209,6 +179781,14 @@ "description": "Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).\n", "willReplaceOnChanges": true }, + "maintenanceEnd": { + "type": "string", + "description": "Maintenance window end time.\n- The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours.\n- The end time must be based on the start time backwards.\n" + }, + "maintenanceStart": { + "type": "string", + "description": "Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30.\n" + }, "memory": { "type": "integer", "description": "Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.\n" @@ -173539,7 +180119,7 @@ } }, "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", + "description": "Provides a resource to create mongodb instance backup rule\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Mongodb.InstanceBackup;\nimport com.pulumi.tencentcloud.Mongodb.InstanceBackupArgs;\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 backupRule = new InstanceBackup(\"backupRule\", InstanceBackupArgs.builder() \n .backupMethod(0)\n .backupTime(10)\n .instanceId(\"cmgo-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n backupRule:\n type: tencentcloud:Mongodb:InstanceBackup\n properties:\n backupMethod: 0\n backupTime: 10\n instanceId: cmgo-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmongodb instance 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", @@ -175777,7 +182357,7 @@ } }, "tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup": { - "description": "Provides a resource to create a monitor tmp_alert_group\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 tmpAlertGroup = new tencentcloud.monitor.TmpAlertGroup(\"tmpAlertGroup\", {\n ampReceivers: [\"notice-om017kc2\"],\n customReceiver: {\n type: \"amp\",\n },\n groupName: \"tf-test\",\n instanceId: \"prom-ip429jis\",\n repeatInterval: \"5m\",\n rules: [{\n annotations: {\n description: \"Agent {{$labels.instance}} is deactivated, please pay attention!\",\n summary: \"Agent health check\",\n },\n duration: \"1m\",\n expr: \"up{job=\\\"prometheus-agent\\\"} != 1\",\n labels: {\n severity: \"critical\",\n },\n ruleName: \"Agent health check\",\n state: 2,\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ntmp_alert_group = tencentcloud.monitor.TmpAlertGroup(\"tmpAlertGroup\",\n amp_receivers=[\"notice-om017kc2\"],\n custom_receiver=tencentcloud.monitor.TmpAlertGroupCustomReceiverArgs(\n type=\"amp\",\n ),\n group_name=\"tf-test\",\n instance_id=\"prom-ip429jis\",\n repeat_interval=\"5m\",\n rules=[tencentcloud.monitor.TmpAlertGroupRuleArgs(\n annotations={\n \"description\": \"Agent {{$labels.instance}} is deactivated, please pay attention!\",\n \"summary\": \"Agent health check\",\n },\n duration=\"1m\",\n expr=\"up{job=\\\"prometheus-agent\\\"} != 1\",\n labels={\n \"severity\": \"critical\",\n },\n rule_name=\"Agent health check\",\n state=2,\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 tmpAlertGroup = new Tencentcloud.Monitor.TmpAlertGroup(\"tmpAlertGroup\", new()\n {\n AmpReceivers = new[]\n {\n \"notice-om017kc2\",\n },\n CustomReceiver = new Tencentcloud.Monitor.Inputs.TmpAlertGroupCustomReceiverArgs\n {\n Type = \"amp\",\n },\n GroupName = \"tf-test\",\n InstanceId = \"prom-ip429jis\",\n RepeatInterval = \"5m\",\n Rules = new[]\n {\n new Tencentcloud.Monitor.Inputs.TmpAlertGroupRuleArgs\n {\n Annotations = \n {\n { \"description\", \"Agent {{$labels.instance}} is deactivated, please pay attention!\" },\n { \"summary\", \"Agent health check\" },\n },\n Duration = \"1m\",\n Expr = \"up{job=\\\"prometheus-agent\\\"} != 1\",\n Labels = \n {\n { \"severity\", \"critical\" },\n },\n RuleName = \"Agent health check\",\n State = 2,\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/Monitor\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Monitor.NewTmpAlertGroup(ctx, \"tmpAlertGroup\", \u0026Monitor.TmpAlertGroupArgs{\n\t\t\tAmpReceivers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"notice-om017kc2\"),\n\t\t\t},\n\t\t\tCustomReceiver: \u0026monitor.TmpAlertGroupCustomReceiverArgs{\n\t\t\t\tType: pulumi.String(\"amp\"),\n\t\t\t},\n\t\t\tGroupName: pulumi.String(\"tf-test\"),\n\t\t\tInstanceId: pulumi.String(\"prom-ip429jis\"),\n\t\t\tRepeatInterval: pulumi.String(\"5m\"),\n\t\t\tRules: monitor.TmpAlertGroupRuleArray{\n\t\t\t\t\u0026monitor.TmpAlertGroupRuleArgs{\n\t\t\t\t\tAnnotations: pulumi.Map{\n\t\t\t\t\t\t\"description\": pulumi.Any(\"Agent {{$labels.instance}} is deactivated, please pay attention!\"),\n\t\t\t\t\t\t\"summary\": pulumi.Any(\"Agent health check\"),\n\t\t\t\t\t},\n\t\t\t\t\tDuration: pulumi.String(\"1m\"),\n\t\t\t\t\tExpr: pulumi.String(\"up{job=\\\"prometheus-agent\\\"} != 1\"),\n\t\t\t\t\tLabels: pulumi.Map{\n\t\t\t\t\t\t\"severity\": pulumi.Any(\"critical\"),\n\t\t\t\t\t},\n\t\t\t\t\tRuleName: pulumi.String(\"Agent health check\"),\n\t\t\t\t\tState: pulumi.Int(2),\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.Monitor.TmpAlertGroup;\nimport com.pulumi.tencentcloud.Monitor.TmpAlertGroupArgs;\nimport com.pulumi.tencentcloud.Monitor.inputs.TmpAlertGroupCustomReceiverArgs;\nimport com.pulumi.tencentcloud.Monitor.inputs.TmpAlertGroupRuleArgs;\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 tmpAlertGroup = new TmpAlertGroup(\"tmpAlertGroup\", TmpAlertGroupArgs.builder() \n .ampReceivers(\"notice-om017kc2\")\n .customReceiver(TmpAlertGroupCustomReceiverArgs.builder()\n .type(\"amp\")\n .build())\n .groupName(\"tf-test\")\n .instanceId(\"prom-ip429jis\")\n .repeatInterval(\"5m\")\n .rules(TmpAlertGroupRuleArgs.builder()\n .annotations(Map.ofEntries(\n Map.entry(\"description\", \"Agent {{$labels.instance}} is deactivated, please pay attention!\"),\n Map.entry(\"summary\", \"Agent health check\")\n ))\n .duration(\"1m\")\n .expr(\"up{job=\\\"prometheus-agent\\\"} != 1\")\n .labels(Map.of(\"severity\", \"critical\"))\n .ruleName(\"Agent health check\")\n .state(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tmpAlertGroup:\n type: tencentcloud:Monitor:TmpAlertGroup\n properties:\n ampReceivers:\n - notice-om017kc2\n customReceiver:\n type: amp\n groupName: tf-test\n instanceId: prom-ip429jis\n repeatInterval: 5m\n rules:\n - annotations:\n description: Agent {{$labels.instance}} is deactivated, please pay attention!\n summary: Agent health check\n duration: 1m\n expr: up{job=\"prometheus-agent\"} != 1\n labels:\n severity: critical\n ruleName: Agent health check\n state: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmonitor tmp_alert_group can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id\n```\n\n", + "description": "Provides a resource to create a monitor tmp_alert_group\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-4\";\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst exampleTmpInstance = new tencentcloud.monitor.TmpInstance(\"exampleTmpInstance\", {\n instanceName: \"tf-tmp-instance\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataRetentionTime: 30,\n zone: availabilityZone,\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleTmpAlertGroup = new tencentcloud.monitor.TmpAlertGroup(\"exampleTmpAlertGroup\", {\n groupName: \"tf-example\",\n instanceId: exampleTmpInstance.id,\n repeatInterval: \"5m\",\n customReceiver: {\n type: \"amp\",\n },\n rules: [{\n duration: \"1m\",\n expr: \"up{job=\\\"prometheus-agent\\\"} != 1\",\n ruleName: \"Agent health check\",\n state: 2,\n annotations: {\n summary: \"Agent health check\",\n description: \"Agent {{$labels.instance}} is deactivated, please pay attention!\",\n },\n labels: {\n severity: \"critical\",\n },\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-4\"\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\")\nexample_tmp_instance = tencentcloud.monitor.TmpInstance(\"exampleTmpInstance\",\n instance_name=\"tf-tmp-instance\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n data_retention_time=30,\n zone=availability_zone,\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_tmp_alert_group = tencentcloud.monitor.TmpAlertGroup(\"exampleTmpAlertGroup\",\n group_name=\"tf-example\",\n instance_id=example_tmp_instance.id,\n repeat_interval=\"5m\",\n custom_receiver=tencentcloud.monitor.TmpAlertGroupCustomReceiverArgs(\n type=\"amp\",\n ),\n rules=[tencentcloud.monitor.TmpAlertGroupRuleArgs(\n duration=\"1m\",\n expr=\"up{job=\\\"prometheus-agent\\\"} != 1\",\n rule_name=\"Agent health check\",\n state=2,\n annotations={\n \"summary\": \"Agent health check\",\n \"description\": \"Agent {{$labels.instance}} is deactivated, please pay attention!\",\n },\n labels={\n \"severity\": \"critical\",\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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var exampleTmpInstance = new Tencentcloud.Monitor.TmpInstance(\"exampleTmpInstance\", new()\n {\n InstanceName = \"tf-tmp-instance\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DataRetentionTime = 30,\n Zone = availabilityZone,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleTmpAlertGroup = new Tencentcloud.Monitor.TmpAlertGroup(\"exampleTmpAlertGroup\", new()\n {\n GroupName = \"tf-example\",\n InstanceId = exampleTmpInstance.Id,\n RepeatInterval = \"5m\",\n CustomReceiver = new Tencentcloud.Monitor.Inputs.TmpAlertGroupCustomReceiverArgs\n {\n Type = \"amp\",\n },\n Rules = new[]\n {\n new Tencentcloud.Monitor.Inputs.TmpAlertGroupRuleArgs\n {\n Duration = \"1m\",\n Expr = \"up{job=\\\"prometheus-agent\\\"} != 1\",\n RuleName = \"Agent health check\",\n State = 2,\n Annotations = \n {\n { \"summary\", \"Agent health check\" },\n { \"description\", \"Agent {{$labels.instance}} is deactivated, please pay attention!\" },\n },\n Labels = \n {\n { \"severity\", \"critical\" },\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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\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-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTmpInstance, err := Monitor.NewTmpInstance(ctx, \"exampleTmpInstance\", \u0026Monitor.TmpInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-tmp-instance\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDataRetentionTime: pulumi.Int(30),\n\t\t\tZone: pulumi.String(availabilityZone),\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 = Monitor.NewTmpAlertGroup(ctx, \"exampleTmpAlertGroup\", \u0026Monitor.TmpAlertGroupArgs{\n\t\t\tGroupName: pulumi.String(\"tf-example\"),\n\t\t\tInstanceId: exampleTmpInstance.ID(),\n\t\t\tRepeatInterval: pulumi.String(\"5m\"),\n\t\t\tCustomReceiver: \u0026monitor.TmpAlertGroupCustomReceiverArgs{\n\t\t\t\tType: pulumi.String(\"amp\"),\n\t\t\t},\n\t\t\tRules: monitor.TmpAlertGroupRuleArray{\n\t\t\t\t\u0026monitor.TmpAlertGroupRuleArgs{\n\t\t\t\t\tDuration: pulumi.String(\"1m\"),\n\t\t\t\t\tExpr: pulumi.String(\"up{job=\\\"prometheus-agent\\\"} != 1\"),\n\t\t\t\t\tRuleName: pulumi.String(\"Agent health check\"),\n\t\t\t\t\tState: pulumi.Int(2),\n\t\t\t\t\tAnnotations: pulumi.Map{\n\t\t\t\t\t\t\"summary\": pulumi.Any(\"Agent health check\"),\n\t\t\t\t\t\t\"description\": pulumi.Any(\"Agent {{$labels.instance}} is deactivated, please pay attention!\"),\n\t\t\t\t\t},\n\t\t\t\t\tLabels: pulumi.Map{\n\t\t\t\t\t\t\"severity\": pulumi.Any(\"critical\"),\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.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Monitor.TmpInstance;\nimport com.pulumi.tencentcloud.Monitor.TmpInstanceArgs;\nimport com.pulumi.tencentcloud.Monitor.TmpAlertGroup;\nimport com.pulumi.tencentcloud.Monitor.TmpAlertGroupArgs;\nimport com.pulumi.tencentcloud.Monitor.inputs.TmpAlertGroupCustomReceiverArgs;\nimport com.pulumi.tencentcloud.Monitor.inputs.TmpAlertGroupRuleArgs;\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-4\");\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var exampleTmpInstance = new TmpInstance(\"exampleTmpInstance\", TmpInstanceArgs.builder() \n .instanceName(\"tf-tmp-instance\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataRetentionTime(30)\n .zone(availabilityZone)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleTmpAlertGroup = new TmpAlertGroup(\"exampleTmpAlertGroup\", TmpAlertGroupArgs.builder() \n .groupName(\"tf-example\")\n .instanceId(exampleTmpInstance.id())\n .repeatInterval(\"5m\")\n .customReceiver(TmpAlertGroupCustomReceiverArgs.builder()\n .type(\"amp\")\n .build())\n .rules(TmpAlertGroupRuleArgs.builder()\n .duration(\"1m\")\n .expr(\"up{job=\\\"prometheus-agent\\\"} != 1\")\n .ruleName(\"Agent health check\")\n .state(2)\n .annotations(Map.ofEntries(\n Map.entry(\"summary\", \"Agent health check\"),\n Map.entry(\"description\", \"Agent {{$labels.instance}} is deactivated, please pay attention!\")\n ))\n .labels(Map.of(\"severity\", \"critical\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n exampleTmpInstance:\n type: tencentcloud:Monitor:TmpInstance\n properties:\n instanceName: tf-tmp-instance\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataRetentionTime: 30\n zone: ${availabilityZone}\n tags:\n createdBy: terraform\n exampleTmpAlertGroup:\n type: tencentcloud:Monitor:TmpAlertGroup\n properties:\n groupName: tf-example\n instanceId: ${exampleTmpInstance.id}\n repeatInterval: 5m\n customReceiver:\n type: amp\n rules:\n - duration: 1m\n expr: up{job=\"prometheus-agent\"} != 1\n ruleName: Agent health check\n state: 2\n annotations:\n summary: Agent health check\n description: Agent {{$labels.instance}} is deactivated, please pay attention!\n labels:\n severity: critical\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmonitor tmp_alert_group can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup example prom-34qkzwvs#alert-rfkkr6cw\n```\n\n", "properties": { "ampReceivers": { "type": "array", @@ -176240,7 +182820,7 @@ } }, "tencentcloud:Monitor/tmpInstance:TmpInstance": { - "description": "Provides a resource to create a monitor tmpInstance\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-4\";\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst foo = new tencentcloud.monitor.TmpInstance(\"foo\", {\n instanceName: \"tf-tmp-instance\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataRetentionTime: 30,\n zone: availabilityZone,\n tags: {\n createdBy: \"terraform\",\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-4\"\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\")\nfoo = tencentcloud.monitor.TmpInstance(\"foo\",\n instance_name=\"tf-tmp-instance\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n data_retention_time=30,\n zone=availability_zone,\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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var foo = new Tencentcloud.Monitor.TmpInstance(\"foo\", new()\n {\n InstanceName = \"tf-tmp-instance\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DataRetentionTime = 30,\n Zone = availabilityZone,\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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\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-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpInstance(ctx, \"foo\", \u0026Monitor.TmpInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-tmp-instance\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDataRetentionTime: pulumi.Int(30),\n\t\t\tZone: pulumi.String(availabilityZone),\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.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Monitor.TmpInstance;\nimport com.pulumi.tencentcloud.Monitor.TmpInstanceArgs;\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-4\");\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var foo = new TmpInstance(\"foo\", TmpInstanceArgs.builder() \n .instanceName(\"tf-tmp-instance\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataRetentionTime(30)\n .zone(availabilityZone)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n foo:\n type: tencentcloud:Monitor:TmpInstance\n properties:\n instanceName: tf-tmp-instance\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataRetentionTime: 30\n zone: ${availabilityZone}\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmonitor tmpInstance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Monitor/tmpInstance:TmpInstance tmpInstance tmpInstance_id\n```\n", + "description": "Provides a resource to create a monitor tmpInstance\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-4\";\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst example = new tencentcloud.monitor.TmpInstance(\"example\", {\n instanceName: \"tf-tmp-instance\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataRetentionTime: 30,\n zone: availabilityZone,\n tags: {\n createdBy: \"terraform\",\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-4\"\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\")\nexample = tencentcloud.monitor.TmpInstance(\"example\",\n instance_name=\"tf-tmp-instance\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n data_retention_time=30,\n zone=availability_zone,\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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var example = new Tencentcloud.Monitor.TmpInstance(\"example\", new()\n {\n InstanceName = \"tf-tmp-instance\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DataRetentionTime = 30,\n Zone = availabilityZone,\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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\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-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpInstance(ctx, \"example\", \u0026Monitor.TmpInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-tmp-instance\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDataRetentionTime: pulumi.Int(30),\n\t\t\tZone: pulumi.String(availabilityZone),\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.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Monitor.TmpInstance;\nimport com.pulumi.tencentcloud.Monitor.TmpInstanceArgs;\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-4\");\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var example = new TmpInstance(\"example\", TmpInstanceArgs.builder() \n .instanceName(\"tf-tmp-instance\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataRetentionTime(30)\n .zone(availabilityZone)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n example:\n type: tencentcloud:Monitor:TmpInstance\n properties:\n instanceName: tf-tmp-instance\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataRetentionTime: 30\n zone: ${availabilityZone}\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmonitor tmpInstance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Monitor/tmpInstance:TmpInstance example prom-1uvo0tjm\n```\n", "properties": { "apiRootPath": { "type": "string", @@ -176248,7 +182828,7 @@ }, "dataRetentionTime": { "type": "integer", - "description": "Data retention time.\n" + "description": "Data retention time(in days). Value range: 15, 30, 45, 90, 180, 360, 720.\n" }, "instanceName": { "type": "string", @@ -176300,7 +182880,7 @@ "inputProperties": { "dataRetentionTime": { "type": "integer", - "description": "Data retention time.\n" + "description": "Data retention time(in days). Value range: 15, 30, 45, 90, 180, 360, 720.\n" }, "instanceName": { "type": "string", @@ -176342,7 +182922,7 @@ }, "dataRetentionTime": { "type": "integer", - "description": "Data retention time.\n" + "description": "Data retention time(in days). Value range: 15, 30, 45, 90, 180, 360, 720.\n" }, "instanceName": { "type": "string", @@ -180212,6 +186792,183 @@ "type": "object" } }, + "tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment": { + "description": "Provides a resource to create a mysql log to cls\n\n\u003e **NOTE:** The CLS resource bound to resource `tencentcloud.Mysql.ClsLogAttachment` needs to be manually deleted.\n\n## Example Usage\n\n### Create Error Log to ClS\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 subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: \"ap-guangzhou-6\",\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n isMulticast: false,\n});\n// create security group\nconst securityGroup = new tencentcloud.security.Group(\"securityGroup\", {description: \"mysql test\"});\n// create mysql instance\nconst exampleInstance = new tencentcloud.mysql.Instance(\"exampleInstance\", {\n internetService: 1,\n engineVersion: \"5.7\",\n chargeType: \"POSTPAID\",\n rootPassword: \"PassWord123\",\n slaveDeployMode: 0,\n availabilityZone: \"ap-guangzhou-6\",\n slaveSyncMode: 1,\n instanceName: \"tf-example-mysql\",\n memSize: 4000,\n volumeSize: 200,\n vpcId: vpc.id,\n subnetId: subnet.id,\n intranetPort: 3306,\n securityGroups: [securityGroup.id],\n tags: {\n name: \"test\",\n },\n parameters: {\n character_set_server: \"utf8\",\n max_connections: \"1000\",\n },\n});\n// attachment cls log\nconst exampleClsLogAttachment = new tencentcloud.mysql.ClsLogAttachment(\"exampleClsLogAttachment\", {\n instanceId: exampleInstance.id,\n logType: \"error\",\n createLogSet: true,\n createLogTopic: true,\n logSet: \"tf_log_set\",\n logTopic: \"tf_log_topic\",\n period: 30,\n createIndex: true,\n clsRegion: \"ap-guangzhou\",\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 subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=\"ap-guangzhou-6\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n is_multicast=False)\n# create security group\nsecurity_group = tencentcloud.security.Group(\"securityGroup\", description=\"mysql test\")\n# create mysql instance\nexample_instance = tencentcloud.mysql.Instance(\"exampleInstance\",\n internet_service=1,\n engine_version=\"5.7\",\n charge_type=\"POSTPAID\",\n root_password=\"PassWord123\",\n slave_deploy_mode=0,\n availability_zone=\"ap-guangzhou-6\",\n slave_sync_mode=1,\n instance_name=\"tf-example-mysql\",\n mem_size=4000,\n volume_size=200,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n intranet_port=3306,\n security_groups=[security_group.id],\n tags={\n \"name\": \"test\",\n },\n parameters={\n \"character_set_server\": \"utf8\",\n \"max_connections\": \"1000\",\n })\n# attachment cls log\nexample_cls_log_attachment = tencentcloud.mysql.ClsLogAttachment(\"exampleClsLogAttachment\",\n instance_id=example_instance.id,\n log_type=\"error\",\n create_log_set=True,\n create_log_topic=True,\n log_set=\"tf_log_set\",\n log_topic=\"tf_log_topic\",\n period=30,\n create_index=True,\n cls_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 // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = \"ap-guangzhou-6\",\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n IsMulticast = false,\n });\n\n // create security group\n var securityGroup = new Tencentcloud.Security.Group(\"securityGroup\", new()\n {\n Description = \"mysql test\",\n });\n\n // create mysql instance\n var exampleInstance = new Tencentcloud.Mysql.Instance(\"exampleInstance\", new()\n {\n InternetService = 1,\n EngineVersion = \"5.7\",\n ChargeType = \"POSTPAID\",\n RootPassword = \"PassWord123\",\n SlaveDeployMode = 0,\n AvailabilityZone = \"ap-guangzhou-6\",\n SlaveSyncMode = 1,\n InstanceName = \"tf-example-mysql\",\n MemSize = 4000,\n VolumeSize = 200,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n IntranetPort = 3306,\n SecurityGroups = new[]\n {\n securityGroup.Id,\n },\n Tags = \n {\n { \"name\", \"test\" },\n },\n Parameters = \n {\n { \"character_set_server\", \"utf8\" },\n { \"max_connections\", \"1000\" },\n },\n });\n\n // attachment cls log\n var exampleClsLogAttachment = new Tencentcloud.Mysql.ClsLogAttachment(\"exampleClsLogAttachment\", new()\n {\n InstanceId = exampleInstance.Id,\n LogType = \"error\",\n CreateLogSet = true,\n CreateLogTopic = true,\n LogSet = \"tf_log_set\",\n LogTopic = \"tf_log_topic\",\n Period = 30,\n CreateIndex = true,\n ClsRegion = \"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/Mysql\"\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\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 subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\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 security group\n\t\tsecurityGroup, err := Security.NewGroup(ctx, \"securityGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"mysql test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create mysql instance\n\t\texampleInstance, err := Mysql.NewInstance(ctx, \"exampleInstance\", \u0026Mysql.InstanceArgs{\n\t\t\tInternetService: pulumi.Int(1),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tChargeType: pulumi.String(\"POSTPAID\"),\n\t\t\tRootPassword: pulumi.String(\"PassWord123\"),\n\t\t\tSlaveDeployMode: pulumi.Int(0),\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\tSlaveSyncMode: pulumi.Int(1),\n\t\t\tInstanceName: pulumi.String(\"tf-example-mysql\"),\n\t\t\tMemSize: pulumi.Int(4000),\n\t\t\tVolumeSize: pulumi.Int(200),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tIntranetPort: pulumi.Int(3306),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsecurityGroup.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"name\": pulumi.Any(\"test\"),\n\t\t\t},\n\t\t\tParameters: pulumi.Map{\n\t\t\t\t\"character_set_server\": pulumi.Any(\"utf8\"),\n\t\t\t\t\"max_connections\": pulumi.Any(\"1000\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attachment cls log\n\t\t_, err = Mysql.NewClsLogAttachment(ctx, \"exampleClsLogAttachment\", \u0026Mysql.ClsLogAttachmentArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tLogType: pulumi.String(\"error\"),\n\t\t\tCreateLogSet: pulumi.Bool(true),\n\t\t\tCreateLogTopic: pulumi.Bool(true),\n\t\t\tLogSet: pulumi.String(\"tf_log_set\"),\n\t\t\tLogTopic: pulumi.String(\"tf_log_topic\"),\n\t\t\tPeriod: pulumi.Int(30),\n\t\t\tCreateIndex: pulumi.Bool(true),\n\t\t\tClsRegion: 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.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.Mysql.Instance;\nimport com.pulumi.tencentcloud.Mysql.InstanceArgs;\nimport com.pulumi.tencentcloud.Mysql.ClsLogAttachment;\nimport com.pulumi.tencentcloud.Mysql.ClsLogAttachmentArgs;\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 subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-6\")\n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .isMulticast(false)\n .build());\n\n // create security group\n var securityGroup = new Group(\"securityGroup\", GroupArgs.builder() \n .description(\"mysql test\")\n .build());\n\n // create mysql instance\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .internetService(1)\n .engineVersion(\"5.7\")\n .chargeType(\"POSTPAID\")\n .rootPassword(\"PassWord123\")\n .slaveDeployMode(0)\n .availabilityZone(\"ap-guangzhou-6\")\n .slaveSyncMode(1)\n .instanceName(\"tf-example-mysql\")\n .memSize(4000)\n .volumeSize(200)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .intranetPort(3306)\n .securityGroups(securityGroup.id())\n .tags(Map.of(\"name\", \"test\"))\n .parameters(Map.ofEntries(\n Map.entry(\"character_set_server\", \"utf8\"),\n Map.entry(\"max_connections\", \"1000\")\n ))\n .build());\n\n // attachment cls log\n var exampleClsLogAttachment = new ClsLogAttachment(\"exampleClsLogAttachment\", ClsLogAttachmentArgs.builder() \n .instanceId(exampleInstance.id())\n .logType(\"error\")\n .createLogSet(true)\n .createLogTopic(true)\n .logSet(\"tf_log_set\")\n .logTopic(\"tf_log_topic\")\n .period(30)\n .createIndex(true)\n .clsRegion(\"ap-guangzhou\")\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 subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-6\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n isMulticast: false\n # create security group\n securityGroup:\n type: tencentcloud:Security:Group\n properties:\n description: mysql test\n # create mysql instance\n exampleInstance:\n type: tencentcloud:Mysql:Instance\n properties:\n internetService: 1\n engineVersion: '5.7'\n chargeType: POSTPAID\n rootPassword: PassWord123\n slaveDeployMode: 0\n availabilityZone: ap-guangzhou-6\n slaveSyncMode: 1\n instanceName: tf-example-mysql\n memSize: 4000\n volumeSize: 200\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n intranetPort: 3306\n securityGroups:\n - ${securityGroup.id}\n tags:\n name: test\n parameters:\n character_set_server: utf8\n max_connections: '1000'\n # attachment cls log\n exampleClsLogAttachment:\n type: tencentcloud:Mysql:ClsLogAttachment\n properties:\n instanceId: ${exampleInstance.id}\n logType: error\n createLogSet: true\n createLogTopic: true\n logSet: tf_log_set\n logTopic: tf_log_topic\n period: 30\n createIndex: true\n clsRegion: ap-guangzhou\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Slow Log to ClS\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.mysql.ClsLogAttachment(\"example\", {\n instanceId: tencentcloud_mysql_instance.example.id,\n logType: \"slowlog\",\n logSet: \"50d499a8-c4c0-4442-aa04-e8aa8a02437d\",\n logTopic: \"140d4d39-4307-45a8-9655-290f679b063d\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.mysql.ClsLogAttachment(\"example\",\n instance_id=tencentcloud_mysql_instance[\"example\"][\"id\"],\n log_type=\"slowlog\",\n log_set=\"50d499a8-c4c0-4442-aa04-e8aa8a02437d\",\n log_topic=\"140d4d39-4307-45a8-9655-290f679b063d\")\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.Mysql.ClsLogAttachment(\"example\", new()\n {\n InstanceId = tencentcloud_mysql_instance.Example.Id,\n LogType = \"slowlog\",\n LogSet = \"50d499a8-c4c0-4442-aa04-e8aa8a02437d\",\n LogTopic = \"140d4d39-4307-45a8-9655-290f679b063d\",\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/Mysql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Mysql.NewClsLogAttachment(ctx, \"example\", \u0026Mysql.ClsLogAttachmentArgs{\n\t\t\tInstanceId: pulumi.Any(tencentcloud_mysql_instance.Example.Id),\n\t\t\tLogType: pulumi.String(\"slowlog\"),\n\t\t\tLogSet: pulumi.String(\"50d499a8-c4c0-4442-aa04-e8aa8a02437d\"),\n\t\t\tLogTopic: pulumi.String(\"140d4d39-4307-45a8-9655-290f679b063d\"),\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.Mysql.ClsLogAttachment;\nimport com.pulumi.tencentcloud.Mysql.ClsLogAttachmentArgs;\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 ClsLogAttachment(\"example\", ClsLogAttachmentArgs.builder() \n .instanceId(tencentcloud_mysql_instance.example().id())\n .logType(\"slowlog\")\n .logSet(\"50d499a8-c4c0-4442-aa04-e8aa8a02437d\")\n .logTopic(\"140d4d39-4307-45a8-9655-290f679b063d\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Mysql:ClsLogAttachment\n properties:\n instanceId: ${tencentcloud_mysql_instance.example.id}\n logType: slowlog\n logSet: 50d499a8-c4c0-4442-aa04-e8aa8a02437d\n logTopic: 140d4d39-4307-45a8-9655-290f679b063d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmysql log to cls can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment example cdb-8fk7id2l#slowlog\n```\n\n", + "properties": { + "clsRegion": { + "type": "string", + "description": "Cls region.\n" + }, + "createIndex": { + "type": "boolean", + "description": "Whether to create index.\n" + }, + "createLogSet": { + "type": "boolean", + "description": "Whether to create log set.\n" + }, + "createLogTopic": { + "type": "boolean", + "description": "Whether to create log topic.\n" + }, + "instanceId": { + "type": "string", + "description": "The id of instance.\n" + }, + "logSet": { + "type": "string", + "description": "If `create_log_set` is `true`, use log set name, Else use log set Id.\n" + }, + "logSetId": { + "type": "string", + "description": "Log set Id.\n" + }, + "logTopic": { + "type": "string", + "description": "If `create_log_topic` is `true`, use log topic name, Else use log topic Id.\n" + }, + "logTopicId": { + "type": "string", + "description": "Log topic Id.\n" + }, + "logType": { + "type": "string", + "description": "Log type. Support `error` or `slowlog`.\n" + }, + "period": { + "type": "integer", + "description": "The validity period of the log theme is 30 days by default when not filled in.\n" + }, + "status": { + "type": "string", + "description": "Log Status.\n" + } + }, + "required": [ + "clsRegion", + "instanceId", + "logSet", + "logSetId", + "logTopic", + "logTopicId", + "logType", + "status" + ], + "inputProperties": { + "clsRegion": { + "type": "string", + "description": "Cls region.\n" + }, + "createIndex": { + "type": "boolean", + "description": "Whether to create index.\n", + "willReplaceOnChanges": true + }, + "createLogSet": { + "type": "boolean", + "description": "Whether to create log set.\n", + "willReplaceOnChanges": true + }, + "createLogTopic": { + "type": "boolean", + "description": "Whether to create log topic.\n", + "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "The id of instance.\n", + "willReplaceOnChanges": true + }, + "logSet": { + "type": "string", + "description": "If `create_log_set` is `true`, use log set name, Else use log set Id.\n", + "willReplaceOnChanges": true + }, + "logTopic": { + "type": "string", + "description": "If `create_log_topic` is `true`, use log topic name, Else use log topic Id.\n", + "willReplaceOnChanges": true + }, + "logType": { + "type": "string", + "description": "Log type. Support `error` or `slowlog`.\n", + "willReplaceOnChanges": true + }, + "period": { + "type": "integer", + "description": "The validity period of the log theme is 30 days by default when not filled in.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "instanceId", + "logSet", + "logTopic", + "logType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ClsLogAttachment resources.\n", + "properties": { + "clsRegion": { + "type": "string", + "description": "Cls region.\n" + }, + "createIndex": { + "type": "boolean", + "description": "Whether to create index.\n", + "willReplaceOnChanges": true + }, + "createLogSet": { + "type": "boolean", + "description": "Whether to create log set.\n", + "willReplaceOnChanges": true + }, + "createLogTopic": { + "type": "boolean", + "description": "Whether to create log topic.\n", + "willReplaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "The id of instance.\n", + "willReplaceOnChanges": true + }, + "logSet": { + "type": "string", + "description": "If `create_log_set` is `true`, use log set name, Else use log set Id.\n", + "willReplaceOnChanges": true + }, + "logSetId": { + "type": "string", + "description": "Log set Id.\n" + }, + "logTopic": { + "type": "string", + "description": "If `create_log_topic` is `true`, use log topic name, Else use log topic Id.\n", + "willReplaceOnChanges": true + }, + "logTopicId": { + "type": "string", + "description": "Log topic Id.\n" + }, + "logType": { + "type": "string", + "description": "Log type. Support `error` or `slowlog`.\n", + "willReplaceOnChanges": true + }, + "period": { + "type": "integer", + "description": "The validity period of the log theme is 30 days by default when not filled in.\n", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "Log Status.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Mysql/database:Database": { "description": "Provides a resource to create a mysql database\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 database = new tencentcloud.mysql.Database(\"database\", {\n characterSetName: \"utf8\",\n dbName: \"for_tf_test\",\n instanceId: \"cdb-i9xfdf7z\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ndatabase = tencentcloud.mysql.Database(\"database\",\n character_set_name=\"utf8\",\n db_name=\"for_tf_test\",\n instance_id=\"cdb-i9xfdf7z\")\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 database = new Tencentcloud.Mysql.Database(\"database\", new()\n {\n CharacterSetName = \"utf8\",\n DbName = \"for_tf_test\",\n InstanceId = \"cdb-i9xfdf7z\",\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/Mysql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Mysql.NewDatabase(ctx, \"database\", \u0026Mysql.DatabaseArgs{\n\t\t\tCharacterSetName: pulumi.String(\"utf8\"),\n\t\t\tDbName: pulumi.String(\"for_tf_test\"),\n\t\t\tInstanceId: pulumi.String(\"cdb-i9xfdf7z\"),\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.Mysql.Database;\nimport com.pulumi.tencentcloud.Mysql.DatabaseArgs;\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 database = new Database(\"database\", DatabaseArgs.builder() \n .characterSetName(\"utf8\")\n .dbName(\"for_tf_test\")\n .instanceId(\"cdb-i9xfdf7z\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n database:\n type: tencentcloud:Mysql:Database\n properties:\n characterSetName: utf8\n dbName: for_tf_test\n instanceId: cdb-i9xfdf7z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmysql database can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Mysql/database:Database database instanceId#dbName\n```\n\n", "properties": { @@ -180874,6 +187631,10 @@ "type": "string", "description": "Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`.\n" }, + "engineType": { + "type": "string", + "description": "Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`.\n" + }, "engineVersion": { "type": "string", "description": "The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately.\n" @@ -181023,6 +187784,7 @@ "availabilityZone", "cpu", "deviceType", + "engineType", "firstSlaveZone", "gtid", "instanceName", @@ -181060,6 +187822,10 @@ "type": "string", "description": "Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`.\n" }, + "engineType": { + "type": "string", + "description": "Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`.\n" + }, "engineVersion": { "type": "string", "description": "The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately.\n" @@ -181206,6 +187972,10 @@ "type": "string", "description": "Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`.\n" }, + "engineType": { + "type": "string", + "description": "Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`.\n" + }, "engineVersion": { "type": "string", "description": "The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately.\n" @@ -182113,132 +188883,141 @@ "type": "integer", "description": "Period of instance. NOTES: Only supported prepaid instance.\n" }, - "securityGroups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Security groups to use.\n" - }, - "slaveDeployMode": { - "type": "integer", - "description": "Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones.\n" - }, - "status": { - "type": "integer", - "description": "Instance status. Valid values: `0`, `1`, `4`, `5`. `0` - Creating; `1` - Running; `4` - Isolating; `5` - Isolated.\n" - }, - "subnetId": { - "type": "string", - "description": "Private network ID. If `vpc_id` is set, this value is required.\n" - }, - "tags": { - "type": "object", - "additionalProperties": { - "$ref": "pulumi.json#/Any" - }, - "description": "Instance tags.\n" - }, - "taskStatus": { - "type": "integer", - "description": "Indicates which kind of operations is being executed.\n" - }, - "volumeSize": { - "type": "integer", - "description": "Disk size (in GB).\n" - }, - "vpcId": { - "type": "string", - "description": "ID of VPC, which can be modified once every 24 hours and can't be removed.\n" - }, - "waitSwitch": { - "type": "integer", - "description": "Switch the method of accessing new instances, default is `0`. Supported values include: `0` - switch immediately, `1` - switch in time window.\n" - }, - "zone": { - "type": "string", - "description": "Zone information, this parameter defaults to, the system automatically selects an Availability Zone.\n" - } - }, - "required": [ - "cpu", - "deviceType", - "instanceName", - "intranetIp", - "locked", - "masterInstanceId", - "masterRegion", - "memSize", - "status", - "subnetId", - "taskStatus", - "volumeSize", - "vpcId", - "zone" - ], - "inputProperties": { - "autoRenewFlag": { - "type": "integer", - "description": "Auto renew flag. NOTES: Only supported prepaid instance.\n" - }, - "chargeType": { - "type": "string", - "description": "Pay type of instance. Valid values:`PREPAID`, `POSTPAID`. Default is `POSTPAID`.\n", - "willReplaceOnChanges": true - }, - "cpu": { - "type": "integer", - "description": "CPU cores.\n" - }, - "deviceType": { - "type": "string", - "description": "Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`.\n" - }, - "fastUpgrade": { - "type": "integer", - "description": "Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled.\n" - }, - "forceDelete": { - "type": "boolean", - "description": "Indicate whether to delete instance directly or not. Default is `false`. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. When the main mysql instance set true, this para of the readonly mysql instance will not take effect.\n" - }, - "instanceName": { - "type": "string", - "description": "The name of a mysql instance.\n" - }, - "intranetPort": { - "type": "integer", - "description": "Public access port. Valid value ranges: [1024~65535]. The default value is `3306`.\n" - }, - "masterInstanceId": { - "type": "string", - "description": "Indicates the master instance ID of recovery instances.\n" - }, - "masterRegion": { + "roGroupId": { + "type": "string", + "description": "Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used.\n" + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security groups to use.\n" + }, + "slaveDeployMode": { + "type": "integer", + "description": "Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones.\n" + }, + "status": { + "type": "integer", + "description": "Instance status. Valid values: `0`, `1`, `4`, `5`. `0` - Creating; `1` - Running; `4` - Isolating; `5` - Isolated.\n" + }, + "subnetId": { + "type": "string", + "description": "Private network ID. If `vpc_id` is set, this value is required.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Instance tags.\n" + }, + "taskStatus": { + "type": "integer", + "description": "Indicates which kind of operations is being executed.\n" + }, + "volumeSize": { + "type": "integer", + "description": "Disk size (in GB).\n" + }, + "vpcId": { + "type": "string", + "description": "ID of VPC, which can be modified once every 24 hours and can't be removed.\n" + }, + "waitSwitch": { + "type": "integer", + "description": "Switch the method of accessing new instances, default is `0`. Supported values include: `0` - switch immediately, `1` - switch in time window.\n" + }, + "zone": { + "type": "string", + "description": "Zone information, this parameter defaults to, the system automatically selects an Availability Zone.\n" + } + }, + "required": [ + "cpu", + "deviceType", + "instanceName", + "intranetIp", + "locked", + "masterInstanceId", + "masterRegion", + "memSize", + "roGroupId", + "status", + "subnetId", + "taskStatus", + "volumeSize", + "vpcId", + "zone" + ], + "inputProperties": { + "autoRenewFlag": { + "type": "integer", + "description": "Auto renew flag. NOTES: Only supported prepaid instance.\n" + }, + "chargeType": { + "type": "string", + "description": "Pay type of instance. Valid values:`PREPAID`, `POSTPAID`. Default is `POSTPAID`.\n", + "willReplaceOnChanges": true + }, + "cpu": { + "type": "integer", + "description": "CPU cores.\n" + }, + "deviceType": { + "type": "string", + "description": "Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`.\n" + }, + "fastUpgrade": { + "type": "integer", + "description": "Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled.\n" + }, + "forceDelete": { + "type": "boolean", + "description": "Indicate whether to delete instance directly or not. Default is `false`. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. When the main mysql instance set true, this para of the readonly mysql instance will not take effect.\n" + }, + "instanceName": { + "type": "string", + "description": "The name of a mysql instance.\n" + }, + "intranetPort": { + "type": "integer", + "description": "Public access port. Valid value ranges: [1024~65535]. The default value is `3306`.\n" + }, + "masterInstanceId": { + "type": "string", + "description": "Indicates the master instance ID of recovery instances.\n" + }, + "masterRegion": { + "type": "string", + "description": "The zone information of the primary instance is required when you purchase a disaster recovery instance.\n" + }, + "memSize": { + "type": "integer", + "description": "Memory size (in MB).\n" + }, + "paramTemplateId": { + "type": "integer", + "description": "Specify parameter template id.\n" + }, + "payType": { + "type": "integer", + "description": "It has been deprecated from version 1.36.0. Please use `charge_type` instead. Pay type of instance. Valid values: `0`, `1`. `0`: prepaid, `1`: postpaid.\n", + "deprecationMessage": "It has been deprecated from version 1.36.0. Please use `charge_type` instead." + }, + "period": { + "type": "integer", + "description": "It has been deprecated from version 1.36.0. Please use `prepaid_period` instead. Period of instance. NOTES: Only supported prepaid instance.\n", + "deprecationMessage": "It has been deprecated from version 1.36.0. Please use `prepaid_period` instead." + }, + "prepaidPeriod": { + "type": "integer", + "description": "Period of instance. NOTES: Only supported prepaid instance.\n" + }, + "roGroupId": { "type": "string", - "description": "The zone information of the primary instance is required when you purchase a disaster recovery instance.\n" - }, - "memSize": { - "type": "integer", - "description": "Memory size (in MB).\n" - }, - "paramTemplateId": { - "type": "integer", - "description": "Specify parameter template id.\n" - }, - "payType": { - "type": "integer", - "description": "It has been deprecated from version 1.36.0. Please use `charge_type` instead. Pay type of instance. Valid values: `0`, `1`. `0`: prepaid, `1`: postpaid.\n", - "deprecationMessage": "It has been deprecated from version 1.36.0. Please use `charge_type` instead." - }, - "period": { - "type": "integer", - "description": "It has been deprecated from version 1.36.0. Please use `prepaid_period` instead. Period of instance. NOTES: Only supported prepaid instance.\n", - "deprecationMessage": "It has been deprecated from version 1.36.0. Please use `prepaid_period` instead." - }, - "prepaidPeriod": { - "type": "integer", - "description": "Period of instance. NOTES: Only supported prepaid instance.\n" + "description": "Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used.\n" }, "securityGroups": { "type": "array", @@ -182359,6 +189138,10 @@ "type": "integer", "description": "Period of instance. NOTES: Only supported prepaid instance.\n" }, + "roGroupId": { + "type": "string", + "description": "Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used.\n" + }, "securityGroups": { "type": "array", "items": { @@ -183169,6 +189952,60 @@ "type": "object" } }, + "tencentcloud:Mysql/ssl:Ssl": { + "description": "Provides a resource to create a mysql ssl\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 ssl = new tencentcloud.mysql.Ssl(\"ssl\", {\n instanceId: \"cdb-j5rprr8n\",\n status: \"OFF\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nssl = tencentcloud.mysql.Ssl(\"ssl\",\n instance_id=\"cdb-j5rprr8n\",\n status=\"OFF\")\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 ssl = new Tencentcloud.Mysql.Ssl(\"ssl\", new()\n {\n InstanceId = \"cdb-j5rprr8n\",\n Status = \"OFF\",\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/Mysql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Mysql.NewSsl(ctx, \"ssl\", \u0026Mysql.SslArgs{\n\t\t\tInstanceId: pulumi.String(\"cdb-j5rprr8n\"),\n\t\t\tStatus: pulumi.String(\"OFF\"),\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.Mysql.Ssl;\nimport com.pulumi.tencentcloud.Mysql.SslArgs;\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 ssl = new Ssl(\"ssl\", SslArgs.builder() \n .instanceId(\"cdb-j5rprr8n\")\n .status(\"OFF\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ssl:\n type: tencentcloud:Mysql:Ssl\n properties:\n instanceId: cdb-j5rprr8n\n status: OFF\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmysql ssl can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Mysql/ssl:Ssl ssl instanceId\n```\n\n", + "properties": { + "instanceId": { + "type": "string", + "description": "Instance ID. Example value: cdb-c1nl9rpv.\n" + }, + "status": { + "type": "string", + "description": "Whether to enable SSL. `ON` means enabled, `OFF` means not enabled.\n" + }, + "url": { + "type": "string", + "description": "The certificate download link. Example value: http://testdownload.url.\n" + } + }, + "required": [ + "instanceId", + "status", + "url" + ], + "inputProperties": { + "instanceId": { + "type": "string", + "description": "Instance ID. Example value: cdb-c1nl9rpv.\n" + }, + "status": { + "type": "string", + "description": "Whether to enable SSL. `ON` means enabled, `OFF` means not enabled.\n" + } + }, + "requiredInputs": [ + "instanceId", + "status" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Ssl resources.\n", + "properties": { + "instanceId": { + "type": "string", + "description": "Instance ID. Example value: cdb-c1nl9rpv.\n" + }, + "status": { + "type": "string", + "description": "Whether to enable SSL. `ON` means enabled, `OFF` means not enabled.\n" + }, + "url": { + "type": "string", + "description": "The certificate download link. Example value: http://testdownload.url.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Mysql/switchForUpgrade:SwitchForUpgrade": { "description": "Provides a resource to create a mysql switch_for_upgrade\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 zones = tencentcloud.Availability.getZonesByProduct({\n product: \"cdb\",\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n isMulticast: false,\n});\nconst securityGroup = new tencentcloud.security.Group(\"securityGroup\", {description: \"mysql test\"});\nconst exampleInstance = new tencentcloud.mysql.Instance(\"exampleInstance\", {\n internetService: 1,\n engineVersion: \"5.7\",\n chargeType: \"POSTPAID\",\n rootPassword: \"PassWord123\",\n slaveDeployMode: 0,\n availabilityZone: zones.then(zones =\u003e zones.zones?.[0]?.name),\n slaveSyncMode: 1,\n instanceName: \"tf-example-mysql\",\n memSize: 4000,\n volumeSize: 200,\n vpcId: vpc.id,\n subnetId: subnet.id,\n intranetPort: 3306,\n securityGroups: [securityGroup.id],\n tags: {\n name: \"test\",\n },\n parameters: {\n character_set_server: \"utf8\",\n max_connections: \"1000\",\n },\n});\nconst exampleSwitchForUpgrade = new tencentcloud.mysql.SwitchForUpgrade(\"exampleSwitchForUpgrade\", {instanceId: exampleInstance.id});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzones = tencentcloud.Availability.get_zones_by_product(product=\"cdb\")\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=zones.zones[0].name,\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n is_multicast=False)\nsecurity_group = tencentcloud.security.Group(\"securityGroup\", description=\"mysql test\")\nexample_instance = tencentcloud.mysql.Instance(\"exampleInstance\",\n internet_service=1,\n engine_version=\"5.7\",\n charge_type=\"POSTPAID\",\n root_password=\"PassWord123\",\n slave_deploy_mode=0,\n availability_zone=zones.zones[0].name,\n slave_sync_mode=1,\n instance_name=\"tf-example-mysql\",\n mem_size=4000,\n volume_size=200,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n intranet_port=3306,\n security_groups=[security_group.id],\n tags={\n \"name\": \"test\",\n },\n parameters={\n \"character_set_server\": \"utf8\",\n \"max_connections\": \"1000\",\n })\nexample_switch_for_upgrade = tencentcloud.mysql.SwitchForUpgrade(\"exampleSwitchForUpgrade\", instance_id=example_instance.id)\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 zones = Tencentcloud.Availability.GetZonesByProduct.Invoke(new()\n {\n Product = \"cdb\",\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n IsMulticast = false,\n });\n\n var securityGroup = new Tencentcloud.Security.Group(\"securityGroup\", new()\n {\n Description = \"mysql test\",\n });\n\n var exampleInstance = new Tencentcloud.Mysql.Instance(\"exampleInstance\", new()\n {\n InternetService = 1,\n EngineVersion = \"5.7\",\n ChargeType = \"POSTPAID\",\n RootPassword = \"PassWord123\",\n SlaveDeployMode = 0,\n AvailabilityZone = zones.Apply(getZonesByProductResult =\u003e getZonesByProductResult.Zones[0]?.Name),\n SlaveSyncMode = 1,\n InstanceName = \"tf-example-mysql\",\n MemSize = 4000,\n VolumeSize = 200,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n IntranetPort = 3306,\n SecurityGroups = new[]\n {\n securityGroup.Id,\n },\n Tags = \n {\n { \"name\", \"test\" },\n },\n Parameters = \n {\n { \"character_set_server\", \"utf8\" },\n { \"max_connections\", \"1000\" },\n },\n });\n\n var exampleSwitchForUpgrade = new Tencentcloud.Mysql.SwitchForUpgrade(\"exampleSwitchForUpgrade\", new()\n {\n InstanceId = 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/Availability\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Mysql\"\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\tzones, err := Availability.GetZonesByProduct(ctx, \u0026availability.GetZonesByProductArgs{\n\t\t\tProduct: \"cdb\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\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\tsecurityGroup, err := Security.NewGroup(ctx, \"securityGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"mysql test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := Mysql.NewInstance(ctx, \"exampleInstance\", \u0026Mysql.InstanceArgs{\n\t\t\tInternetService: pulumi.Int(1),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tChargeType: pulumi.String(\"POSTPAID\"),\n\t\t\tRootPassword: pulumi.String(\"PassWord123\"),\n\t\t\tSlaveDeployMode: pulumi.Int(0),\n\t\t\tAvailabilityZone: pulumi.String(zones.Zones[0].Name),\n\t\t\tSlaveSyncMode: pulumi.Int(1),\n\t\t\tInstanceName: pulumi.String(\"tf-example-mysql\"),\n\t\t\tMemSize: pulumi.Int(4000),\n\t\t\tVolumeSize: pulumi.Int(200),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tIntranetPort: pulumi.Int(3306),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsecurityGroup.ID(),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"name\": pulumi.Any(\"test\"),\n\t\t\t},\n\t\t\tParameters: pulumi.Map{\n\t\t\t\t\"character_set_server\": pulumi.Any(\"utf8\"),\n\t\t\t\t\"max_connections\": pulumi.Any(\"1000\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Mysql.NewSwitchForUpgrade(ctx, \"exampleSwitchForUpgrade\", \u0026Mysql.SwitchForUpgradeArgs{\n\t\t\tInstanceId: 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.Availability.AvailabilityFunctions;\nimport com.pulumi.tencentcloud.Availability.inputs.GetZonesByProductArgs;\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.Mysql.Instance;\nimport com.pulumi.tencentcloud.Mysql.InstanceArgs;\nimport com.pulumi.tencentcloud.Mysql.SwitchForUpgrade;\nimport com.pulumi.tencentcloud.Mysql.SwitchForUpgradeArgs;\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 zones = AvailabilityFunctions.getZonesByProduct(GetZonesByProductArgs.builder()\n .product(\"cdb\")\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .isMulticast(false)\n .build());\n\n var securityGroup = new Group(\"securityGroup\", GroupArgs.builder() \n .description(\"mysql test\")\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .internetService(1)\n .engineVersion(\"5.7\")\n .chargeType(\"POSTPAID\")\n .rootPassword(\"PassWord123\")\n .slaveDeployMode(0)\n .availabilityZone(zones.applyValue(getZonesByProductResult -\u003e getZonesByProductResult.zones()[0].name()))\n .slaveSyncMode(1)\n .instanceName(\"tf-example-mysql\")\n .memSize(4000)\n .volumeSize(200)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .intranetPort(3306)\n .securityGroups(securityGroup.id())\n .tags(Map.of(\"name\", \"test\"))\n .parameters(Map.ofEntries(\n Map.entry(\"character_set_server\", \"utf8\"),\n Map.entry(\"max_connections\", \"1000\")\n ))\n .build());\n\n var exampleSwitchForUpgrade = new SwitchForUpgrade(\"exampleSwitchForUpgrade\", SwitchForUpgradeArgs.builder() \n .instanceId(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${zones.zones[0].name}\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n isMulticast: false\n securityGroup:\n type: tencentcloud:Security:Group\n properties:\n description: mysql test\n exampleInstance:\n type: tencentcloud:Mysql:Instance\n properties:\n internetService: 1\n engineVersion: '5.7'\n chargeType: POSTPAID\n rootPassword: PassWord123\n slaveDeployMode: 0\n availabilityZone: ${zones.zones[0].name}\n slaveSyncMode: 1\n instanceName: tf-example-mysql\n memSize: 4000\n volumeSize: 200\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n intranetPort: 3306\n securityGroups:\n - ${securityGroup.id}\n tags:\n name: test\n parameters:\n character_set_server: utf8\n max_connections: '1000'\n exampleSwitchForUpgrade:\n type: tencentcloud:Mysql:SwitchForUpgrade\n properties:\n instanceId: ${exampleInstance.id}\nvariables:\n zones:\n fn::invoke:\n Function: tencentcloud:Availability:getZonesByProduct\n Arguments:\n product: cdb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -185057,6 +191894,10 @@ "rootNodeId": { "type": "integer", "description": "Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained.\n" + }, + "rootNodeName": { + "type": "string", + "description": "Root node name.\n" } }, "required": [ @@ -185075,8 +191916,15 @@ "orgType", "payName", "payUin", - "rootNodeId" + "rootNodeId", + "rootNodeName" ], + "inputProperties": { + "rootNodeName": { + "type": "string", + "description": "Root node name.\n" + } + }, "stateInputs": { "description": "Input properties used for looking up and filtering Instance resources.\n", "properties": { @@ -185146,6 +191994,10 @@ "rootNodeId": { "type": "integer", "description": "Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained.\n" + }, + "rootNodeName": { + "type": "string", + "description": "Root node name.\n" } }, "type": "object" @@ -185485,6 +192337,13 @@ "type": "string", "description": "Notes.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" + }, "updateTime": { "type": "string", "description": "Member update time.\n" @@ -185535,6 +192394,13 @@ "remark": { "type": "string", "description": "Notes.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" } }, "requiredInputs": [ @@ -185607,6 +192473,13 @@ "type": "string", "description": "Notes.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" + }, "updateTime": { "type": "string", "description": "Member update time.\n" @@ -185907,6 +192780,13 @@ "type": "string", "description": "Notes.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" + }, "updateTime": { "type": "string", "description": "Node update time.\n" @@ -185930,6 +192810,13 @@ "remark": { "type": "string", "description": "Notes.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" } }, "requiredInputs": [ @@ -185954,6 +192841,13 @@ "type": "string", "description": "Notes.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Tag description list.\n" + }, "updateTime": { "type": "string", "description": "Node update time.\n" @@ -186262,6 +193156,115 @@ "type": "object" } }, + "tencentcloud:Organization/serviceAssign:ServiceAssign": { + "description": "Provides a resource to create a organization service assign\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.organization.ServiceAssign(\"example\", {\n managementScope: 1,\n memberUins: [\n 100037235241,\n 100033738111,\n ],\n serviceId: 15,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.organization.ServiceAssign(\"example\",\n management_scope=1,\n member_uins=[\n 100037235241,\n 100033738111,\n ],\n service_id=15)\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.Organization.ServiceAssign(\"example\", new()\n {\n ManagementScope = 1,\n MemberUins = new[]\n {\n 100037235241,\n 100033738111,\n },\n ServiceId = 15,\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.NewServiceAssign(ctx, \"example\", \u0026Organization.ServiceAssignArgs{\n\t\t\tManagementScope: pulumi.Int(1),\n\t\t\tMemberUins: pulumi.IntArray{\n\t\t\t\tpulumi.Int(100037235241),\n\t\t\t\tpulumi.Int(100033738111),\n\t\t\t},\n\t\t\tServiceId: pulumi.Int(15),\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.Organization.ServiceAssign;\nimport com.pulumi.tencentcloud.Organization.ServiceAssignArgs;\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 ServiceAssign(\"example\", ServiceAssignArgs.builder() \n .managementScope(1)\n .memberUins( \n 100037235241,\n 100033738111)\n .serviceId(15)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Organization:ServiceAssign\n properties:\n managementScope: 1\n memberUins:\n - 1.00037235241e+11\n - 1.00033738111e+11\n serviceId: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\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.organization.ServiceAssign(\"example\", {\n managementScope: 2,\n managementScopeNodeIds: [\n 2024256,\n 2024259,\n ],\n managementScopeUins: [\n 100019287759,\n 100020537485,\n ],\n memberUins: [\n 100013415241,\n 100078908111,\n ],\n serviceId: 15,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.organization.ServiceAssign(\"example\",\n management_scope=2,\n management_scope_node_ids=[\n 2024256,\n 2024259,\n ],\n management_scope_uins=[\n 100019287759,\n 100020537485,\n ],\n member_uins=[\n 100013415241,\n 100078908111,\n ],\n service_id=15)\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.Organization.ServiceAssign(\"example\", new()\n {\n ManagementScope = 2,\n ManagementScopeNodeIds = new[]\n {\n 2024256,\n 2024259,\n },\n ManagementScopeUins = new[]\n {\n 100019287759,\n 100020537485,\n },\n MemberUins = new[]\n {\n 100013415241,\n 100078908111,\n },\n ServiceId = 15,\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.NewServiceAssign(ctx, \"example\", \u0026Organization.ServiceAssignArgs{\n\t\t\tManagementScope: pulumi.Int(2),\n\t\t\tManagementScopeNodeIds: pulumi.IntArray{\n\t\t\t\tpulumi.Int(2024256),\n\t\t\t\tpulumi.Int(2024259),\n\t\t\t},\n\t\t\tManagementScopeUins: pulumi.IntArray{\n\t\t\t\tpulumi.Int(100019287759),\n\t\t\t\tpulumi.Int(100020537485),\n\t\t\t},\n\t\t\tMemberUins: pulumi.IntArray{\n\t\t\t\tpulumi.Int(100013415241),\n\t\t\t\tpulumi.Int(100078908111),\n\t\t\t},\n\t\t\tServiceId: pulumi.Int(15),\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.Organization.ServiceAssign;\nimport com.pulumi.tencentcloud.Organization.ServiceAssignArgs;\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 ServiceAssign(\"example\", ServiceAssignArgs.builder() \n .managementScope(2)\n .managementScopeNodeIds( \n 2024256,\n 2024259)\n .managementScopeUins( \n 100019287759,\n 100020537485)\n .memberUins( \n 100013415241,\n 100078908111)\n .serviceId(15)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Organization:ServiceAssign\n properties:\n managementScope: 2\n managementScopeNodeIds:\n - 2.024256e+06\n - 2.024259e+06\n managementScopeUins:\n - 1.00019287759e+11\n - 1.00020537485e+11\n memberUins:\n - 1.00013415241e+11\n - 1.00078908111e+11\n serviceId: 15\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\norganization service assign can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Organization/serviceAssign:ServiceAssign example 15\n```\n", + "properties": { + "managementScope": { + "type": "integer", + "description": "Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`.\n" + }, + "managementScopeNodeIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "ID list of the managed departments. This parameter is valid when `management_scope` is `2`.\n" + }, + "managementScopeUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Uin list of the managed members. This parameter is valid when `management_scope` is `2`.\n" + }, + "memberUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Uin list of the delegated admins, Including up to 20 items.\n" + }, + "serviceId": { + "type": "integer", + "description": "Organization service ID.\n" + } + }, + "required": [ + "managementScope", + "memberUins", + "serviceId" + ], + "inputProperties": { + "managementScope": { + "type": "integer", + "description": "Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`.\n" + }, + "managementScopeNodeIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "ID list of the managed departments. This parameter is valid when `management_scope` is `2`.\n" + }, + "managementScopeUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Uin list of the managed members. This parameter is valid when `management_scope` is `2`.\n" + }, + "memberUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Uin list of the delegated admins, Including up to 20 items.\n" + }, + "serviceId": { + "type": "integer", + "description": "Organization service ID.\n" + } + }, + "requiredInputs": [ + "memberUins", + "serviceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ServiceAssign resources.\n", + "properties": { + "managementScope": { + "type": "integer", + "description": "Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`.\n" + }, + "managementScopeNodeIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "ID list of the managed departments. This parameter is valid when `management_scope` is `2`.\n" + }, + "managementScopeUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Uin list of the managed members. This parameter is valid when `management_scope` is `2`.\n" + }, + "memberUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Uin list of the delegated admins, Including up to 20 items.\n" + }, + "serviceId": { + "type": "integer", + "description": "Organization service ID.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Placement/group:Group": { "description": "Provide a resource to create a placement group.\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.placement.Group(\"foo\", {type: \"HOST\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.placement.Group(\"foo\", type=\"HOST\")\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.Placement.Group(\"foo\", new()\n {\n Type = \"HOST\",\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/Placement\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Placement.NewGroup(ctx, \"foo\", \u0026Placement.GroupArgs{\n\t\t\tType: pulumi.String(\"HOST\"),\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.Placement.Group;\nimport com.pulumi.tencentcloud.Placement.GroupArgs;\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 Group(\"foo\", GroupArgs.builder() \n .type(\"HOST\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Placement:Group\n properties:\n type: HOST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPlacement group can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Placement/group:Group foo ps-ilan8vjf\n```\n", "properties": { @@ -186335,6 +193338,185 @@ "type": "object" } }, + "tencentcloud:Postgresql/account:Account": { + "description": "Provides a resource to create a postgresql account\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 exampleInstance = new tencentcloud.postgresql.Instance(\"exampleInstance\", {\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// create account\nconst exampleAccount = new tencentcloud.postgresql.Account(\"exampleAccount\", {\n dbInstanceId: exampleInstance.id,\n userName: \"tf_example\",\n password: \"Password@123\",\n type: \"normal\",\n remark: \"remark\",\n lockStatus: false,\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_instance = tencentcloud.postgresql.Instance(\"exampleInstance\",\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# create account\nexample_account = tencentcloud.postgresql.Account(\"exampleAccount\",\n db_instance_id=example_instance.id,\n user_name=\"tf_example\",\n password=\"Password@123\",\n type=\"normal\",\n remark=\"remark\",\n lock_status=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 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 exampleInstance = new Tencentcloud.Postgresql.Instance(\"exampleInstance\", 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 // create account\n var exampleAccount = new Tencentcloud.Postgresql.Account(\"exampleAccount\", new()\n {\n DbInstanceId = exampleInstance.Id,\n UserName = \"tf_example\",\n Password = \"Password@123\",\n Type = \"normal\",\n Remark = \"remark\",\n LockStatus = 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/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\texampleInstance, err := Postgresql.NewInstance(ctx, \"exampleInstance\", \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\t// create account\n\t\t_, err = Postgresql.NewAccount(ctx, \"exampleAccount\", \u0026Postgresql.AccountArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tUserName: pulumi.String(\"tf_example\"),\n\t\t\tPassword: pulumi.String(\"Password@123\"),\n\t\t\tType: pulumi.String(\"normal\"),\n\t\t\tRemark: pulumi.String(\"remark\"),\n\t\t\tLockStatus: 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.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.Account;\nimport com.pulumi.tencentcloud.Postgresql.AccountArgs;\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 exampleInstance = new Instance(\"exampleInstance\", 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 // create account\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .dbInstanceId(exampleInstance.id())\n .userName(\"tf_example\")\n .password(\"Password@123\")\n .type(\"normal\")\n .remark(\"remark\")\n .lockStatus(false)\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 exampleInstance:\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 # create account\n exampleAccount:\n type: tencentcloud:Postgresql:Account\n properties:\n dbInstanceId: ${exampleInstance.id}\n userName: tf_example\n password: Password@123\n type: normal\n remark: remark\n lockStatus: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\npostgres account can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Postgresql/account:Account example postgres-3hk6b6tj#tf_example\n```\n\n", + "properties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID in the format of postgres-4wdeb0zv.\n" + }, + "lockStatus": { + "type": "boolean", + "description": "whether lock account. true: locked; false: unlock.\n" + }, + "password": { + "type": "string", + "description": "Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^\u0026amp;amp;amp;*-+=_|{}[]:;\u0026amp;amp;#39;\u0026amp;amp;lt;\u0026amp;amp;gt;,.?/); can\u0026amp;amp;#39;t start with slash /.\n", + "secret": true + }, + "remark": { + "type": "string", + "description": "Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters.\n" + }, + "type": { + "type": "string", + "description": "The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role.\n" + }, + "userName": { + "type": "string", + "description": "Instance username, which can contain 1-16 letters, digits, and underscore (_); can\u0026amp;amp;#39;t be postgres; can\u0026amp;amp;#39;t start with numbers, pg_, and tencentdb_.\n" + } + }, + "required": [ + "dbInstanceId", + "lockStatus", + "password", + "type", + "userName" + ], + "inputProperties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID in the format of postgres-4wdeb0zv.\n", + "willReplaceOnChanges": true + }, + "lockStatus": { + "type": "boolean", + "description": "whether lock account. true: locked; false: unlock.\n" + }, + "password": { + "type": "string", + "description": "Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^\u0026amp;amp;amp;*-+=_|{}[]:;\u0026amp;amp;#39;\u0026amp;amp;lt;\u0026amp;amp;gt;,.?/); can\u0026amp;amp;#39;t start with slash /.\n", + "secret": true + }, + "remark": { + "type": "string", + "description": "Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters.\n" + }, + "type": { + "type": "string", + "description": "The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role.\n", + "willReplaceOnChanges": true + }, + "userName": { + "type": "string", + "description": "Instance username, which can contain 1-16 letters, digits, and underscore (_); can\u0026amp;amp;#39;t be postgres; can\u0026amp;amp;#39;t start with numbers, pg_, and tencentdb_.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "dbInstanceId", + "password", + "type", + "userName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Account resources.\n", + "properties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID in the format of postgres-4wdeb0zv.\n", + "willReplaceOnChanges": true + }, + "lockStatus": { + "type": "boolean", + "description": "whether lock account. true: locked; false: unlock.\n" + }, + "password": { + "type": "string", + "description": "Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^\u0026amp;amp;amp;*-+=_|{}[]:;\u0026amp;amp;#39;\u0026amp;amp;lt;\u0026amp;amp;gt;,.?/); can\u0026amp;amp;#39;t start with slash /.\n", + "secret": true + }, + "remark": { + "type": "string", + "description": "Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters.\n" + }, + "type": { + "type": "string", + "description": "The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role.\n", + "willReplaceOnChanges": true + }, + "userName": { + "type": "string", + "description": "Instance username, which can contain 1-16 letters, digits, and underscore (_); can\u0026amp;amp;#39;t be postgres; can\u0026amp;amp;#39;t start with numbers, pg_, and tencentdb_.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation": { + "description": "Provides a resource to create postgresql account privileges\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 exampleInstance = new tencentcloud.postgresql.Instance(\"exampleInstance\", {\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// create account\nconst exampleAccount = new tencentcloud.postgresql.Account(\"exampleAccount\", {\n dbInstanceId: exampleInstance.id,\n userName: \"tf_example\",\n password: \"Password@123\",\n type: \"normal\",\n remark: \"remark\",\n lockStatus: false,\n});\n// create account privileges\nconst exampleAccountPrivilegesOperation = new tencentcloud.postgresql.AccountPrivilegesOperation(\"exampleAccountPrivilegesOperation\", {\n dbInstanceId: exampleInstance.id,\n userName: exampleAccount.userName,\n modifyPrivilegeSets: [{\n databasePrivilege: {\n object: {\n objectName: \"postgres\",\n objectType: \"database\",\n },\n privilegeSets: [\n \"CONNECT\",\n \"TEMPORARY\",\n \"CREATE\",\n ],\n },\n modifyType: \"grantObject\",\n isCascade: false,\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_instance = tencentcloud.postgresql.Instance(\"exampleInstance\",\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# create account\nexample_account = tencentcloud.postgresql.Account(\"exampleAccount\",\n db_instance_id=example_instance.id,\n user_name=\"tf_example\",\n password=\"Password@123\",\n type=\"normal\",\n remark=\"remark\",\n lock_status=False)\n# create account privileges\nexample_account_privileges_operation = tencentcloud.postgresql.AccountPrivilegesOperation(\"exampleAccountPrivilegesOperation\",\n db_instance_id=example_instance.id,\n user_name=example_account.user_name,\n modify_privilege_sets=[tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetArgs(\n database_privilege=tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs(\n object=tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs(\n object_name=\"postgres\",\n object_type=\"database\",\n ),\n privilege_sets=[\n \"CONNECT\",\n \"TEMPORARY\",\n \"CREATE\",\n ],\n ),\n modify_type=\"grantObject\",\n is_cascade=False,\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 exampleInstance = new Tencentcloud.Postgresql.Instance(\"exampleInstance\", 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 // create account\n var exampleAccount = new Tencentcloud.Postgresql.Account(\"exampleAccount\", new()\n {\n DbInstanceId = exampleInstance.Id,\n UserName = \"tf_example\",\n Password = \"Password@123\",\n Type = \"normal\",\n Remark = \"remark\",\n LockStatus = false,\n });\n\n // create account privileges\n var exampleAccountPrivilegesOperation = new Tencentcloud.Postgresql.AccountPrivilegesOperation(\"exampleAccountPrivilegesOperation\", new()\n {\n DbInstanceId = exampleInstance.Id,\n UserName = exampleAccount.UserName,\n ModifyPrivilegeSets = new[]\n {\n new Tencentcloud.Postgresql.Inputs.AccountPrivilegesOperationModifyPrivilegeSetArgs\n {\n DatabasePrivilege = new Tencentcloud.Postgresql.Inputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs\n {\n Object = new Tencentcloud.Postgresql.Inputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs\n {\n ObjectName = \"postgres\",\n ObjectType = \"database\",\n },\n PrivilegeSets = new[]\n {\n \"CONNECT\",\n \"TEMPORARY\",\n \"CREATE\",\n },\n },\n ModifyType = \"grantObject\",\n IsCascade = false,\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/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\texampleInstance, err := Postgresql.NewInstance(ctx, \"exampleInstance\", \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\t// create account\n\t\texampleAccount, err := Postgresql.NewAccount(ctx, \"exampleAccount\", \u0026Postgresql.AccountArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tUserName: pulumi.String(\"tf_example\"),\n\t\t\tPassword: pulumi.String(\"Password@123\"),\n\t\t\tType: pulumi.String(\"normal\"),\n\t\t\tRemark: pulumi.String(\"remark\"),\n\t\t\tLockStatus: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create account privileges\n\t\t_, err = Postgresql.NewAccountPrivilegesOperation(ctx, \"exampleAccountPrivilegesOperation\", \u0026Postgresql.AccountPrivilegesOperationArgs{\n\t\t\tDbInstanceId: exampleInstance.ID(),\n\t\t\tUserName: exampleAccount.UserName,\n\t\t\tModifyPrivilegeSets: postgresql.AccountPrivilegesOperationModifyPrivilegeSetArray{\n\t\t\t\t\u0026postgresql.AccountPrivilegesOperationModifyPrivilegeSetArgs{\n\t\t\t\t\tDatabasePrivilege: \u0026postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs{\n\t\t\t\t\t\tObject: \u0026postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs{\n\t\t\t\t\t\t\tObjectName: pulumi.String(\"postgres\"),\n\t\t\t\t\t\t\tObjectType: pulumi.String(\"database\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tPrivilegeSets: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"CONNECT\"),\n\t\t\t\t\t\t\tpulumi.String(\"TEMPORARY\"),\n\t\t\t\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tModifyType: pulumi.String(\"grantObject\"),\n\t\t\t\t\tIsCascade: pulumi.Bool(false),\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.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.Account;\nimport com.pulumi.tencentcloud.Postgresql.AccountArgs;\nimport com.pulumi.tencentcloud.Postgresql.AccountPrivilegesOperation;\nimport com.pulumi.tencentcloud.Postgresql.AccountPrivilegesOperationArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.AccountPrivilegesOperationModifyPrivilegeSetArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs;\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 exampleInstance = new Instance(\"exampleInstance\", 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 // create account\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .dbInstanceId(exampleInstance.id())\n .userName(\"tf_example\")\n .password(\"Password@123\")\n .type(\"normal\")\n .remark(\"remark\")\n .lockStatus(false)\n .build());\n\n // create account privileges\n var exampleAccountPrivilegesOperation = new AccountPrivilegesOperation(\"exampleAccountPrivilegesOperation\", AccountPrivilegesOperationArgs.builder() \n .dbInstanceId(exampleInstance.id())\n .userName(exampleAccount.userName())\n .modifyPrivilegeSets(AccountPrivilegesOperationModifyPrivilegeSetArgs.builder()\n .databasePrivilege(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs.builder()\n .object(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs.builder()\n .objectName(\"postgres\")\n .objectType(\"database\")\n .build())\n .privilegeSets( \n \"CONNECT\",\n \"TEMPORARY\",\n \"CREATE\")\n .build())\n .modifyType(\"grantObject\")\n .isCascade(false)\n .build())\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 exampleInstance:\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 # create account\n exampleAccount:\n type: tencentcloud:Postgresql:Account\n properties:\n dbInstanceId: ${exampleInstance.id}\n userName: tf_example\n password: Password@123\n type: normal\n remark: remark\n lockStatus: false\n # create account privileges\n exampleAccountPrivilegesOperation:\n type: tencentcloud:Postgresql:AccountPrivilegesOperation\n properties:\n dbInstanceId: ${exampleInstance.id}\n userName: ${exampleAccount.userName}\n modifyPrivilegeSets:\n - databasePrivilege:\n object:\n objectName: postgres\n objectType: database\n privilegeSets:\n - CONNECT\n - TEMPORARY\n - CREATE\n modifyType: grantObject\n isCascade: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "properties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID in the format of postgres-4wdeb0zv.\n" + }, + "modifyPrivilegeSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSet:AccountPrivilegesOperationModifyPrivilegeSet" + }, + "description": "Privileges to modify. Batch modification supported, up to 50 entries at a time.\n" + }, + "userName": { + "type": "string", + "description": "Instance username.\n" + } + }, + "required": [ + "dbInstanceId", + "modifyPrivilegeSets", + "userName" + ], + "inputProperties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID in the format of postgres-4wdeb0zv.\n", + "willReplaceOnChanges": true + }, + "modifyPrivilegeSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSet:AccountPrivilegesOperationModifyPrivilegeSet" + }, + "description": "Privileges to modify. Batch modification supported, up to 50 entries at a time.\n" + }, + "userName": { + "type": "string", + "description": "Instance username.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "dbInstanceId", + "modifyPrivilegeSets", + "userName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AccountPrivilegesOperation resources.\n", + "properties": { + "dbInstanceId": { + "type": "string", + "description": "Instance ID in the format of postgres-4wdeb0zv.\n", + "willReplaceOnChanges": true + }, + "modifyPrivilegeSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/AccountPrivilegesOperationModifyPrivilegeSet:AccountPrivilegesOperationModifyPrivilegeSet" + }, + "description": "Privileges to modify. Batch modification supported, up to 50 entries at a time.\n" + }, + "userName": { + "type": "string", + "description": "Instance username.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Postgresql/backupDownloadRestrictionConfig:BackupDownloadRestrictionConfig": { "description": "Provides a resource to create a postgresql backup_download_restriction_config\n\n## Example Usage\n\n### Unlimit the restriction of the backup file download.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst backupDownloadRestrictionConfig = new tencentcloud.postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", {restrictionType: \"NONE\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nbackup_download_restriction_config = tencentcloud.postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", restriction_type=\"NONE\")\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 backupDownloadRestrictionConfig = new Tencentcloud.Postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", new()\n {\n RestrictionType = \"NONE\",\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.NewBackupDownloadRestrictionConfig(ctx, \"backupDownloadRestrictionConfig\", \u0026Postgresql.BackupDownloadRestrictionConfigArgs{\n\t\t\tRestrictionType: pulumi.String(\"NONE\"),\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.BackupDownloadRestrictionConfig;\nimport com.pulumi.tencentcloud.Postgresql.BackupDownloadRestrictionConfigArgs;\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 backupDownloadRestrictionConfig = new BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", BackupDownloadRestrictionConfigArgs.builder() \n .restrictionType(\"NONE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n backupDownloadRestrictionConfig:\n type: tencentcloud:Postgresql:BackupDownloadRestrictionConfig\n properties:\n restrictionType: NONE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Set the download only to allow the intranet downloads.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst backupDownloadRestrictionConfig = new tencentcloud.postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", {restrictionType: \"INTRANET\"});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nbackup_download_restriction_config = tencentcloud.postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", restriction_type=\"INTRANET\")\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 backupDownloadRestrictionConfig = new Tencentcloud.Postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", new()\n {\n RestrictionType = \"INTRANET\",\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.NewBackupDownloadRestrictionConfig(ctx, \"backupDownloadRestrictionConfig\", \u0026Postgresql.BackupDownloadRestrictionConfigArgs{\n\t\t\tRestrictionType: pulumi.String(\"INTRANET\"),\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.BackupDownloadRestrictionConfig;\nimport com.pulumi.tencentcloud.Postgresql.BackupDownloadRestrictionConfigArgs;\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 backupDownloadRestrictionConfig = new BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", BackupDownloadRestrictionConfigArgs.builder() \n .restrictionType(\"INTRANET\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n backupDownloadRestrictionConfig:\n type: tencentcloud:Postgresql:BackupDownloadRestrictionConfig\n properties:\n restrictionType: INTRANET\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Restrict the backup file download by customizing.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst pgVpc = new tencentcloud.vpc.Instance(\"pgVpc\", {cidrBlock: _var.vpc_cidr});\nconst backupDownloadRestrictionConfig = new tencentcloud.postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", {\n restrictionType: \"CUSTOMIZE\",\n vpcRestrictionEffect: \"DENY\",\n vpcIdSets: [tencentcloud_vpc.pg_vpc2.id],\n ipRestrictionEffect: \"DENY\",\n ipSets: [\"192.168.0.0\"],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\npg_vpc = tencentcloud.vpc.Instance(\"pgVpc\", cidr_block=var[\"vpc_cidr\"])\nbackup_download_restriction_config = tencentcloud.postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\",\n restriction_type=\"CUSTOMIZE\",\n vpc_restriction_effect=\"DENY\",\n vpc_id_sets=[tencentcloud_vpc[\"pg_vpc2\"][\"id\"]],\n ip_restriction_effect=\"DENY\",\n ip_sets=[\"192.168.0.0\"])\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 pgVpc = new Tencentcloud.Vpc.Instance(\"pgVpc\", new()\n {\n CidrBlock = @var.Vpc_cidr,\n });\n\n var backupDownloadRestrictionConfig = new Tencentcloud.Postgresql.BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", new()\n {\n RestrictionType = \"CUSTOMIZE\",\n VpcRestrictionEffect = \"DENY\",\n VpcIdSets = new[]\n {\n tencentcloud_vpc.Pg_vpc2.Id,\n },\n IpRestrictionEffect = \"DENY\",\n IpSets = new[]\n {\n \"192.168.0.0\",\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\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_, err := Vpc.NewInstance(ctx, \"pgVpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.Any(_var.Vpc_cidr),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Postgresql.NewBackupDownloadRestrictionConfig(ctx, \"backupDownloadRestrictionConfig\", \u0026Postgresql.BackupDownloadRestrictionConfigArgs{\n\t\t\tRestrictionType: pulumi.String(\"CUSTOMIZE\"),\n\t\t\tVpcRestrictionEffect: pulumi.String(\"DENY\"),\n\t\t\tVpcIdSets: pulumi.StringArray{\n\t\t\t\ttencentcloud_vpc.Pg_vpc2.Id,\n\t\t\t},\n\t\t\tIpRestrictionEffect: pulumi.String(\"DENY\"),\n\t\t\tIpSets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0\"),\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.Postgresql.BackupDownloadRestrictionConfig;\nimport com.pulumi.tencentcloud.Postgresql.BackupDownloadRestrictionConfigArgs;\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 pgVpc = new Instance(\"pgVpc\", InstanceArgs.builder() \n .cidrBlock(var_.vpc_cidr())\n .build());\n\n var backupDownloadRestrictionConfig = new BackupDownloadRestrictionConfig(\"backupDownloadRestrictionConfig\", BackupDownloadRestrictionConfigArgs.builder() \n .restrictionType(\"CUSTOMIZE\")\n .vpcRestrictionEffect(\"DENY\")\n .vpcIdSets(tencentcloud_vpc.pg_vpc2().id())\n .ipRestrictionEffect(\"DENY\")\n .ipSets(\"192.168.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pgVpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: ${var.vpc_cidr}\n backupDownloadRestrictionConfig:\n type: tencentcloud:Postgresql:BackupDownloadRestrictionConfig\n properties:\n restrictionType: CUSTOMIZE\n vpcRestrictionEffect: DENY\n vpcIdSets:\n - ${tencentcloud_vpc.pg_vpc2.id}\n ipRestrictionEffect: DENY\n ipSets:\n - 192.168.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\npostgresql backup_download_restriction_config can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Postgresql/backupDownloadRestrictionConfig:BackupDownloadRestrictionConfig backup_download_restriction_config backup_download_restriction_config_id\n```\n\n", "properties": { @@ -186737,7 +193919,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\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", + "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### Create a postgresql instance\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 postgresql instance with delete protection\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 deleteProtection: true,\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 delete_protection=True,\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 DeleteProtection = true,\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\tDeleteProtection: 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\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 .deleteProtection(true)\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 deleteProtection: true\n tags:\n test: tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a multi available zone postgresql instance\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 a multi available zone postgresql instance of CDC\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-4\";\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 dedicatedClusterId: \"cluster-262n63e8\",\n },\n {\n zone: availabilityZone,\n dedicatedClusterId: \"cluster-262n63e8\",\n },\n ],\n tags: {\n CreateBy: \"terraform\",\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-4\"\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 dedicated_cluster_id=\"cluster-262n63e8\",\n ),\n tencentcloud.postgresql.InstanceDbNodeSetArgs(\n zone=availability_zone,\n dedicated_cluster_id=\"cluster-262n63e8\",\n ),\n ],\n tags={\n \"CreateBy\": \"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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\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 DedicatedClusterId = \"cluster-262n63e8\",\n },\n new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs\n {\n Zone = availabilityZone,\n DedicatedClusterId = \"cluster-262n63e8\",\n },\n },\n Tags = \n {\n { \"CreateBy\", \"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/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-4\"\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\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\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\t\t},\n\t\t\t\t\u0026postgresql.InstanceDbNodeSetArgs{\n\t\t\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"CreateBy\": 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.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-4\");\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 .dedicatedClusterId(\"cluster-262n63e8\")\n .build(),\n InstanceDbNodeSetArgs.builder()\n .zone(availabilityZone)\n .dedicatedClusterId(\"cluster-262n63e8\")\n .build())\n .tags(Map.of(\"CreateBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\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 dedicatedClusterId: cluster-262n63e8\n - zone: ${availabilityZone}\n dedicatedClusterId: cluster-262n63e8\n tags:\n CreateBy: terraform\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", @@ -186791,6 +193973,10 @@ }, "description": "Specify instance node info for disaster migration.\n" }, + "deleteProtection": { + "type": "boolean", + "description": "Whether to enable instance deletion protection. Default: false.\n" + }, "engineVersion": { "type": "string", "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" @@ -186973,6 +194159,10 @@ }, "description": "Specify instance node info for disaster migration.\n" }, + "deleteProtection": { + "type": "boolean", + "description": "Whether to enable instance deletion protection. Default: false.\n" + }, "engineVersion": { "type": "string", "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" @@ -187125,6 +194315,10 @@ }, "description": "Specify instance node info for disaster migration.\n" }, + "deleteProtection": { + "type": "boolean", + "description": "Whether to enable instance deletion protection. Default: false.\n" + }, "engineVersion": { "type": "string", "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" @@ -187652,7 +194846,7 @@ } }, "tencentcloud:Postgresql/readonlyGroup:ReadonlyGroup": { - "description": "Use this resource to create postgresql readonly group.\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 group = new tencentcloud.postgresql.ReadonlyGroup(\"group\", {\n masterDbInstanceId: \"postgres-gzg9jb2n\",\n maxReplayLag: 100,\n maxReplayLatency: 512,\n minDelayEliminateReserve: 1,\n projectId: 0,\n replayLagEliminate: 1,\n replayLatencyEliminate: 1,\n subnetId: \"subnet-enm92y0m\",\n vpcId: \"vpc-86v957zb\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ngroup = tencentcloud.postgresql.ReadonlyGroup(\"group\",\n master_db_instance_id=\"postgres-gzg9jb2n\",\n max_replay_lag=100,\n max_replay_latency=512,\n min_delay_eliminate_reserve=1,\n project_id=0,\n replay_lag_eliminate=1,\n replay_latency_eliminate=1,\n subnet_id=\"subnet-enm92y0m\",\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 @group = new Tencentcloud.Postgresql.ReadonlyGroup(\"group\", new()\n {\n MasterDbInstanceId = \"postgres-gzg9jb2n\",\n MaxReplayLag = 100,\n MaxReplayLatency = 512,\n MinDelayEliminateReserve = 1,\n ProjectId = 0,\n ReplayLagEliminate = 1,\n ReplayLatencyEliminate = 1,\n SubnetId = \"subnet-enm92y0m\",\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.NewReadonlyGroup(ctx, \"group\", \u0026Postgresql.ReadonlyGroupArgs{\n\t\t\tMasterDbInstanceId: pulumi.String(\"postgres-gzg9jb2n\"),\n\t\t\tMaxReplayLag: pulumi.Int(100),\n\t\t\tMaxReplayLatency: pulumi.Int(512),\n\t\t\tMinDelayEliminateReserve: pulumi.Int(1),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tReplayLagEliminate: pulumi.Int(1),\n\t\t\tReplayLatencyEliminate: pulumi.Int(1),\n\t\t\tSubnetId: pulumi.String(\"subnet-enm92y0m\"),\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.ReadonlyGroup;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyGroupArgs;\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 group = new ReadonlyGroup(\"group\", ReadonlyGroupArgs.builder() \n .masterDbInstanceId(\"postgres-gzg9jb2n\")\n .maxReplayLag(100)\n .maxReplayLatency(512)\n .minDelayEliminateReserve(1)\n .projectId(0)\n .replayLagEliminate(1)\n .replayLatencyEliminate(1)\n .subnetId(\"subnet-enm92y0m\")\n .vpcId(\"vpc-86v957zb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n group:\n type: tencentcloud:Postgresql:ReadonlyGroup\n properties:\n masterDbInstanceId: postgres-gzg9jb2n\n maxReplayLag: 100\n maxReplayLatency: 512\n minDelayEliminateReserve: 1\n projectId: 0\n replayLagEliminate: 1\n replayLatencyEliminate: 1\n subnetId: subnet-enm92y0m\n vpcId: vpc-86v957zb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this resource to create postgresql readonly group.\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 exampleInstance = new tencentcloud.postgresql.Instance(\"exampleInstance\", {\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: 4,\n cpu: 2,\n storage: 50,\n tags: {\n test: \"tf\",\n },\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\nconst exampleReadonlyGroup = new tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", {\n masterDbInstanceId: exampleInstance.id,\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n securityGroupsIds: [exampleGroup.id],\n replayLagEliminate: 1,\n replayLatencyEliminate: 1,\n maxReplayLag: 100,\n maxReplayLatency: 512,\n minDelayEliminateReserve: 1,\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_instance = tencentcloud.postgresql.Instance(\"exampleInstance\",\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=4,\n cpu=2,\n storage=50,\n tags={\n \"test\": \"tf\",\n })\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\nexample_readonly_group = tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\",\n master_db_instance_id=example_instance.id,\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n security_groups_ids=[example_group.id],\n replay_lag_eliminate=1,\n replay_latency_eliminate=1,\n max_replay_lag=100,\n max_replay_latency=512,\n min_delay_eliminate_reserve=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 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 exampleInstance = new Tencentcloud.Postgresql.Instance(\"exampleInstance\", 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 = 4,\n Cpu = 2,\n Storage = 50,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n var exampleReadonlyGroup = new Tencentcloud.Postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", new()\n {\n MasterDbInstanceId = exampleInstance.Id,\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n SecurityGroupsIds = new[]\n {\n exampleGroup.Id,\n },\n ReplayLagEliminate = 1,\n ReplayLatencyEliminate = 1,\n MaxReplayLag = 100,\n MaxReplayLatency = 512,\n MinDelayEliminateReserve = 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/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/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\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\texampleInstance, err := Postgresql.NewInstance(ctx, \"exampleInstance\", \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(4),\n\t\t\tCpu: pulumi.Int(2),\n\t\t\tStorage: pulumi.Int(50),\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\t// create security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t_, err = Postgresql.NewReadonlyGroup(ctx, \"exampleReadonlyGroup\", \u0026Postgresql.ReadonlyGroupArgs{\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tSecurityGroupsIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tReplayLagEliminate: pulumi.Int(1),\n\t\t\tReplayLatencyEliminate: pulumi.Int(1),\n\t\t\tMaxReplayLag: pulumi.Int(100),\n\t\t\tMaxReplayLatency: pulumi.Int(512),\n\t\t\tMinDelayEliminateReserve: 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.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.Security.Group;\nimport com.pulumi.tencentcloud.Security.GroupArgs;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyGroup;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyGroupArgs;\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 exampleInstance = new Instance(\"exampleInstance\", 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(4)\n .cpu(2)\n .storage(50)\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n var exampleReadonlyGroup = new ReadonlyGroup(\"exampleReadonlyGroup\", ReadonlyGroupArgs.builder() \n .masterDbInstanceId(exampleInstance.id())\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .securityGroupsIds(exampleGroup.id())\n .replayLagEliminate(1)\n .replayLatencyEliminate(1)\n .maxReplayLag(100)\n .maxReplayLatency(512)\n .minDelayEliminateReserve(1)\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 exampleInstance:\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: 4\n cpu: 2\n storage: 50\n tags:\n test: tf\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n exampleReadonlyGroup:\n type: tencentcloud:Postgresql:ReadonlyGroup\n properties:\n masterDbInstanceId: ${exampleInstance.id}\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n securityGroupsIds:\n - ${exampleGroup.id}\n replayLagEliminate: 1\n replayLatencyEliminate: 1\n maxReplayLag: 100\n maxReplayLatency: 512\n minDelayEliminateReserve: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\npostgresql readonly group can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Postgresql/readonlyGroup:ReadonlyGroup example pgrogrp-lckioi2a\n```\n", "properties": { "createTime": { "type": "string", @@ -187855,7 +195049,7 @@ } }, "tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance": { - "description": "Use this resource to create postgresql readonly 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 exampleInstance = new tencentcloud.postgresql.Instance(\"exampleInstance\", {\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 tags: {\n test: \"tf\",\n },\n});\nconst exampleReadonlyGroup = new tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", {\n masterDbInstanceId: exampleInstance.id,\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n replayLagEliminate: 1,\n replayLatencyEliminate: 1,\n maxReplayLag: 100,\n maxReplayLatency: 512,\n minDelayEliminateReserve: 1,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\nconst exampleReadonlyInstance = new tencentcloud.postgresql.ReadonlyInstance(\"exampleReadonlyInstance\", {\n readOnlyGroupId: exampleReadonlyGroup.id,\n masterDbInstanceId: exampleInstance.id,\n zone: availabilityZone,\n autoRenewFlag: 0,\n dbVersion: \"10.4\",\n instanceChargeType: \"POSTPAID_BY_HOUR\",\n memory: 4,\n cpu: 2,\n storage: 250,\n vpcId: vpc.id,\n subnetId: subnet.id,\n needSupportIpv6: 0,\n projectId: 0,\n securityGroupsIds: [exampleGroup.id],\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_instance = tencentcloud.postgresql.Instance(\"exampleInstance\",\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 tags={\n \"test\": \"tf\",\n })\nexample_readonly_group = tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\",\n master_db_instance_id=example_instance.id,\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n replay_lag_eliminate=1,\n replay_latency_eliminate=1,\n max_replay_lag=100,\n max_replay_latency=512,\n min_delay_eliminate_reserve=1)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\nexample_readonly_instance = tencentcloud.postgresql.ReadonlyInstance(\"exampleReadonlyInstance\",\n read_only_group_id=example_readonly_group.id,\n master_db_instance_id=example_instance.id,\n zone=availability_zone,\n auto_renew_flag=0,\n db_version=\"10.4\",\n instance_charge_type=\"POSTPAID_BY_HOUR\",\n memory=4,\n cpu=2,\n storage=250,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n need_support_ipv6=0,\n project_id=0,\n security_groups_ids=[example_group.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 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 exampleInstance = new Tencentcloud.Postgresql.Instance(\"exampleInstance\", 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 Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n var exampleReadonlyGroup = new Tencentcloud.Postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", new()\n {\n MasterDbInstanceId = exampleInstance.Id,\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n ReplayLagEliminate = 1,\n ReplayLatencyEliminate = 1,\n MaxReplayLag = 100,\n MaxReplayLatency = 512,\n MinDelayEliminateReserve = 1,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n var exampleReadonlyInstance = new Tencentcloud.Postgresql.ReadonlyInstance(\"exampleReadonlyInstance\", new()\n {\n ReadOnlyGroupId = exampleReadonlyGroup.Id,\n MasterDbInstanceId = exampleInstance.Id,\n Zone = availabilityZone,\n AutoRenewFlag = 0,\n DbVersion = \"10.4\",\n InstanceChargeType = \"POSTPAID_BY_HOUR\",\n Memory = 4,\n Cpu = 2,\n Storage = 250,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n NeedSupportIpv6 = 0,\n ProjectId = 0,\n SecurityGroupsIds = new[]\n {\n exampleGroup.Id,\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/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\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\texampleInstance, err := Postgresql.NewInstance(ctx, \"exampleInstance\", \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\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\texampleReadonlyGroup, err := Postgresql.NewReadonlyGroup(ctx, \"exampleReadonlyGroup\", \u0026Postgresql.ReadonlyGroupArgs{\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tReplayLagEliminate: pulumi.Int(1),\n\t\t\tReplayLatencyEliminate: pulumi.Int(1),\n\t\t\tMaxReplayLag: pulumi.Int(100),\n\t\t\tMaxReplayLatency: pulumi.Int(512),\n\t\t\tMinDelayEliminateReserve: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t_, err = Postgresql.NewReadonlyInstance(ctx, \"exampleReadonlyInstance\", \u0026Postgresql.ReadonlyInstanceArgs{\n\t\t\tReadOnlyGroupId: exampleReadonlyGroup.ID(),\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tAutoRenewFlag: pulumi.Int(0),\n\t\t\tDbVersion: pulumi.String(\"10.4\"),\n\t\t\tInstanceChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tCpu: pulumi.Int(2),\n\t\t\tStorage: pulumi.Int(250),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tNeedSupportIpv6: pulumi.Int(0),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSecurityGroupsIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\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.ReadonlyGroup;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyGroupArgs;\nimport com.pulumi.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Security.GroupArgs;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyInstance;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyInstanceArgs;\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 exampleInstance = new Instance(\"exampleInstance\", 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 .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n var exampleReadonlyGroup = new ReadonlyGroup(\"exampleReadonlyGroup\", ReadonlyGroupArgs.builder() \n .masterDbInstanceId(exampleInstance.id())\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .replayLagEliminate(1)\n .replayLatencyEliminate(1)\n .maxReplayLag(100)\n .maxReplayLatency(512)\n .minDelayEliminateReserve(1)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n var exampleReadonlyInstance = new ReadonlyInstance(\"exampleReadonlyInstance\", ReadonlyInstanceArgs.builder() \n .readOnlyGroupId(exampleReadonlyGroup.id())\n .masterDbInstanceId(exampleInstance.id())\n .zone(availabilityZone)\n .autoRenewFlag(0)\n .dbVersion(\"10.4\")\n .instanceChargeType(\"POSTPAID_BY_HOUR\")\n .memory(4)\n .cpu(2)\n .storage(250)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .needSupportIpv6(0)\n .projectId(0)\n .securityGroupsIds(exampleGroup.id())\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 exampleInstance:\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 tags:\n test: tf\n exampleReadonlyGroup:\n type: tencentcloud:Postgresql:ReadonlyGroup\n properties:\n masterDbInstanceId: ${exampleInstance.id}\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n replayLagEliminate: 1\n replayLatencyEliminate: 1\n maxReplayLag: 100\n maxReplayLatency: 512\n minDelayEliminateReserve: 1\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n exampleReadonlyInstance:\n type: tencentcloud:Postgresql:ReadonlyInstance\n properties:\n readOnlyGroupId: ${exampleReadonlyGroup.id}\n masterDbInstanceId: ${exampleInstance.id}\n zone: ${availabilityZone}\n autoRenewFlag: 0\n dbVersion: '10.4'\n instanceChargeType: POSTPAID_BY_HOUR\n memory: 4\n cpu: 2\n storage: 250\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n needSupportIpv6: 0\n projectId: 0\n securityGroupsIds:\n - ${exampleGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\npostgresql readonly instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example instance_id\n```\n", + "description": "Use this resource to create postgresql readonly instance.\n\n## Example Usage\n\n### Create postgresql readonly instance\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 exampleInstance = new tencentcloud.postgresql.Instance(\"exampleInstance\", {\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 tags: {\n test: \"tf\",\n },\n});\n// create postgresql readonly group\nconst exampleReadonlyGroup = new tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", {\n masterDbInstanceId: exampleInstance.id,\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n replayLagEliminate: 1,\n replayLatencyEliminate: 1,\n maxReplayLag: 100,\n maxReplayLatency: 512,\n minDelayEliminateReserve: 1,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n example: \"test\",\n },\n});\n// create postgresql readonly instance\nconst exampleReadonlyInstance = new tencentcloud.postgresql.ReadonlyInstance(\"exampleReadonlyInstance\", {\n readOnlyGroupId: exampleReadonlyGroup.id,\n masterDbInstanceId: exampleInstance.id,\n zone: availabilityZone,\n autoRenewFlag: 0,\n dbVersion: \"10.23\",\n instanceChargeType: \"POSTPAID_BY_HOUR\",\n memory: 4,\n cpu: 2,\n storage: 250,\n vpcId: vpc.id,\n subnetId: subnet.id,\n needSupportIpv6: 0,\n projectId: 0,\n securityGroupsIds: [exampleGroup.id],\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_instance = tencentcloud.postgresql.Instance(\"exampleInstance\",\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 tags={\n \"test\": \"tf\",\n })\n# create postgresql readonly group\nexample_readonly_group = tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\",\n master_db_instance_id=example_instance.id,\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n replay_lag_eliminate=1,\n replay_latency_eliminate=1,\n max_replay_lag=100,\n max_replay_latency=512,\n min_delay_eliminate_reserve=1)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"example\": \"test\",\n })\n# create postgresql readonly instance\nexample_readonly_instance = tencentcloud.postgresql.ReadonlyInstance(\"exampleReadonlyInstance\",\n read_only_group_id=example_readonly_group.id,\n master_db_instance_id=example_instance.id,\n zone=availability_zone,\n auto_renew_flag=0,\n db_version=\"10.23\",\n instance_charge_type=\"POSTPAID_BY_HOUR\",\n memory=4,\n cpu=2,\n storage=250,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n need_support_ipv6=0,\n project_id=0,\n security_groups_ids=[example_group.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 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 exampleInstance = new Tencentcloud.Postgresql.Instance(\"exampleInstance\", 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 Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n // create postgresql readonly group\n var exampleReadonlyGroup = new Tencentcloud.Postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", new()\n {\n MasterDbInstanceId = exampleInstance.Id,\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n ReplayLagEliminate = 1,\n ReplayLatencyEliminate = 1,\n MaxReplayLag = 100,\n MaxReplayLatency = 512,\n MinDelayEliminateReserve = 1,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"example\", \"test\" },\n },\n });\n\n // create postgresql readonly instance\n var exampleReadonlyInstance = new Tencentcloud.Postgresql.ReadonlyInstance(\"exampleReadonlyInstance\", new()\n {\n ReadOnlyGroupId = exampleReadonlyGroup.Id,\n MasterDbInstanceId = exampleInstance.Id,\n Zone = availabilityZone,\n AutoRenewFlag = 0,\n DbVersion = \"10.23\",\n InstanceChargeType = \"POSTPAID_BY_HOUR\",\n Memory = 4,\n Cpu = 2,\n Storage = 250,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n NeedSupportIpv6 = 0,\n ProjectId = 0,\n SecurityGroupsIds = new[]\n {\n exampleGroup.Id,\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/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\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\texampleInstance, err := Postgresql.NewInstance(ctx, \"exampleInstance\", \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\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\t// create postgresql readonly group\n\t\texampleReadonlyGroup, err := Postgresql.NewReadonlyGroup(ctx, \"exampleReadonlyGroup\", \u0026Postgresql.ReadonlyGroupArgs{\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tReplayLagEliminate: pulumi.Int(1),\n\t\t\tReplayLatencyEliminate: pulumi.Int(1),\n\t\t\tMaxReplayLag: pulumi.Int(100),\n\t\t\tMaxReplayLatency: pulumi.Int(512),\n\t\t\tMinDelayEliminateReserve: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"example\": 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\t// create postgresql readonly instance\n\t\t_, err = Postgresql.NewReadonlyInstance(ctx, \"exampleReadonlyInstance\", \u0026Postgresql.ReadonlyInstanceArgs{\n\t\t\tReadOnlyGroupId: exampleReadonlyGroup.ID(),\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tAutoRenewFlag: pulumi.Int(0),\n\t\t\tDbVersion: pulumi.String(\"10.23\"),\n\t\t\tInstanceChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tCpu: pulumi.Int(2),\n\t\t\tStorage: pulumi.Int(250),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tNeedSupportIpv6: pulumi.Int(0),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSecurityGroupsIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\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.ReadonlyGroup;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyGroupArgs;\nimport com.pulumi.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Security.GroupArgs;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyInstance;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyInstanceArgs;\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 exampleInstance = new Instance(\"exampleInstance\", 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 .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n // create postgresql readonly group\n var exampleReadonlyGroup = new ReadonlyGroup(\"exampleReadonlyGroup\", ReadonlyGroupArgs.builder() \n .masterDbInstanceId(exampleInstance.id())\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .replayLagEliminate(1)\n .replayLatencyEliminate(1)\n .maxReplayLag(100)\n .maxReplayLatency(512)\n .minDelayEliminateReserve(1)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"example\", \"test\"))\n .build());\n\n // create postgresql readonly instance\n var exampleReadonlyInstance = new ReadonlyInstance(\"exampleReadonlyInstance\", ReadonlyInstanceArgs.builder() \n .readOnlyGroupId(exampleReadonlyGroup.id())\n .masterDbInstanceId(exampleInstance.id())\n .zone(availabilityZone)\n .autoRenewFlag(0)\n .dbVersion(\"10.23\")\n .instanceChargeType(\"POSTPAID_BY_HOUR\")\n .memory(4)\n .cpu(2)\n .storage(250)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .needSupportIpv6(0)\n .projectId(0)\n .securityGroupsIds(exampleGroup.id())\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 exampleInstance:\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 tags:\n test: tf\n # create postgresql readonly group\n exampleReadonlyGroup:\n type: tencentcloud:Postgresql:ReadonlyGroup\n properties:\n masterDbInstanceId: ${exampleInstance.id}\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n replayLagEliminate: 1\n replayLatencyEliminate: 1\n maxReplayLag: 100\n maxReplayLatency: 512\n minDelayEliminateReserve: 1\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n example: test\n # create postgresql readonly instance\n exampleReadonlyInstance:\n type: tencentcloud:Postgresql:ReadonlyInstance\n properties:\n readOnlyGroupId: ${exampleReadonlyGroup.id}\n masterDbInstanceId: ${exampleInstance.id}\n zone: ${availabilityZone}\n autoRenewFlag: 0\n dbVersion: '10.23'\n instanceChargeType: POSTPAID_BY_HOUR\n memory: 4\n cpu: 2\n storage: 250\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n needSupportIpv6: 0\n projectId: 0\n securityGroupsIds:\n - ${exampleGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create postgresql readonly instance of CDC\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-4\";\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 exampleInstance = new tencentcloud.postgresql.Instance(\"exampleInstance\", {\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 dedicatedClusterId: \"cluster-262n63e8\",\n },\n {\n zone: availabilityZone,\n dedicatedClusterId: \"cluster-262n63e8\",\n },\n ],\n tags: {\n CreateBy: \"terraform\",\n },\n});\n// create postgresql readonly group\nconst exampleReadonlyGroup = new tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", {\n masterDbInstanceId: exampleInstance.id,\n projectId: 0,\n vpcId: vpc.id,\n subnetId: subnet.id,\n replayLagEliminate: 1,\n replayLatencyEliminate: 1,\n maxReplayLag: 100,\n maxReplayLatency: 512,\n minDelayEliminateReserve: 1,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"sg desc.\",\n projectId: 0,\n tags: {\n CreateBy: \"terraform\",\n },\n});\n// create postgresql readonly instance\nconst exampleReadonlyInstance = new tencentcloud.postgresql.ReadonlyInstance(\"exampleReadonlyInstance\", {\n readOnlyGroupId: exampleReadonlyGroup.id,\n masterDbInstanceId: exampleInstance.id,\n zone: availabilityZone,\n autoRenewFlag: 0,\n dbVersion: \"10.23\",\n instanceChargeType: \"POSTPAID_BY_HOUR\",\n memory: 4,\n cpu: 2,\n storage: 250,\n vpcId: vpc.id,\n subnetId: subnet.id,\n needSupportIpv6: 0,\n projectId: 0,\n dedicatedClusterId: \"cluster-262n63e8\",\n securityGroupsIds: [exampleGroup.id],\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-4\"\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_instance = tencentcloud.postgresql.Instance(\"exampleInstance\",\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 dedicated_cluster_id=\"cluster-262n63e8\",\n ),\n tencentcloud.postgresql.InstanceDbNodeSetArgs(\n zone=availability_zone,\n dedicated_cluster_id=\"cluster-262n63e8\",\n ),\n ],\n tags={\n \"CreateBy\": \"terraform\",\n })\n# create postgresql readonly group\nexample_readonly_group = tencentcloud.postgresql.ReadonlyGroup(\"exampleReadonlyGroup\",\n master_db_instance_id=example_instance.id,\n project_id=0,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n replay_lag_eliminate=1,\n replay_latency_eliminate=1,\n max_replay_lag=100,\n max_replay_latency=512,\n min_delay_eliminate_reserve=1)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"sg desc.\",\n project_id=0,\n tags={\n \"CreateBy\": \"terraform\",\n })\n# create postgresql readonly instance\nexample_readonly_instance = tencentcloud.postgresql.ReadonlyInstance(\"exampleReadonlyInstance\",\n read_only_group_id=example_readonly_group.id,\n master_db_instance_id=example_instance.id,\n zone=availability_zone,\n auto_renew_flag=0,\n db_version=\"10.23\",\n instance_charge_type=\"POSTPAID_BY_HOUR\",\n memory=4,\n cpu=2,\n storage=250,\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n need_support_ipv6=0,\n project_id=0,\n dedicated_cluster_id=\"cluster-262n63e8\",\n security_groups_ids=[example_group.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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\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 exampleInstance = new Tencentcloud.Postgresql.Instance(\"exampleInstance\", 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 DedicatedClusterId = \"cluster-262n63e8\",\n },\n new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs\n {\n Zone = availabilityZone,\n DedicatedClusterId = \"cluster-262n63e8\",\n },\n },\n Tags = \n {\n { \"CreateBy\", \"terraform\" },\n },\n });\n\n // create postgresql readonly group\n var exampleReadonlyGroup = new Tencentcloud.Postgresql.ReadonlyGroup(\"exampleReadonlyGroup\", new()\n {\n MasterDbInstanceId = exampleInstance.Id,\n ProjectId = 0,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n ReplayLagEliminate = 1,\n ReplayLatencyEliminate = 1,\n MaxReplayLag = 100,\n MaxReplayLatency = 512,\n MinDelayEliminateReserve = 1,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"sg desc.\",\n ProjectId = 0,\n Tags = \n {\n { \"CreateBy\", \"terraform\" },\n },\n });\n\n // create postgresql readonly instance\n var exampleReadonlyInstance = new Tencentcloud.Postgresql.ReadonlyInstance(\"exampleReadonlyInstance\", new()\n {\n ReadOnlyGroupId = exampleReadonlyGroup.Id,\n MasterDbInstanceId = exampleInstance.Id,\n Zone = availabilityZone,\n AutoRenewFlag = 0,\n DbVersion = \"10.23\",\n InstanceChargeType = \"POSTPAID_BY_HOUR\",\n Memory = 4,\n Cpu = 2,\n Storage = 250,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n NeedSupportIpv6 = 0,\n ProjectId = 0,\n DedicatedClusterId = \"cluster-262n63e8\",\n SecurityGroupsIds = new[]\n {\n exampleGroup.Id,\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/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\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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\texampleInstance, err := Postgresql.NewInstance(ctx, \"exampleInstance\", \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\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\t\t},\n\t\t\t\t\u0026postgresql.InstanceDbNodeSetArgs{\n\t\t\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"CreateBy\": 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// create postgresql readonly group\n\t\texampleReadonlyGroup, err := Postgresql.NewReadonlyGroup(ctx, \"exampleReadonlyGroup\", \u0026Postgresql.ReadonlyGroupArgs{\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tReplayLagEliminate: pulumi.Int(1),\n\t\t\tReplayLatencyEliminate: pulumi.Int(1),\n\t\t\tMaxReplayLag: pulumi.Int(100),\n\t\t\tMaxReplayLatency: pulumi.Int(512),\n\t\t\tMinDelayEliminateReserve: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"sg desc.\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"CreateBy\": 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// create postgresql readonly instance\n\t\t_, err = Postgresql.NewReadonlyInstance(ctx, \"exampleReadonlyInstance\", \u0026Postgresql.ReadonlyInstanceArgs{\n\t\t\tReadOnlyGroupId: exampleReadonlyGroup.ID(),\n\t\t\tMasterDbInstanceId: exampleInstance.ID(),\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tAutoRenewFlag: pulumi.Int(0),\n\t\t\tDbVersion: pulumi.String(\"10.23\"),\n\t\t\tInstanceChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tCpu: pulumi.Int(2),\n\t\t\tStorage: pulumi.Int(250),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tNeedSupportIpv6: pulumi.Int(0),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tDedicatedClusterId: pulumi.String(\"cluster-262n63e8\"),\n\t\t\tSecurityGroupsIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\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 com.pulumi.tencentcloud.Postgresql.ReadonlyGroup;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyGroupArgs;\nimport com.pulumi.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Security.GroupArgs;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyInstance;\nimport com.pulumi.tencentcloud.Postgresql.ReadonlyInstanceArgs;\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-4\");\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 exampleInstance = new Instance(\"exampleInstance\", 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 .dedicatedClusterId(\"cluster-262n63e8\")\n .build(),\n InstanceDbNodeSetArgs.builder()\n .zone(availabilityZone)\n .dedicatedClusterId(\"cluster-262n63e8\")\n .build())\n .tags(Map.of(\"CreateBy\", \"terraform\"))\n .build());\n\n // create postgresql readonly group\n var exampleReadonlyGroup = new ReadonlyGroup(\"exampleReadonlyGroup\", ReadonlyGroupArgs.builder() \n .masterDbInstanceId(exampleInstance.id())\n .projectId(0)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .replayLagEliminate(1)\n .replayLatencyEliminate(1)\n .maxReplayLag(100)\n .maxReplayLatency(512)\n .minDelayEliminateReserve(1)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"sg desc.\")\n .projectId(0)\n .tags(Map.of(\"CreateBy\", \"terraform\"))\n .build());\n\n // create postgresql readonly instance\n var exampleReadonlyInstance = new ReadonlyInstance(\"exampleReadonlyInstance\", ReadonlyInstanceArgs.builder() \n .readOnlyGroupId(exampleReadonlyGroup.id())\n .masterDbInstanceId(exampleInstance.id())\n .zone(availabilityZone)\n .autoRenewFlag(0)\n .dbVersion(\"10.23\")\n .instanceChargeType(\"POSTPAID_BY_HOUR\")\n .memory(4)\n .cpu(2)\n .storage(250)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .needSupportIpv6(0)\n .projectId(0)\n .dedicatedClusterId(\"cluster-262n63e8\")\n .securityGroupsIds(exampleGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\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 exampleInstance:\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 dedicatedClusterId: cluster-262n63e8\n - zone: ${availabilityZone}\n dedicatedClusterId: cluster-262n63e8\n tags:\n CreateBy: terraform\n # create postgresql readonly group\n exampleReadonlyGroup:\n type: tencentcloud:Postgresql:ReadonlyGroup\n properties:\n masterDbInstanceId: ${exampleInstance.id}\n projectId: 0\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n replayLagEliminate: 1\n replayLatencyEliminate: 1\n maxReplayLag: 100\n maxReplayLatency: 512\n minDelayEliminateReserve: 1\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: sg desc.\n projectId: 0\n tags:\n CreateBy: terraform\n # create postgresql readonly instance\n exampleReadonlyInstance:\n type: tencentcloud:Postgresql:ReadonlyInstance\n properties:\n readOnlyGroupId: ${exampleReadonlyGroup.id}\n masterDbInstanceId: ${exampleInstance.id}\n zone: ${availabilityZone}\n autoRenewFlag: 0\n dbVersion: '10.23'\n instanceChargeType: POSTPAID_BY_HOUR\n memory: 4\n cpu: 2\n storage: 250\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n needSupportIpv6: 0\n projectId: 0\n dedicatedClusterId: cluster-262n63e8\n securityGroupsIds:\n - ${exampleGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\npostgresql readonly instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example pgro-gih5m0ke\n```\n", "properties": { "autoRenewFlag": { "type": "integer", @@ -187877,6 +195071,10 @@ "type": "string", "description": "PostgreSQL kernel version, which must be the same as that of the primary instance.\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster ID.\n" + }, "instanceChargeType": { "type": "string", "description": "instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go).\n" @@ -187987,6 +195185,10 @@ "description": "PostgreSQL kernel version, which must be the same as that of the primary instance.\n", "willReplaceOnChanges": true }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster ID.\n" + }, "instanceChargeType": { "type": "string", "description": "instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go).\n", @@ -188090,6 +195292,10 @@ "description": "PostgreSQL kernel version, which must be the same as that of the primary instance.\n", "willReplaceOnChanges": true }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster ID.\n" + }, "instanceChargeType": { "type": "string", "description": "instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go).\n", @@ -188390,7 +195596,7 @@ } }, "tencentcloud:PrivateDns/record:Record": { - "description": "Provide a resource to create a Private Dns Record.\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 vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst exampleZone = new tencentcloud.privatedns.Zone(\"exampleZone\", {\n domain: \"domain.com\",\n remark: \"remark.\",\n vpcSets: [{\n region: \"ap-guangzhou\",\n uniqVpcId: vpc.id,\n }],\n dnsForwardStatus: \"DISABLED\",\n cnameSpeedupStatus: \"ENABLED\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleRecord = new tencentcloud.privatedns.Record(\"exampleRecord\", {\n zoneId: exampleZone.id,\n recordType: \"A\",\n recordValue: \"192.168.1.2\",\n subDomain: \"www\",\n ttl: 300,\n weight: 1,\n mx: 0,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nexample_zone = tencentcloud.private_dns.Zone(\"exampleZone\",\n domain=\"domain.com\",\n remark=\"remark.\",\n vpc_sets=[tencentcloud.private_dns.ZoneVpcSetArgs(\n region=\"ap-guangzhou\",\n uniq_vpc_id=vpc.id,\n )],\n dns_forward_status=\"DISABLED\",\n cname_speedup_status=\"ENABLED\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_record = tencentcloud.private_dns.Record(\"exampleRecord\",\n zone_id=example_zone.id,\n record_type=\"A\",\n record_value=\"192.168.1.2\",\n sub_domain=\"www\",\n ttl=300,\n weight=1,\n mx=0)\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 vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var exampleZone = new Tencentcloud.PrivateDns.Zone(\"exampleZone\", new()\n {\n Domain = \"domain.com\",\n Remark = \"remark.\",\n VpcSets = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.ZoneVpcSetArgs\n {\n Region = \"ap-guangzhou\",\n UniqVpcId = vpc.Id,\n },\n },\n DnsForwardStatus = \"DISABLED\",\n CnameSpeedupStatus = \"ENABLED\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleRecord = new Tencentcloud.PrivateDns.Record(\"exampleRecord\", new()\n {\n ZoneId = exampleZone.Id,\n RecordType = \"A\",\n RecordValue = \"192.168.1.2\",\n SubDomain = \"www\",\n Ttl = 300,\n Weight = 1,\n Mx = 0,\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/PrivateDns\"\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\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\texampleZone, err := PrivateDns.NewZone(ctx, \"exampleZone\", \u0026PrivateDns.ZoneArgs{\n\t\t\tDomain: pulumi.String(\"domain.com\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tVpcSets: privatedns.ZoneVpcSetArray{\n\t\t\t\t\u0026privatedns.ZoneVpcSetArgs{\n\t\t\t\t\tRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\t\tUniqVpcId: vpc.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDnsForwardStatus: pulumi.String(\"DISABLED\"),\n\t\t\tCnameSpeedupStatus: pulumi.String(\"ENABLED\"),\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 = PrivateDns.NewRecord(ctx, \"exampleRecord\", \u0026PrivateDns.RecordArgs{\n\t\t\tZoneId: exampleZone.ID(),\n\t\t\tRecordType: pulumi.String(\"A\"),\n\t\t\tRecordValue: pulumi.String(\"192.168.1.2\"),\n\t\t\tSubDomain: pulumi.String(\"www\"),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tWeight: pulumi.Int(1),\n\t\t\tMx: pulumi.Int(0),\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.PrivateDns.Zone;\nimport com.pulumi.tencentcloud.PrivateDns.ZoneArgs;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.ZoneVpcSetArgs;\nimport com.pulumi.tencentcloud.PrivateDns.Record;\nimport com.pulumi.tencentcloud.PrivateDns.RecordArgs;\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 vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .domain(\"domain.com\")\n .remark(\"remark.\")\n .vpcSets(ZoneVpcSetArgs.builder()\n .region(\"ap-guangzhou\")\n .uniqVpcId(vpc.id())\n .build())\n .dnsForwardStatus(\"DISABLED\")\n .cnameSpeedupStatus(\"ENABLED\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder() \n .zoneId(exampleZone.id())\n .recordType(\"A\")\n .recordValue(\"192.168.1.2\")\n .subDomain(\"www\")\n .ttl(300)\n .weight(1)\n .mx(0)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n exampleZone:\n type: tencentcloud:PrivateDns:Zone\n properties:\n domain: domain.com\n remark: remark.\n vpcSets:\n - region: ap-guangzhou\n uniqVpcId: ${vpc.id}\n dnsForwardStatus: DISABLED\n cnameSpeedupStatus: ENABLED\n tags:\n createdBy: terraform\n exampleRecord:\n type: tencentcloud:PrivateDns:Record\n properties:\n zoneId: ${exampleZone.id}\n recordType: A\n recordValue: 192.168.1.2\n subDomain: www\n ttl: 300\n weight: 1\n mx: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Dns Record can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:PrivateDns/record:Record example zone-iza3a33s#1983030\n```\n", + "description": "Provide a resource to create a Private Dns Record.\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\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create private dns zone\nconst exampleZone = new tencentcloud.privatedns.Zone(\"exampleZone\", {\n domain: \"domain.com\",\n remark: \"remark.\",\n vpcSets: [{\n region: \"ap-guangzhou\",\n uniqVpcId: vpc.id,\n }],\n dnsForwardStatus: \"DISABLED\",\n cnameSpeedupStatus: \"ENABLED\",\n tags: {\n createdBy: \"terraform\",\n },\n});\n// create private dns record\nconst exampleRecord = new tencentcloud.privatedns.Record(\"exampleRecord\", {\n zoneId: exampleZone.id,\n recordType: \"A\",\n recordValue: \"192.168.1.2\",\n subDomain: \"www\",\n ttl: 300,\n weight: 1,\n mx: 0,\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 private dns zone\nexample_zone = tencentcloud.private_dns.Zone(\"exampleZone\",\n domain=\"domain.com\",\n remark=\"remark.\",\n vpc_sets=[tencentcloud.private_dns.ZoneVpcSetArgs(\n region=\"ap-guangzhou\",\n uniq_vpc_id=vpc.id,\n )],\n dns_forward_status=\"DISABLED\",\n cname_speedup_status=\"ENABLED\",\n tags={\n \"createdBy\": \"terraform\",\n })\n# create private dns record\nexample_record = tencentcloud.private_dns.Record(\"exampleRecord\",\n zone_id=example_zone.id,\n record_type=\"A\",\n record_value=\"192.168.1.2\",\n sub_domain=\"www\",\n ttl=300,\n weight=1,\n mx=0)\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 private dns zone\n var exampleZone = new Tencentcloud.PrivateDns.Zone(\"exampleZone\", new()\n {\n Domain = \"domain.com\",\n Remark = \"remark.\",\n VpcSets = new[]\n {\n new Tencentcloud.PrivateDns.Inputs.ZoneVpcSetArgs\n {\n Region = \"ap-guangzhou\",\n UniqVpcId = vpc.Id,\n },\n },\n DnsForwardStatus = \"DISABLED\",\n CnameSpeedupStatus = \"ENABLED\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n // create private dns record\n var exampleRecord = new Tencentcloud.PrivateDns.Record(\"exampleRecord\", new()\n {\n ZoneId = exampleZone.Id,\n RecordType = \"A\",\n RecordValue = \"192.168.1.2\",\n SubDomain = \"www\",\n Ttl = 300,\n Weight = 1,\n Mx = 0,\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/PrivateDns\"\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 private dns zone\n\t\texampleZone, err := PrivateDns.NewZone(ctx, \"exampleZone\", \u0026PrivateDns.ZoneArgs{\n\t\t\tDomain: pulumi.String(\"domain.com\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tVpcSets: privatedns.ZoneVpcSetArray{\n\t\t\t\t\u0026privatedns.ZoneVpcSetArgs{\n\t\t\t\t\tRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\t\t\tUniqVpcId: vpc.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDnsForwardStatus: pulumi.String(\"DISABLED\"),\n\t\t\tCnameSpeedupStatus: pulumi.String(\"ENABLED\"),\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// create private dns record\n\t\t_, err = PrivateDns.NewRecord(ctx, \"exampleRecord\", \u0026PrivateDns.RecordArgs{\n\t\t\tZoneId: exampleZone.ID(),\n\t\t\tRecordType: pulumi.String(\"A\"),\n\t\t\tRecordValue: pulumi.String(\"192.168.1.2\"),\n\t\t\tSubDomain: pulumi.String(\"www\"),\n\t\t\tTtl: pulumi.Int(300),\n\t\t\tWeight: pulumi.Int(1),\n\t\t\tMx: pulumi.Int(0),\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.PrivateDns.Zone;\nimport com.pulumi.tencentcloud.PrivateDns.ZoneArgs;\nimport com.pulumi.tencentcloud.PrivateDns.inputs.ZoneVpcSetArgs;\nimport com.pulumi.tencentcloud.PrivateDns.Record;\nimport com.pulumi.tencentcloud.PrivateDns.RecordArgs;\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 private dns zone\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .domain(\"domain.com\")\n .remark(\"remark.\")\n .vpcSets(ZoneVpcSetArgs.builder()\n .region(\"ap-guangzhou\")\n .uniqVpcId(vpc.id())\n .build())\n .dnsForwardStatus(\"DISABLED\")\n .cnameSpeedupStatus(\"ENABLED\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n // create private dns record\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder() \n .zoneId(exampleZone.id())\n .recordType(\"A\")\n .recordValue(\"192.168.1.2\")\n .subDomain(\"www\")\n .ttl(300)\n .weight(1)\n .mx(0)\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 private dns zone\n exampleZone:\n type: tencentcloud:PrivateDns:Zone\n properties:\n domain: domain.com\n remark: remark.\n vpcSets:\n - region: ap-guangzhou\n uniqVpcId: ${vpc.id}\n dnsForwardStatus: DISABLED\n cnameSpeedupStatus: ENABLED\n tags:\n createdBy: terraform\n # create private dns record\n exampleRecord:\n type: tencentcloud:PrivateDns:Record\n properties:\n zoneId: ${exampleZone.id}\n recordType: A\n recordValue: 192.168.1.2\n subDomain: www\n ttl: 300\n weight: 1\n mx: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Dns Record can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:PrivateDns/record:Record example zone-iza3a33s#1983030\n```\n", "properties": { "mx": { "type": "integer", @@ -188398,7 +195604,7 @@ }, "recordType": { "type": "string", - "description": "Record type. Valid values: \"A\", \"AAAA\", \"CNAME\", \"MX\", \"TXT\", \"PTR\".\n" + "description": "Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`.\n" }, "recordValue": { "type": "string", @@ -188406,7 +195612,7 @@ }, "subDomain": { "type": "string", - "description": "Subdomain, such as \"www\", \"m\", and \"@\".\n" + "description": "Subdomain, such as `www`, `m`, and `@`.\n" }, "ttl": { "type": "integer", @@ -188435,7 +195641,7 @@ }, "recordType": { "type": "string", - "description": "Record type. Valid values: \"A\", \"AAAA\", \"CNAME\", \"MX\", \"TXT\", \"PTR\".\n" + "description": "Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`.\n" }, "recordValue": { "type": "string", @@ -188443,7 +195649,7 @@ }, "subDomain": { "type": "string", - "description": "Subdomain, such as \"www\", \"m\", and \"@\".\n" + "description": "Subdomain, such as `www`, `m`, and `@`.\n" }, "ttl": { "type": "integer", @@ -188474,7 +195680,7 @@ }, "recordType": { "type": "string", - "description": "Record type. Valid values: \"A\", \"AAAA\", \"CNAME\", \"MX\", \"TXT\", \"PTR\".\n" + "description": "Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`.\n" }, "recordValue": { "type": "string", @@ -188482,7 +195688,7 @@ }, "subDomain": { "type": "string", - "description": "Subdomain, such as \"www\", \"m\", and \"@\".\n" + "description": "Subdomain, such as `www`, `m`, and `@`.\n" }, "ttl": { "type": "integer", @@ -190966,7 +198172,7 @@ } }, "tencentcloud:Redis/instance:Instance": { - "description": "Provides a resource to create a Redis instance and set its attributes.\n\n\u003e **NOTE:** The argument vpc_id and subnet_id is now required because Basic Network Instance is no longer supported.\n\n\u003e **NOTE:** Both adding and removing replications in one change is supported but not recommend.\n\n## Example Usage\n\n### Create a base version of redis\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 zone = tencentcloud.Redis.getZoneConfig({\n typeId: 7,\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: zone.then(zone =\u003e zone.lists?.[0]?.zone),\n cidrBlock: \"10.0.1.0/24\",\n});\nconst foo = new tencentcloud.redis.Instance(\"foo\", {\n availabilityZone: zone.then(zone =\u003e zone.lists?.[0]?.zone),\n typeId: zone.then(zone =\u003e zone.lists?.[0]?.typeId),\n password: \"test12345789\",\n memSize: 8192,\n redisShardNum: zone.then(zone =\u003e zone.lists?.[0]?.redisShardNums?.[0]),\n redisReplicasNum: zone.then(zone =\u003e zone.lists?.[0]?.redisReplicasNums?.[0]),\n port: 6379,\n vpcId: vpc.id,\n subnetId: subnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzone = tencentcloud.Redis.get_zone_config(type_id=7)\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=zone.lists[0].zone,\n cidr_block=\"10.0.1.0/24\")\nfoo = tencentcloud.redis.Instance(\"foo\",\n availability_zone=zone.lists[0].zone,\n type_id=zone.lists[0].type_id,\n password=\"test12345789\",\n mem_size=8192,\n redis_shard_num=zone.lists[0].redis_shard_nums[0],\n redis_replicas_num=zone.lists[0].redis_replicas_nums[0],\n port=6379,\n vpc_id=vpc.id,\n subnet_id=subnet.id)\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 zone = Tencentcloud.Redis.GetZoneConfig.Invoke(new()\n {\n TypeId = 7,\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.Zone),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var foo = new Tencentcloud.Redis.Instance(\"foo\", new()\n {\n AvailabilityZone = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.Zone),\n TypeId = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.TypeId),\n Password = \"test12345789\",\n MemSize = 8192,\n RedisShardNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisShardNums[0]),\n RedisReplicasNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisReplicasNums[0]),\n Port = 6379,\n VpcId = vpc.Id,\n SubnetId = subnet.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/Redis\"\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\tzone, err := Redis.GetZoneConfig(ctx, \u0026redis.GetZoneConfigArgs{\n\t\t\tTypeId: pulumi.IntRef(7),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(zone.Lists[0].Zone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Redis.NewInstance(ctx, \"foo\", \u0026Redis.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(zone.Lists[0].Zone),\n\t\t\tTypeId: pulumi.Int(zone.Lists[0].TypeId),\n\t\t\tPassword: pulumi.String(\"test12345789\"),\n\t\t\tMemSize: pulumi.Int(8192),\n\t\t\tRedisShardNum: pulumi.Int(zone.Lists[0].RedisShardNums[0]),\n\t\t\tRedisReplicasNum: pulumi.Int(zone.Lists[0].RedisReplicasNums[0]),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.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.Redis.RedisFunctions;\nimport com.pulumi.tencentcloud.Redis.inputs.GetZoneConfigArgs;\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.Redis.Instance;\nimport com.pulumi.tencentcloud.Redis.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 zone = RedisFunctions.getZoneConfig(GetZoneConfigArgs.builder()\n .typeId(7)\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].zone()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .availabilityZone(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].zone()))\n .typeId(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].typeId()))\n .password(\"test12345789\")\n .memSize(8192)\n .redisShardNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisShardNums()[0]))\n .redisReplicasNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisReplicasNums()[0]))\n .port(6379)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${zone.lists[0].zone}\n cidrBlock: 10.0.1.0/24\n foo:\n type: tencentcloud:Redis:Instance\n properties:\n availabilityZone: ${zone.lists[0].zone}\n typeId: ${zone.lists[0].typeId}\n password: test12345789\n memSize: 8192\n redisShardNum: ${zone.lists[0].redisShardNums[0]}\n redisReplicasNum: ${zone.lists[0].redisReplicasNums[0]}\n port: 6379\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\nvariables:\n zone:\n fn::invoke:\n Function: tencentcloud:Redis:getZoneConfig\n Arguments:\n typeId: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRedis instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Redis/instance:Instance redislab redis-id\n```\n", + "description": "Provides a resource to create a Redis instance and set its attributes.\n\n\u003e **NOTE:** The argument vpc_id and subnet_id is now required because Basic Network Instance is no longer supported.\n\n\u003e **NOTE:** Both adding and removing replications in one change is supported but not recommend.\n\n## Example Usage\n\n### Create a base version of redis\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 zone = tencentcloud.Redis.getZoneConfig({\n typeId: 7,\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: zone.then(zone =\u003e zone.lists?.[0]?.zone),\n cidrBlock: \"10.0.1.0/24\",\n});\nconst example = new tencentcloud.redis.Instance(\"example\", {\n availabilityZone: zone.then(zone =\u003e zone.lists?.[0]?.zone),\n typeId: zone.then(zone =\u003e zone.lists?.[0]?.typeId),\n password: \"Password@123\",\n memSize: 8192,\n redisShardNum: zone.then(zone =\u003e zone.lists?.[0]?.redisShardNums?.[0]),\n redisReplicasNum: zone.then(zone =\u003e zone.lists?.[0]?.redisReplicasNums?.[0]),\n port: 6379,\n vpcId: vpc.id,\n subnetId: subnet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzone = tencentcloud.Redis.get_zone_config(type_id=7)\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=zone.lists[0].zone,\n cidr_block=\"10.0.1.0/24\")\nexample = tencentcloud.redis.Instance(\"example\",\n availability_zone=zone.lists[0].zone,\n type_id=zone.lists[0].type_id,\n password=\"Password@123\",\n mem_size=8192,\n redis_shard_num=zone.lists[0].redis_shard_nums[0],\n redis_replicas_num=zone.lists[0].redis_replicas_nums[0],\n port=6379,\n vpc_id=vpc.id,\n subnet_id=subnet.id)\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 zone = Tencentcloud.Redis.GetZoneConfig.Invoke(new()\n {\n TypeId = 7,\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.Zone),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var example = new Tencentcloud.Redis.Instance(\"example\", new()\n {\n AvailabilityZone = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.Zone),\n TypeId = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.TypeId),\n Password = \"Password@123\",\n MemSize = 8192,\n RedisShardNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisShardNums[0]),\n RedisReplicasNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisReplicasNums[0]),\n Port = 6379,\n VpcId = vpc.Id,\n SubnetId = subnet.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/Redis\"\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\tzone, err := Redis.GetZoneConfig(ctx, \u0026redis.GetZoneConfigArgs{\n\t\t\tTypeId: pulumi.IntRef(7),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(zone.Lists[0].Zone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Redis.NewInstance(ctx, \"example\", \u0026Redis.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(zone.Lists[0].Zone),\n\t\t\tTypeId: pulumi.Int(zone.Lists[0].TypeId),\n\t\t\tPassword: pulumi.String(\"Password@123\"),\n\t\t\tMemSize: pulumi.Int(8192),\n\t\t\tRedisShardNum: pulumi.Int(zone.Lists[0].RedisShardNums[0]),\n\t\t\tRedisReplicasNum: pulumi.Int(zone.Lists[0].RedisReplicasNums[0]),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.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.Redis.RedisFunctions;\nimport com.pulumi.tencentcloud.Redis.inputs.GetZoneConfigArgs;\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.Redis.Instance;\nimport com.pulumi.tencentcloud.Redis.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 zone = RedisFunctions.getZoneConfig(GetZoneConfigArgs.builder()\n .typeId(7)\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].zone()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .availabilityZone(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].zone()))\n .typeId(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].typeId()))\n .password(\"Password@123\")\n .memSize(8192)\n .redisShardNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisShardNums()[0]))\n .redisReplicasNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisReplicasNums()[0]))\n .port(6379)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${zone.lists[0].zone}\n cidrBlock: 10.0.1.0/24\n example:\n type: tencentcloud:Redis:Instance\n properties:\n availabilityZone: ${zone.lists[0].zone}\n typeId: ${zone.lists[0].typeId}\n password: Password@123\n memSize: 8192\n redisShardNum: ${zone.lists[0].redisShardNums[0]}\n redisReplicasNum: ${zone.lists[0].redisReplicasNums[0]}\n port: 6379\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\nvariables:\n zone:\n fn::invoke:\n Function: tencentcloud:Redis:getZoneConfig\n Arguments:\n typeId: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a CDC scenario instance\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 cdcId = config.get(\"cdcId\") || \"cluster-xxxx\";\nconst clusters = tencentcloud.Redis.getClusters({\n dedicatedClusterId: cdcId,\n});\nexport const name = clusters.then(clusters =\u003e clusters.resources?.[0]?.redisClusterId);\nconst zone = tencentcloud.Redis.getZoneConfig({\n typeId: 7,\n region: \"ap-guangzhou\",\n});\nconst subnets = tencentcloud.Vpc.getSubnets({\n cdcId: cdcId,\n});\nconst example = new tencentcloud.redis.Instance(\"example\", {\n availabilityZone: zone.then(zone =\u003e zone.lists?.[0]?.zone),\n typeId: zone.then(zone =\u003e zone.lists?.[0]?.typeId),\n password: \"Password@123\",\n memSize: 8192,\n redisShardNum: zone.then(zone =\u003e zone.lists?.[0]?.redisShardNums?.[0]),\n redisReplicasNum: zone.then(zone =\u003e zone.lists?.[0]?.redisReplicasNums?.[0]),\n port: 6379,\n vpcId: subnets.then(subnets =\u003e subnets.instanceLists?.[0]?.vpcId),\n subnetId: subnets.then(subnets =\u003e subnets.instanceLists?.[0]?.subnetId),\n productVersion: \"cdc\",\n redisClusterId: clusters.then(clusters =\u003e clusters.resources?.[0]?.redisClusterId),\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\ncdc_id = config.get(\"cdcId\")\nif cdc_id is None:\n cdc_id = \"cluster-xxxx\"\nclusters = tencentcloud.Redis.get_clusters(dedicated_cluster_id=cdc_id)\npulumi.export(\"name\", clusters.resources[0].redis_cluster_id)\nzone = tencentcloud.Redis.get_zone_config(type_id=7,\n region=\"ap-guangzhou\")\nsubnets = tencentcloud.Vpc.get_subnets(cdc_id=cdc_id)\nexample = tencentcloud.redis.Instance(\"example\",\n availability_zone=zone.lists[0].zone,\n type_id=zone.lists[0].type_id,\n password=\"Password@123\",\n mem_size=8192,\n redis_shard_num=zone.lists[0].redis_shard_nums[0],\n redis_replicas_num=zone.lists[0].redis_replicas_nums[0],\n port=6379,\n vpc_id=subnets.instance_lists[0].vpc_id,\n subnet_id=subnets.instance_lists[0].subnet_id,\n product_version=\"cdc\",\n redis_cluster_id=clusters.resources[0].redis_cluster_id)\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 cdcId = config.Get(\"cdcId\") ?? \"cluster-xxxx\";\n var clusters = Tencentcloud.Redis.GetClusters.Invoke(new()\n {\n DedicatedClusterId = cdcId,\n });\n\n var zone = Tencentcloud.Redis.GetZoneConfig.Invoke(new()\n {\n TypeId = 7,\n Region = \"ap-guangzhou\",\n });\n\n var subnets = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n CdcId = cdcId,\n });\n\n var example = new Tencentcloud.Redis.Instance(\"example\", new()\n {\n AvailabilityZone = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.Zone),\n TypeId = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.TypeId),\n Password = \"Password@123\",\n MemSize = 8192,\n RedisShardNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisShardNums[0]),\n RedisReplicasNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisReplicasNums[0]),\n Port = 6379,\n VpcId = subnets.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n SubnetId = subnets.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n ProductVersion = \"cdc\",\n RedisClusterId = clusters.Apply(getClustersResult =\u003e getClustersResult.Resources[0]?.RedisClusterId),\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = clusters.Apply(getClustersResult =\u003e getClustersResult.Resources[0]?.RedisClusterId),\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/Redis\"\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\tcdcId := \"cluster-xxxx\"\n\t\tif param := cfg.Get(\"cdcId\"); param != \"\" {\n\t\t\tcdcId = param\n\t\t}\n\t\tclusters, err := Redis.GetClusters(ctx, \u0026redis.GetClustersArgs{\n\t\t\tDedicatedClusterId: pulumi.StringRef(cdcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"name\", clusters.Resources[0].RedisClusterId)\n\t\tzone, err := Redis.GetZoneConfig(ctx, \u0026redis.GetZoneConfigArgs{\n\t\t\tTypeId: pulumi.IntRef(7),\n\t\t\tRegion: pulumi.StringRef(\"ap-guangzhou\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnets, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tCdcId: pulumi.StringRef(cdcId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Redis.NewInstance(ctx, \"example\", \u0026Redis.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(zone.Lists[0].Zone),\n\t\t\tTypeId: pulumi.Int(zone.Lists[0].TypeId),\n\t\t\tPassword: pulumi.String(\"Password@123\"),\n\t\t\tMemSize: pulumi.Int(8192),\n\t\t\tRedisShardNum: pulumi.Int(zone.Lists[0].RedisShardNums[0]),\n\t\t\tRedisReplicasNum: pulumi.Int(zone.Lists[0].RedisReplicasNums[0]),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tVpcId: pulumi.String(subnets.InstanceLists[0].VpcId),\n\t\t\tSubnetId: pulumi.String(subnets.InstanceLists[0].SubnetId),\n\t\t\tProductVersion: pulumi.String(\"cdc\"),\n\t\t\tRedisClusterId: pulumi.String(clusters.Resources[0].RedisClusterId),\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.Redis.RedisFunctions;\nimport com.pulumi.tencentcloud.Redis.inputs.GetClustersArgs;\nimport com.pulumi.tencentcloud.Redis.inputs.GetZoneConfigArgs;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Redis.Instance;\nimport com.pulumi.tencentcloud.Redis.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 cdcId = config.get(\"cdcId\").orElse(\"cluster-xxxx\");\n final var clusters = RedisFunctions.getClusters(GetClustersArgs.builder()\n .dedicatedClusterId(cdcId)\n .build());\n\n ctx.export(\"name\", clusters.applyValue(getClustersResult -\u003e getClustersResult.resources()[0].redisClusterId()));\n final var zone = RedisFunctions.getZoneConfig(GetZoneConfigArgs.builder()\n .typeId(7)\n .region(\"ap-guangzhou\")\n .build());\n\n final var subnets = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .cdcId(cdcId)\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .availabilityZone(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].zone()))\n .typeId(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].typeId()))\n .password(\"Password@123\")\n .memSize(8192)\n .redisShardNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisShardNums()[0]))\n .redisReplicasNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisReplicasNums()[0]))\n .port(6379)\n .vpcId(subnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .subnetId(subnets.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .productVersion(\"cdc\")\n .redisClusterId(clusters.applyValue(getClustersResult -\u003e getClustersResult.resources()[0].redisClusterId()))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n cdcId:\n type: string\n default: cluster-xxxx\nresources:\n example:\n type: tencentcloud:Redis:Instance\n properties:\n availabilityZone: ${zone.lists[0].zone}\n typeId: ${zone.lists[0].typeId}\n password: Password@123\n memSize: 8192\n redisShardNum: ${zone.lists[0].redisShardNums[0]}\n redisReplicasNum: ${zone.lists[0].redisReplicasNums[0]}\n port: 6379\n vpcId: ${subnets.instanceLists[0].vpcId}\n subnetId: ${subnets.instanceLists[0].subnetId}\n productVersion: cdc\n redisClusterId: ${clusters.resources[0].redisClusterId}\nvariables:\n clusters:\n fn::invoke:\n Function: tencentcloud:Redis:getClusters\n Arguments:\n dedicatedClusterId: ${cdcId}\n zone:\n fn::invoke:\n Function: tencentcloud:Redis:getZoneConfig\n Arguments:\n typeId: 7\n region: ap-guangzhou\n subnets:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n cdcId: ${cdcId}\noutputs:\n name: ${clusters.resources[0].redisClusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRedis instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Redis/instance:Instance example crs-iu22tdrf\n```\n", "properties": { "autoRenewFlag": { "type": "integer", @@ -190984,6 +198190,10 @@ "type": "string", "description": "The time when the instance was created.\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated Cluster ID.\n" + }, "forceDelete": { "type": "boolean", "description": "Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance.\n" @@ -191032,143 +198242,158 @@ "type": "integer", "description": "The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`.\n" }, - "projectId": { - "type": "integer", - "description": "Specifies which project the instance should belong to.\n" - }, - "recycle": { - "type": "integer", - "description": "Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`.\n" - }, - "redisReplicasNum": { - "type": "integer", - "description": "The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy.\n" - }, - "redisShardNum": { - "type": "integer", - "description": "The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, `24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`].\n" - }, - "replicaZoneIds": { - "type": "array", - "items": { - "type": "integer" - }, - "description": "ID of replica nodes available zone. This is not required for standalone and master slave versions. NOTE: Removing some of the same zone of replicas (e.g. removing 100001 of [100001, 100001, 100002]) will pick the first hit to remove.\n" - }, - "replicasReadOnly": { - "type": "boolean", - "description": "Whether copy read-only is supported, Redis 2.8 Standard Edition and CKV Standard Edition do not support replica read-only, turn on replica read-only, the instance will automatically read and write separate, write requests are routed to the primary node, read requests are routed to the replica node, if you need to open replica read-only, the recommended number of replicas \u003e=2.\n" - }, - "securityGroups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "ID of security group. If both vpc_id and subnet_id are not set, this argument should not be set either.\n" - }, - "status": { - "type": "string", - "description": "Current status of an instance, maybe: init, processing, online, isolate and todelete.\n" - }, - "subnetId": { - "type": "string", - "description": "Specifies which subnet the instance should belong to. When the `operation_network` is `changeVpc` or `changeBaseToVpc`, this parameter needs to be configured.\n" - }, - "tags": { - "type": "object", - "additionalProperties": { - "$ref": "pulumi.json#/Any" - }, - "description": "Instance tags.\n" - }, - "type": { - "type": "string", - "description": "It has been deprecated from version 1.33.1. Please use 'type_id' instead. Instance type. Available values: `cluster_ckv`,`cluster_redis5.0`,`cluster_redis`,`master_slave_ckv`,`master_slave_redis4.0`,`master_slave_redis5.0`,`master_slave_redis`,`standalone_redis`, specific region support specific types, need to refer data `tencentcloud.Redis.getZoneConfig`.\n", - "deprecationMessage": "It has been deprecated from version 1.33.1. Please use 'type_id' instead." - }, - "typeId": { - "type": "integer", - "description": "Instance type. Available values reference data source `tencentcloud.Redis.getZoneConfig` or [document](https://intl.cloud.tencent.com/document/product/239/32069), toggle immediately when modified.\n" - }, - "vpcId": { - "type": "string", - "description": "ID of the vpc with which the instance is to be associated. When the `operation_network` is `changeVpc` or `changeBaseToVpc`, this parameter needs to be configured.\n" - }, - "waitSwitch": { - "type": "integer", - "description": "Switching mode: `1`-maintenance time window switching, `2`-immediate switching, default value `2`.\n" - } - }, - "required": [ - "availabilityZone", - "createTime", - "ip", - "memSize", - "name", - "nodeInfos", - "redisShardNum", - "replicaZoneIds", - "replicasReadOnly", - "status", - "subnetId", - "vpcId" - ], - "inputProperties": { - "autoRenewFlag": { - "type": "integer", - "description": "Auto-renew flag. 0 - default state (manual renewal); 1 - automatic renewal; 2 - explicit no automatic renewal.\n", - "willReplaceOnChanges": true - }, - "availabilityZone": { - "type": "string", - "description": "The available zone ID of an instance to be created, please refer to `tencentcloud_redis_zone_config.list`.\n", - "willReplaceOnChanges": true - }, - "chargeType": { - "type": "string", - "description": "The charge type of instance. Valid values: `PREPAID` and `POSTPAID`. Default value is `POSTPAID`. Note: TencentCloud International only supports `POSTPAID`. Caution that update operation on this field will delete old instances and create new with new charge type.\n", - "willReplaceOnChanges": true - }, - "forceDelete": { - "type": "boolean", - "description": "Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance.\n" - }, - "ip": { - "type": "string", - "description": "IP address of an instance. When the `operation_network` is `changeVip`, this parameter needs to be configured.\n" - }, - "memSize": { - "type": "integer", - "description": "The memory volume of an available instance(in MB), please refer to `tencentcloud_redis_zone_config.list[zone].shard_memories`. When redis is standard type, it represents total memory size of the instance; when Redis is cluster type, it represents memory size of per sharding. `512MB` is supported only in master-slave instance.\n" - }, - "name": { - "type": "string", - "description": "Instance name.\n" - }, - "noAuth": { - "type": "boolean", - "description": "Indicates whether the redis instance support no-auth access. NOTE: Only available in private cloud environment.\n" - }, - "operationNetwork": { - "type": "string", - "description": "Refers to the category of the pre-modified network, including: `changeVip`: refers to switching the private network, including its intranet IPv4 address and port; `changeVpc`: refers to switching the subnet to which the private network belongs; `changeBaseToVpc`: refers to switching the basic network to a private network; `changeVPort`: refers to only modifying the instance network port.\n" - }, - "paramsTemplateId": { - "type": "string", - "description": "Specify params template id. If not set, will use default template.\n" - }, - "password": { + "productVersion": { + "type": "string", + "description": "Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`.\n" + }, + "projectId": { + "type": "integer", + "description": "Specifies which project the instance should belong to.\n" + }, + "recycle": { + "type": "integer", + "description": "Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`.\n" + }, + "redisClusterId": { + "type": "string", + "description": "Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set.\n" + }, + "redisReplicasNum": { + "type": "integer", + "description": "The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy.\n" + }, + "redisShardNum": { + "type": "integer", + "description": "The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, `24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`].\n" + }, + "replicaZoneIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "ID of replica nodes available zone. This is not required for standalone and master slave versions. NOTE: Removing some of the same zone of replicas (e.g. removing 100001 of [100001, 100001, 100002]) will pick the first hit to remove.\n" + }, + "replicasReadOnly": { + "type": "boolean", + "description": "Whether copy read-only is supported, Redis 2.8 Standard Edition and CKV Standard Edition do not support replica read-only, turn on replica read-only, the instance will automatically read and write separate, write requests are routed to the primary node, read requests are routed to the replica node, if you need to open replica read-only, the recommended number of replicas \u003e=2.\n" + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "ID of security group. If both vpc_id and subnet_id are not set, this argument should not be set either.\n" + }, + "status": { + "type": "string", + "description": "Current status of an instance, maybe: init, processing, online, isolate and todelete.\n" + }, + "subnetId": { + "type": "string", + "description": "Specifies which subnet the instance should belong to. When the `operation_network` is `changeVpc` or `changeBaseToVpc`, this parameter needs to be configured.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Instance tags.\n" + }, + "type": { + "type": "string", + "description": "It has been deprecated from version 1.33.1. Please use 'type_id' instead. Instance type. Available values: `cluster_ckv`,`cluster_redis5.0`,`cluster_redis`,`master_slave_ckv`,`master_slave_redis4.0`,`master_slave_redis5.0`,`master_slave_redis`,`standalone_redis`, specific region support specific types, need to refer data `tencentcloud.Redis.getZoneConfig`.\n", + "deprecationMessage": "It has been deprecated from version 1.33.1. Please use 'type_id' instead." + }, + "typeId": { + "type": "integer", + "description": "Instance type. Available values reference data source `tencentcloud.Redis.getZoneConfig` or [document](https://intl.cloud.tencent.com/document/product/239/32069), toggle immediately when modified.\n" + }, + "vpcId": { + "type": "string", + "description": "ID of the vpc with which the instance is to be associated. When the `operation_network` is `changeVpc` or `changeBaseToVpc`, this parameter needs to be configured.\n" + }, + "waitSwitch": { + "type": "integer", + "description": "Switching mode: `1`-maintenance time window switching, `2`-immediate switching, default value `2`.\n" + } + }, + "required": [ + "availabilityZone", + "createTime", + "dedicatedClusterId", + "ip", + "memSize", + "name", + "nodeInfos", + "productVersion", + "redisClusterId", + "redisShardNum", + "replicaZoneIds", + "replicasReadOnly", + "status", + "subnetId", + "vpcId" + ], + "inputProperties": { + "autoRenewFlag": { + "type": "integer", + "description": "Auto-renew flag. 0 - default state (manual renewal); 1 - automatic renewal; 2 - explicit no automatic renewal.\n", + "willReplaceOnChanges": true + }, + "availabilityZone": { + "type": "string", + "description": "The available zone ID of an instance to be created, please refer to `tencentcloud_redis_zone_config.list`.\n", + "willReplaceOnChanges": true + }, + "chargeType": { + "type": "string", + "description": "The charge type of instance. Valid values: `PREPAID` and `POSTPAID`. Default value is `POSTPAID`. Note: TencentCloud International only supports `POSTPAID`. Caution that update operation on this field will delete old instances and create new with new charge type.\n", + "willReplaceOnChanges": true + }, + "forceDelete": { + "type": "boolean", + "description": "Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance.\n" + }, + "ip": { + "type": "string", + "description": "IP address of an instance. When the `operation_network` is `changeVip`, this parameter needs to be configured.\n" + }, + "memSize": { + "type": "integer", + "description": "The memory volume of an available instance(in MB), please refer to `tencentcloud_redis_zone_config.list[zone].shard_memories`. When redis is standard type, it represents total memory size of the instance; when Redis is cluster type, it represents memory size of per sharding. `512MB` is supported only in master-slave instance.\n" + }, + "name": { + "type": "string", + "description": "Instance name.\n" + }, + "noAuth": { + "type": "boolean", + "description": "Indicates whether the redis instance support no-auth access. NOTE: Only available in private cloud environment.\n" + }, + "operationNetwork": { + "type": "string", + "description": "Refers to the category of the pre-modified network, including: `changeVip`: refers to switching the private network, including its intranet IPv4 address and port; `changeVpc`: refers to switching the subnet to which the private network belongs; `changeBaseToVpc`: refers to switching the basic network to a private network; `changeVPort`: refers to only modifying the instance network port.\n" + }, + "paramsTemplateId": { + "type": "string", + "description": "Specify params template id. If not set, will use default template.\n" + }, + "password": { + "type": "string", + "description": "Password for a Redis user, which should be 8 to 16 characters. NOTE: Only `no_auth=true` specified can make password empty.\n", + "secret": true + }, + "port": { + "type": "integer", + "description": "The port used to access a redis instance. The default value is 6379. When the `operation_network` is `changeVPort` or `changeVip`, this parameter needs to be configured.\n" + }, + "prepaidPeriod": { + "type": "integer", + "description": "The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`.\n" + }, + "productVersion": { "type": "string", - "description": "Password for a Redis user, which should be 8 to 16 characters. NOTE: Only `no_auth=true` specified can make password empty.\n", - "secret": true - }, - "port": { - "type": "integer", - "description": "The port used to access a redis instance. The default value is 6379. When the `operation_network` is `changeVPort` or `changeVip`, this parameter needs to be configured.\n" - }, - "prepaidPeriod": { - "type": "integer", - "description": "The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`.\n" + "description": "Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`.\n" }, "projectId": { "type": "integer", @@ -191178,6 +198403,10 @@ "type": "integer", "description": "Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`.\n" }, + "redisClusterId": { + "type": "string", + "description": "Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set.\n" + }, "redisReplicasNum": { "type": "integer", "description": "The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy.\n" @@ -191260,6 +198489,10 @@ "type": "string", "description": "The time when the instance was created.\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated Cluster ID.\n" + }, "forceDelete": { "type": "boolean", "description": "Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance.\n" @@ -191308,6 +198541,10 @@ "type": "integer", "description": "The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`.\n" }, + "productVersion": { + "type": "string", + "description": "Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`.\n" + }, "projectId": { "type": "integer", "description": "Specifies which project the instance should belong to.\n" @@ -191316,6 +198553,10 @@ "type": "integer", "description": "Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`.\n" }, + "redisClusterId": { + "type": "string", + "description": "Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set.\n" + }, "redisReplicasNum": { "type": "integer", "description": "The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy.\n" @@ -191379,6 +198620,130 @@ "type": "object" } }, + "tencentcloud:Redis/logDelivery:LogDelivery": { + "description": "Provides a resource to create Redis instance log delivery land set its attributes.\n\n\u003e **NOTE:** When you use an existing cls logset and topic to enable logging, there is no need to set parameters such\nas `period`, `create_index`, `log_region`, etc.\n\n## Example Usage\n\n### Use cls logset and topic which existed\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst delivery = new tencentcloud.redis.LogDelivery(\"delivery\", {\n instanceId: \"crs-dmjj8en7\",\n logsetId: \"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\",\n topicId: \"5c2333e9-0bab-41fd-9f75-c602b3f9545f\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ndelivery = tencentcloud.redis.LogDelivery(\"delivery\",\n instance_id=\"crs-dmjj8en7\",\n logset_id=\"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\",\n topic_id=\"5c2333e9-0bab-41fd-9f75-c602b3f9545f\")\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 delivery = new Tencentcloud.Redis.LogDelivery(\"delivery\", new()\n {\n InstanceId = \"crs-dmjj8en7\",\n LogsetId = \"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\",\n TopicId = \"5c2333e9-0bab-41fd-9f75-c602b3f9545f\",\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/Redis\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Redis.NewLogDelivery(ctx, \"delivery\", \u0026Redis.LogDeliveryArgs{\n\t\t\tInstanceId: pulumi.String(\"crs-dmjj8en7\"),\n\t\t\tLogsetId: pulumi.String(\"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\"),\n\t\t\tTopicId: pulumi.String(\"5c2333e9-0bab-41fd-9f75-c602b3f9545f\"),\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.Redis.LogDelivery;\nimport com.pulumi.tencentcloud.Redis.LogDeliveryArgs;\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 delivery = new LogDelivery(\"delivery\", LogDeliveryArgs.builder() \n .instanceId(\"crs-dmjj8en7\")\n .logsetId(\"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\")\n .topicId(\"5c2333e9-0bab-41fd-9f75-c602b3f9545f\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n delivery:\n type: tencentcloud:Redis:LogDelivery\n properties:\n instanceId: crs-dmjj8en7\n logsetId: cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\n topicId: 5c2333e9-0bab-41fd-9f75-c602b3f9545f\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use exist cls logset and create new topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst delivery = new tencentcloud.redis.LogDelivery(\"delivery\", {\n createIndex: true,\n instanceId: \"crs-dmjj8en7\",\n logsetId: \"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\",\n period: 20,\n topicName: \"test13\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ndelivery = tencentcloud.redis.LogDelivery(\"delivery\",\n create_index=True,\n instance_id=\"crs-dmjj8en7\",\n logset_id=\"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\",\n period=20,\n topic_name=\"test13\")\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 delivery = new Tencentcloud.Redis.LogDelivery(\"delivery\", new()\n {\n CreateIndex = true,\n InstanceId = \"crs-dmjj8en7\",\n LogsetId = \"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\",\n Period = 20,\n TopicName = \"test13\",\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/Redis\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Redis.NewLogDelivery(ctx, \"delivery\", \u0026Redis.LogDeliveryArgs{\n\t\t\tCreateIndex: pulumi.Bool(true),\n\t\t\tInstanceId: pulumi.String(\"crs-dmjj8en7\"),\n\t\t\tLogsetId: pulumi.String(\"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\"),\n\t\t\tPeriod: pulumi.Int(20),\n\t\t\tTopicName: pulumi.String(\"test13\"),\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.Redis.LogDelivery;\nimport com.pulumi.tencentcloud.Redis.LogDeliveryArgs;\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 delivery = new LogDelivery(\"delivery\", LogDeliveryArgs.builder() \n .createIndex(true)\n .instanceId(\"crs-dmjj8en7\")\n .logsetId(\"cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\")\n .period(20)\n .topicName(\"test13\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n delivery:\n type: tencentcloud:Redis:LogDelivery\n properties:\n createIndex: true\n instanceId: crs-dmjj8en7\n logsetId: cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c\n period: 20\n topicName: test13\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create new cls logset and topic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst delivery = new tencentcloud.redis.LogDelivery(\"delivery\", {\n createIndex: true,\n instanceId: \"crs-dmjj8en7\",\n logRegion: \"ap-guangzhou\",\n logsetName: \"test\",\n period: 20,\n topicName: \"test\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ndelivery = tencentcloud.redis.LogDelivery(\"delivery\",\n create_index=True,\n instance_id=\"crs-dmjj8en7\",\n log_region=\"ap-guangzhou\",\n logset_name=\"test\",\n period=20,\n topic_name=\"test\")\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 delivery = new Tencentcloud.Redis.LogDelivery(\"delivery\", new()\n {\n CreateIndex = true,\n InstanceId = \"crs-dmjj8en7\",\n LogRegion = \"ap-guangzhou\",\n LogsetName = \"test\",\n Period = 20,\n TopicName = \"test\",\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/Redis\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Redis.NewLogDelivery(ctx, \"delivery\", \u0026Redis.LogDeliveryArgs{\n\t\t\tCreateIndex: pulumi.Bool(true),\n\t\t\tInstanceId: pulumi.String(\"crs-dmjj8en7\"),\n\t\t\tLogRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tLogsetName: pulumi.String(\"test\"),\n\t\t\tPeriod: pulumi.Int(20),\n\t\t\tTopicName: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Redis.LogDelivery;\nimport com.pulumi.tencentcloud.Redis.LogDeliveryArgs;\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 delivery = new LogDelivery(\"delivery\", LogDeliveryArgs.builder() \n .createIndex(true)\n .instanceId(\"crs-dmjj8en7\")\n .logRegion(\"ap-guangzhou\")\n .logsetName(\"test\")\n .period(20)\n .topicName(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n delivery:\n type: tencentcloud:Redis:LogDelivery\n properties:\n createIndex: true\n instanceId: crs-dmjj8en7\n logRegion: ap-guangzhou\n logsetName: test\n period: 20\n topicName: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRedis log delivery can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Redis/logDelivery:LogDelivery delivery crs-dmjj8en7\n```\n", + "properties": { + "createIndex": { + "type": "boolean", + "description": "Whether to create an index when creating a log topic.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n" + }, + "logRegion": { + "type": "string", + "description": "The region where the log set is located; if not specified, the region where the instance is located will be used by default.\n" + }, + "logsetId": { + "type": "string", + "description": "The ID of the log set being delivered.\n" + }, + "logsetName": { + "type": "string", + "description": "Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name.\n" + }, + "period": { + "type": "integer", + "description": "Log storage time, defaults to 30 days, with an optional range of 1-3600 days.\n" + }, + "topicId": { + "type": "string", + "description": "The ID of the topic being delivered.\n" + }, + "topicName": { + "type": "string", + "description": "Log topic name, required when TopicId is empty, a new log topic will be automatically created.\n" + } + }, + "required": [ + "createIndex", + "instanceId", + "logRegion", + "logsetId", + "logsetName", + "period", + "topicId", + "topicName" + ], + "inputProperties": { + "createIndex": { + "type": "boolean", + "description": "Whether to create an index when creating a log topic.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n", + "willReplaceOnChanges": true + }, + "logRegion": { + "type": "string", + "description": "The region where the log set is located; if not specified, the region where the instance is located will be used by default.\n" + }, + "logsetId": { + "type": "string", + "description": "The ID of the log set being delivered.\n" + }, + "logsetName": { + "type": "string", + "description": "Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name.\n" + }, + "period": { + "type": "integer", + "description": "Log storage time, defaults to 30 days, with an optional range of 1-3600 days.\n" + }, + "topicId": { + "type": "string", + "description": "The ID of the topic being delivered.\n" + }, + "topicName": { + "type": "string", + "description": "Log topic name, required when TopicId is empty, a new log topic will be automatically created.\n" + } + }, + "requiredInputs": [ + "instanceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LogDelivery resources.\n", + "properties": { + "createIndex": { + "type": "boolean", + "description": "Whether to create an index when creating a log topic.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance ID.\n", + "willReplaceOnChanges": true + }, + "logRegion": { + "type": "string", + "description": "The region where the log set is located; if not specified, the region where the instance is located will be used by default.\n" + }, + "logsetId": { + "type": "string", + "description": "The ID of the log set being delivered.\n" + }, + "logsetName": { + "type": "string", + "description": "Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name.\n" + }, + "period": { + "type": "integer", + "description": "Log storage time, defaults to 30 days, with an optional range of 1-3600 days.\n" + }, + "topicId": { + "type": "string", + "description": "The ID of the topic being delivered.\n" + }, + "topicName": { + "type": "string", + "description": "Log topic name, required when TopicId is empty, a new log topic will be automatically created.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Redis/maintenanceWindow:MaintenanceWindow": { "description": "Provides a resource to create a redis maintenance_window\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 zone = tencentcloud.Redis.getZoneConfig({\n typeId: 7,\n});\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: zone.then(zone =\u003e zone.lists?.[0]?.zone),\n cidrBlock: \"10.0.1.0/24\",\n});\nconst fooInstance = new tencentcloud.redis.Instance(\"fooInstance\", {\n availabilityZone: zone.then(zone =\u003e zone.lists?.[0]?.zone),\n typeId: zone.then(zone =\u003e zone.lists?.[0]?.typeId),\n password: \"test12345789\",\n memSize: 8192,\n redisShardNum: zone.then(zone =\u003e zone.lists?.[0]?.redisShardNums?.[0]),\n redisReplicasNum: zone.then(zone =\u003e zone.lists?.[0]?.redisReplicasNums?.[0]),\n port: 6379,\n vpcId: vpc.id,\n subnetId: subnet.id,\n});\nconst fooMaintenanceWindow = new tencentcloud.redis.MaintenanceWindow(\"fooMaintenanceWindow\", {\n instanceId: fooInstance.id,\n startTime: \"17:00\",\n endTime: \"19:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nzone = tencentcloud.Redis.get_zone_config(type_id=7)\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=zone.lists[0].zone,\n cidr_block=\"10.0.1.0/24\")\nfoo_instance = tencentcloud.redis.Instance(\"fooInstance\",\n availability_zone=zone.lists[0].zone,\n type_id=zone.lists[0].type_id,\n password=\"test12345789\",\n mem_size=8192,\n redis_shard_num=zone.lists[0].redis_shard_nums[0],\n redis_replicas_num=zone.lists[0].redis_replicas_nums[0],\n port=6379,\n vpc_id=vpc.id,\n subnet_id=subnet.id)\nfoo_maintenance_window = tencentcloud.redis.MaintenanceWindow(\"fooMaintenanceWindow\",\n instance_id=foo_instance.id,\n start_time=\"17:00\",\n end_time=\"19:00\")\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 zone = Tencentcloud.Redis.GetZoneConfig.Invoke(new()\n {\n TypeId = 7,\n });\n\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.Zone),\n CidrBlock = \"10.0.1.0/24\",\n });\n\n var fooInstance = new Tencentcloud.Redis.Instance(\"fooInstance\", new()\n {\n AvailabilityZone = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.Zone),\n TypeId = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.TypeId),\n Password = \"test12345789\",\n MemSize = 8192,\n RedisShardNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisShardNums[0]),\n RedisReplicasNum = zone.Apply(getZoneConfigResult =\u003e getZoneConfigResult.Lists[0]?.RedisReplicasNums[0]),\n Port = 6379,\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n });\n\n var fooMaintenanceWindow = new Tencentcloud.Redis.MaintenanceWindow(\"fooMaintenanceWindow\", new()\n {\n InstanceId = fooInstance.Id,\n StartTime = \"17:00\",\n EndTime = \"19:00\",\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/Redis\"\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\tzone, err := Redis.GetZoneConfig(ctx, \u0026redis.GetZoneConfigArgs{\n\t\t\tTypeId: pulumi.IntRef(7),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(zone.Lists[0].Zone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Redis.NewInstance(ctx, \"fooInstance\", \u0026Redis.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(zone.Lists[0].Zone),\n\t\t\tTypeId: pulumi.Int(zone.Lists[0].TypeId),\n\t\t\tPassword: pulumi.String(\"test12345789\"),\n\t\t\tMemSize: pulumi.Int(8192),\n\t\t\tRedisShardNum: pulumi.Int(zone.Lists[0].RedisShardNums[0]),\n\t\t\tRedisReplicasNum: pulumi.Int(zone.Lists[0].RedisReplicasNums[0]),\n\t\t\tPort: pulumi.Int(6379),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Redis.NewMaintenanceWindow(ctx, \"fooMaintenanceWindow\", \u0026Redis.MaintenanceWindowArgs{\n\t\t\tInstanceId: fooInstance.ID(),\n\t\t\tStartTime: pulumi.String(\"17:00\"),\n\t\t\tEndTime: pulumi.String(\"19:00\"),\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.Redis.RedisFunctions;\nimport com.pulumi.tencentcloud.Redis.inputs.GetZoneConfigArgs;\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.Redis.Instance;\nimport com.pulumi.tencentcloud.Redis.InstanceArgs;\nimport com.pulumi.tencentcloud.Redis.MaintenanceWindow;\nimport com.pulumi.tencentcloud.Redis.MaintenanceWindowArgs;\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 zone = RedisFunctions.getZoneConfig(GetZoneConfigArgs.builder()\n .typeId(7)\n .build());\n\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].zone()))\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .availabilityZone(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].zone()))\n .typeId(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].typeId()))\n .password(\"test12345789\")\n .memSize(8192)\n .redisShardNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisShardNums()[0]))\n .redisReplicasNum(zone.applyValue(getZoneConfigResult -\u003e getZoneConfigResult.lists()[0].redisReplicasNums()[0]))\n .port(6379)\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .build());\n\n var fooMaintenanceWindow = new MaintenanceWindow(\"fooMaintenanceWindow\", MaintenanceWindowArgs.builder() \n .instanceId(fooInstance.id())\n .startTime(\"17:00\")\n .endTime(\"19:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${zone.lists[0].zone}\n cidrBlock: 10.0.1.0/24\n fooInstance:\n type: tencentcloud:Redis:Instance\n properties:\n availabilityZone: ${zone.lists[0].zone}\n typeId: ${zone.lists[0].typeId}\n password: test12345789\n memSize: 8192\n redisShardNum: ${zone.lists[0].redisShardNums[0]}\n redisReplicasNum: ${zone.lists[0].redisReplicasNums[0]}\n port: 6379\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n fooMaintenanceWindow:\n type: tencentcloud:Redis:MaintenanceWindow\n properties:\n instanceId: ${fooInstance.id}\n startTime: 17:00\n endTime: 19:00\nvariables:\n zone:\n fn::invoke:\n Function: tencentcloud:Redis:getZoneConfig\n Arguments:\n typeId: 7\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nredis maintenance_window can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Redis/maintenanceWindow:MaintenanceWindow foo instance_id\n```\n\n", "properties": { @@ -192460,7 +199825,7 @@ } }, "tencentcloud:Route/tableEntry:TableEntry": { - "description": "Provides a resource to create an entry of a routing table.\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\") || \"na-siliconvalley-1\";\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst fooTable = new tencentcloud.route.Table(\"fooTable\", {vpcId: fooInstance.id});\nconst fooSubnet_instanceInstance = new tencentcloud.subnet.Instance(\"fooSubnet/instanceInstance\", {\n vpcId: fooInstance.id,\n cidrBlock: \"10.0.12.0/24\",\n availabilityZone: availabilityZone,\n routeTableId: fooTable.id,\n});\nconst instance = new tencentcloud.route.TableEntry(\"instance\", {\n routeTableId: fooTable.id,\n destinationCidrBlock: \"10.4.4.0/24\",\n nextType: \"EIP\",\n nextHub: \"0\",\n description: \"ci-test-route-table-entry\",\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 = \"na-siliconvalley-1\"\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nfoo_table = tencentcloud.route.Table(\"fooTable\", vpc_id=foo_instance.id)\nfoo_subnet_instance_instance = tencentcloud.subnet.Instance(\"fooSubnet/instanceInstance\",\n vpc_id=foo_instance.id,\n cidr_block=\"10.0.12.0/24\",\n availability_zone=availability_zone,\n route_table_id=foo_table.id)\ninstance = tencentcloud.route.TableEntry(\"instance\",\n route_table_id=foo_table.id,\n destination_cidr_block=\"10.4.4.0/24\",\n next_type=\"EIP\",\n next_hub=\"0\",\n description=\"ci-test-route-table-entry\")\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\") ?? \"na-siliconvalley-1\";\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var fooTable = new Tencentcloud.Route.Table(\"fooTable\", new()\n {\n VpcId = fooInstance.Id,\n });\n\n var fooSubnet_instanceInstance = new Tencentcloud.Subnet.Instance(\"fooSubnet/instanceInstance\", new()\n {\n VpcId = fooInstance.Id,\n CidrBlock = \"10.0.12.0/24\",\n AvailabilityZone = availabilityZone,\n RouteTableId = fooTable.Id,\n });\n\n var instance = new Tencentcloud.Route.TableEntry(\"instance\", new()\n {\n RouteTableId = fooTable.Id,\n DestinationCidrBlock = \"10.4.4.0/24\",\n NextType = \"EIP\",\n NextHub = \"0\",\n Description = \"ci-test-route-table-entry\",\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/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\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"na-siliconvalley-1\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\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\tfooTable, err := Route.NewTable(ctx, \"fooTable\", \u0026Route.TableArgs{\n\t\t\tVpcId: fooInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Subnet.NewInstance(ctx, \"fooSubnet/instanceInstance\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.12.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tRouteTableId: fooTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Route.NewTableEntry(ctx, \"instance\", \u0026Route.TableEntryArgs{\n\t\t\tRouteTableId: fooTable.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.4.4.0/24\"),\n\t\t\tNextType: pulumi.String(\"EIP\"),\n\t\t\tNextHub: pulumi.String(\"0\"),\n\t\t\tDescription: pulumi.String(\"ci-test-route-table-entry\"),\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.Route.TableEntry;\nimport com.pulumi.tencentcloud.Route.TableEntryArgs;\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(\"na-siliconvalley-1\");\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var fooTable = new Table(\"fooTable\", TableArgs.builder() \n .vpcId(fooInstance.id())\n .build());\n\n var fooSubnet_instanceInstance = new Instance(\"fooSubnet/instanceInstance\", InstanceArgs.builder() \n .vpcId(fooInstance.id())\n .cidrBlock(\"10.0.12.0/24\")\n .availabilityZone(availabilityZone)\n .routeTableId(fooTable.id())\n .build());\n\n var instance = new TableEntry(\"instance\", TableEntryArgs.builder() \n .routeTableId(fooTable.id())\n .destinationCidrBlock(\"10.4.4.0/24\")\n .nextType(\"EIP\")\n .nextHub(\"0\")\n .description(\"ci-test-route-table-entry\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: na-siliconvalley-1\nresources:\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n fooSubnet/instanceInstance:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${fooInstance.id}\n cidrBlock: 10.0.12.0/24\n availabilityZone: ${availabilityZone}\n routeTableId: ${fooTable.id}\n fooTable:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${fooInstance.id}\n instance:\n type: tencentcloud:Route:TableEntry\n properties:\n routeTableId: ${fooTable.id}\n destinationCidrBlock: 10.4.4.0/24\n nextType: EIP\n nextHub: '0'\n description: ci-test-route-table-entry\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRoute table entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Route/tableEntry:TableEntry foo 83517.rtb-mlhpg09u\n```\n", + "description": "Provides a resource to create an entry of a routing table.\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-4\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create route table\nconst exampleTable = new tencentcloud.route.Table(\"exampleTable\", {vpcId: vpc.id});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n cidrBlock: \"10.0.12.0/24\",\n availabilityZone: availabilityZone,\n routeTableId: exampleTable.id,\n});\n// create route table entry\nconst exampleTableEntry = new tencentcloud.route.TableEntry(\"exampleTableEntry\", {\n routeTableId: exampleTable.id,\n destinationCidrBlock: \"10.4.4.0/24\",\n nextType: \"EIP\",\n nextHub: \"0\",\n description: \"describe\",\n});\nexport const itemId = exampleTableEntry.routeItemId;\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-4\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create route table\nexample_table = tencentcloud.route.Table(\"exampleTable\", vpc_id=vpc.id)\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.12.0/24\",\n availability_zone=availability_zone,\n route_table_id=example_table.id)\n# create route table entry\nexample_table_entry = tencentcloud.route.TableEntry(\"exampleTableEntry\",\n route_table_id=example_table.id,\n destination_cidr_block=\"10.4.4.0/24\",\n next_type=\"EIP\",\n next_hub=\"0\",\n description=\"describe\")\npulumi.export(\"itemId\", example_table_entry.route_item_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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create route table\n var exampleTable = new Tencentcloud.Route.Table(\"exampleTable\", new()\n {\n VpcId = vpc.Id,\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"10.0.12.0/24\",\n AvailabilityZone = availabilityZone,\n RouteTableId = exampleTable.Id,\n });\n\n // create route table entry\n var exampleTableEntry = new Tencentcloud.Route.TableEntry(\"exampleTableEntry\", new()\n {\n RouteTableId = exampleTable.Id,\n DestinationCidrBlock = \"10.4.4.0/24\",\n NextType = \"EIP\",\n NextHub = \"0\",\n Description = \"describe\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"itemId\"] = exampleTableEntry.RouteItemId,\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/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\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\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 route table\n\t\texampleTable, err := Route.NewTable(ctx, \"exampleTable\", \u0026Route.TableArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create subnet\n\t\t_, err = Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.12.0/24\"),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tRouteTableId: exampleTable.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create route table entry\n\t\texampleTableEntry, err := Route.NewTableEntry(ctx, \"exampleTableEntry\", \u0026Route.TableEntryArgs{\n\t\t\tRouteTableId: exampleTable.ID(),\n\t\t\tDestinationCidrBlock: pulumi.String(\"10.4.4.0/24\"),\n\t\t\tNextType: pulumi.String(\"EIP\"),\n\t\t\tNextHub: pulumi.String(\"0\"),\n\t\t\tDescription: pulumi.String(\"describe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"itemId\", exampleTableEntry.RouteItemId)\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.Route.TableEntry;\nimport com.pulumi.tencentcloud.Route.TableEntryArgs;\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-4\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create route table\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder() \n .vpcId(vpc.id())\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .cidrBlock(\"10.0.12.0/24\")\n .availabilityZone(availabilityZone)\n .routeTableId(exampleTable.id())\n .build());\n\n // create route table entry\n var exampleTableEntry = new TableEntry(\"exampleTableEntry\", TableEntryArgs.builder() \n .routeTableId(exampleTable.id())\n .destinationCidrBlock(\"10.4.4.0/24\")\n .nextType(\"EIP\")\n .nextHub(\"0\")\n .description(\"describe\")\n .build());\n\n ctx.export(\"itemId\", exampleTableEntry.routeItemId());\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 10.0.12.0/24\n availabilityZone: ${availabilityZone}\n routeTableId: ${exampleTable.id}\n # create route table\n exampleTable:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${vpc.id}\n # create route table entry\n exampleTableEntry:\n type: tencentcloud:Route:TableEntry\n properties:\n routeTableId: ${exampleTable.id}\n destinationCidrBlock: 10.4.4.0/24\n nextType: EIP\n nextHub: '0'\n description: describe\noutputs:\n # output\n itemId: ${exampleTableEntry.routeItemId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRoute table entry can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Route/tableEntry:TableEntry example 3065857.rtb-b050fg94\n```\n", "properties": { "description": { "type": "string", @@ -192482,6 +199847,10 @@ "type": "string", "description": "Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`.\n" }, + "routeItemId": { + "type": "string", + "description": "ID of route table entry.\n" + }, "routeTableId": { "type": "string", "description": "ID of routing table to which this entry belongs.\n" @@ -192491,6 +199860,7 @@ "destinationCidrBlock", "nextHub", "nextType", + "routeItemId", "routeTableId" ], "inputProperties": { @@ -192557,6 +199927,10 @@ "description": "Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`.\n", "willReplaceOnChanges": true }, + "routeItemId": { + "type": "string", + "description": "ID of route table entry.\n" + }, "routeTableId": { "type": "string", "description": "ID of routing table to which this entry belongs.\n", @@ -192681,11 +200055,11 @@ } }, "tencentcloud:Rum/project:Project": { - "description": "Provides a resource to create a rum project\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 project = new tencentcloud.rum.Project(\"project\", {\n desc: \"projectDesc-1\",\n enableUrlGroup: 0,\n instanceId: \"rum-pasZKEI3RLgakj\",\n rate: \"100\",\n repo: \"\",\n type: \"web\",\n url: \"iac-tf.com\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nproject = tencentcloud.rum.Project(\"project\",\n desc=\"projectDesc-1\",\n enable_url_group=0,\n instance_id=\"rum-pasZKEI3RLgakj\",\n rate=\"100\",\n repo=\"\",\n type=\"web\",\n url=\"iac-tf.com\")\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 project = new Tencentcloud.Rum.Project(\"project\", new()\n {\n Desc = \"projectDesc-1\",\n EnableUrlGroup = 0,\n InstanceId = \"rum-pasZKEI3RLgakj\",\n Rate = \"100\",\n Repo = \"\",\n Type = \"web\",\n Url = \"iac-tf.com\",\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/Rum\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Rum.NewProject(ctx, \"project\", \u0026Rum.ProjectArgs{\n\t\t\tDesc: pulumi.String(\"projectDesc-1\"),\n\t\t\tEnableUrlGroup: pulumi.Int(0),\n\t\t\tInstanceId: pulumi.String(\"rum-pasZKEI3RLgakj\"),\n\t\t\tRate: pulumi.String(\"100\"),\n\t\t\tRepo: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"web\"),\n\t\t\tUrl: pulumi.String(\"iac-tf.com\"),\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.Rum.Project;\nimport com.pulumi.tencentcloud.Rum.ProjectArgs;\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 project = new Project(\"project\", ProjectArgs.builder() \n .desc(\"projectDesc-1\")\n .enableUrlGroup(\"0\")\n .instanceId(\"rum-pasZKEI3RLgakj\")\n .rate(\"100\")\n .repo(\"\")\n .type(\"web\")\n .url(\"iac-tf.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: tencentcloud:Rum:Project\n properties:\n desc: projectDesc-1\n enableUrlGroup: '0'\n instanceId: rum-pasZKEI3RLgakj\n rate: '100'\n repo:\n type: web\n url: iac-tf.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nrum project can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Rum/project:Project project project_id\n```\n", + "description": "Provides a resource to create a rum project\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 exampleTawInstance = new tencentcloud.rum.TawInstance(\"exampleTawInstance\", {\n areaId: 1,\n chargeType: 1,\n dataRetentionDays: 30,\n instanceName: \"tf-example\",\n instanceDesc: \"desc.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleProject = new tencentcloud.rum.Project(\"exampleProject\", {\n instanceId: exampleTawInstance.id,\n rate: \"100\",\n enableUrlGroup: 0,\n type: \"web\",\n repo: \"https://github.com/xxx\",\n url: \"iac-tf.com\",\n desc: \"desc.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_taw_instance = tencentcloud.rum.TawInstance(\"exampleTawInstance\",\n area_id=1,\n charge_type=1,\n data_retention_days=30,\n instance_name=\"tf-example\",\n instance_desc=\"desc.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_project = tencentcloud.rum.Project(\"exampleProject\",\n instance_id=example_taw_instance.id,\n rate=\"100\",\n enable_url_group=0,\n type=\"web\",\n repo=\"https://github.com/xxx\",\n url=\"iac-tf.com\",\n desc=\"desc.\")\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 exampleTawInstance = new Tencentcloud.Rum.TawInstance(\"exampleTawInstance\", new()\n {\n AreaId = 1,\n ChargeType = 1,\n DataRetentionDays = 30,\n InstanceName = \"tf-example\",\n InstanceDesc = \"desc.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleProject = new Tencentcloud.Rum.Project(\"exampleProject\", new()\n {\n InstanceId = exampleTawInstance.Id,\n Rate = \"100\",\n EnableUrlGroup = 0,\n Type = \"web\",\n Repo = \"https://github.com/xxx\",\n Url = \"iac-tf.com\",\n Desc = \"desc.\",\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/Rum\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTawInstance, err := Rum.NewTawInstance(ctx, \"exampleTawInstance\", \u0026Rum.TawInstanceArgs{\n\t\t\tAreaId: pulumi.Int(1),\n\t\t\tChargeType: pulumi.Int(1),\n\t\t\tDataRetentionDays: pulumi.Int(30),\n\t\t\tInstanceName: pulumi.String(\"tf-example\"),\n\t\t\tInstanceDesc: pulumi.String(\"desc.\"),\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 = Rum.NewProject(ctx, \"exampleProject\", \u0026Rum.ProjectArgs{\n\t\t\tInstanceId: exampleTawInstance.ID(),\n\t\t\tRate: pulumi.String(\"100\"),\n\t\t\tEnableUrlGroup: pulumi.Int(0),\n\t\t\tType: pulumi.String(\"web\"),\n\t\t\tRepo: pulumi.String(\"https://github.com/xxx\"),\n\t\t\tUrl: pulumi.String(\"iac-tf.com\"),\n\t\t\tDesc: pulumi.String(\"desc.\"),\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.Rum.TawInstance;\nimport com.pulumi.tencentcloud.Rum.TawInstanceArgs;\nimport com.pulumi.tencentcloud.Rum.Project;\nimport com.pulumi.tencentcloud.Rum.ProjectArgs;\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 exampleTawInstance = new TawInstance(\"exampleTawInstance\", TawInstanceArgs.builder() \n .areaId(\"1\")\n .chargeType(\"1\")\n .dataRetentionDays(\"30\")\n .instanceName(\"tf-example\")\n .instanceDesc(\"desc.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder() \n .instanceId(exampleTawInstance.id())\n .rate(\"100\")\n .enableUrlGroup(\"0\")\n .type(\"web\")\n .repo(\"https://github.com/xxx\")\n .url(\"iac-tf.com\")\n .desc(\"desc.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTawInstance:\n type: tencentcloud:Rum:TawInstance\n properties:\n areaId: '1'\n chargeType: '1'\n dataRetentionDays: '30'\n instanceName: tf-example\n instanceDesc: desc.\n tags:\n createdBy: terraform\n exampleProject:\n type: tencentcloud:Rum:Project\n properties:\n instanceId: ${exampleTawInstance.id}\n rate: '100'\n enableUrlGroup: '0'\n type: web\n repo: https://github.com/xxx\n url: iac-tf.com\n desc: desc.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nrum project can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Rum/project:Project example 139422\n```\n", "properties": { "createTime": { "type": "string", - "description": "Creata Time.\n" + "description": "Create Time.\n" }, "creator": { "type": "string", @@ -192803,7 +200177,7 @@ "properties": { "createTime": { "type": "string", - "description": "Creata Time.\n" + "description": "Create Time.\n" }, "creator": { "type": "string", @@ -193025,7 +200399,7 @@ } }, "tencentcloud:Rum/tawInstance:TawInstance": { - "description": "Provides a resource to create a rum taw_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 tawInstance = new tencentcloud.rum.TawInstance(\"tawInstance\", {\n areaId: 1,\n chargeType: 1,\n dataRetentionDays: 30,\n instanceDesc: \"instanceDesc-1\",\n instanceName: \"instanceName-1\",\n tags: {\n createdBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ntaw_instance = tencentcloud.rum.TawInstance(\"tawInstance\",\n area_id=1,\n charge_type=1,\n data_retention_days=30,\n instance_desc=\"instanceDesc-1\",\n instance_name=\"instanceName-1\",\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 tawInstance = new Tencentcloud.Rum.TawInstance(\"tawInstance\", new()\n {\n AreaId = 1,\n ChargeType = 1,\n DataRetentionDays = 30,\n InstanceDesc = \"instanceDesc-1\",\n InstanceName = \"instanceName-1\",\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/Rum\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Rum.NewTawInstance(ctx, \"tawInstance\", \u0026Rum.TawInstanceArgs{\n\t\t\tAreaId: pulumi.Int(1),\n\t\t\tChargeType: pulumi.Int(1),\n\t\t\tDataRetentionDays: pulumi.Int(30),\n\t\t\tInstanceDesc: pulumi.String(\"instanceDesc-1\"),\n\t\t\tInstanceName: pulumi.String(\"instanceName-1\"),\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.Rum.TawInstance;\nimport com.pulumi.tencentcloud.Rum.TawInstanceArgs;\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 tawInstance = new TawInstance(\"tawInstance\", TawInstanceArgs.builder() \n .areaId(\"1\")\n .chargeType(\"1\")\n .dataRetentionDays(\"30\")\n .instanceDesc(\"instanceDesc-1\")\n .instanceName(\"instanceName-1\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tawInstance:\n type: tencentcloud:Rum:TawInstance\n properties:\n areaId: '1'\n chargeType: '1'\n dataRetentionDays: '30'\n instanceDesc: instanceDesc-1\n instanceName: instanceName-1\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nrum taw_instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Rum/tawInstance:TawInstance taw_instance tawInstance_id\n```\n", + "description": "Provides a resource to create a rum taw_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.rum.TawInstance(\"example\", {\n areaId: 1,\n chargeType: 1,\n dataRetentionDays: 30,\n instanceDesc: \"desc.\",\n instanceName: \"tf-example\",\n tags: {\n createdBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.rum.TawInstance(\"example\",\n area_id=1,\n charge_type=1,\n data_retention_days=30,\n instance_desc=\"desc.\",\n instance_name=\"tf-example\",\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.Rum.TawInstance(\"example\", new()\n {\n AreaId = 1,\n ChargeType = 1,\n DataRetentionDays = 30,\n InstanceDesc = \"desc.\",\n InstanceName = \"tf-example\",\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/Rum\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Rum.NewTawInstance(ctx, \"example\", \u0026Rum.TawInstanceArgs{\n\t\t\tAreaId: pulumi.Int(1),\n\t\t\tChargeType: pulumi.Int(1),\n\t\t\tDataRetentionDays: pulumi.Int(30),\n\t\t\tInstanceDesc: pulumi.String(\"desc.\"),\n\t\t\tInstanceName: pulumi.String(\"tf-example\"),\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.Rum.TawInstance;\nimport com.pulumi.tencentcloud.Rum.TawInstanceArgs;\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 TawInstance(\"example\", TawInstanceArgs.builder() \n .areaId(\"1\")\n .chargeType(\"1\")\n .dataRetentionDays(\"30\")\n .instanceDesc(\"desc.\")\n .instanceName(\"tf-example\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Rum:TawInstance\n properties:\n areaId: '1'\n chargeType: '1'\n dataRetentionDays: '30'\n instanceDesc: desc.\n instanceName: tf-example\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nrum taw_instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Rum/tawInstance:TawInstance example rum-WYsjMaiGOVXBeJ\n```\n", "properties": { "areaId": { "type": "integer", @@ -202229,7 +209603,7 @@ } }, "tencentcloud:Subnet/instance:Instance": { - "description": "Provide a resource to create a VPC subnet.\n\n## Import\n\nVpc subnet instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Subnet/instance:Instance test subnet_id\n```\n", + "description": "Provide a resource to create a VPC subnet.\n\n## Example Usage\n\n## Import\n\nVpc subnet instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Subnet/instance:Instance subnet subnet-b8j03v0c\n```\n", "properties": { "availabilityZone": { "type": "string", @@ -202239,6 +209613,10 @@ "type": "integer", "description": "The number of available IPs.\n" }, + "cdcId": { + "type": "string", + "description": "ID of CDC instance.\n" + }, "cidrBlock": { "type": "string", "description": "A network address block of the subnet.\n" @@ -202291,6 +209669,11 @@ "description": "The availability zone within which the subnet should be created.\n", "willReplaceOnChanges": true }, + "cdcId": { + "type": "string", + "description": "ID of CDC instance.\n", + "willReplaceOnChanges": true + }, "cidrBlock": { "type": "string", "description": "A network address block of the subnet.\n", @@ -202338,6 +209721,11 @@ "type": "integer", "description": "The number of available IPs.\n" }, + "cdcId": { + "type": "string", + "description": "ID of CDC instance.\n", + "willReplaceOnChanges": true + }, "cidrBlock": { "type": "string", "description": "A network address block of the subnet.\n", @@ -206920,7 +214308,7 @@ } }, "tencentcloud:Tdmq/rabbitmqUser:RabbitmqUser": { - "description": "Provides a resource to create a tdmq rabbitmq_user\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 rabbitmqUser = new tencentcloud.tdmq.RabbitmqUser(\"rabbitmqUser\", {\n description: \"test user\",\n instanceId: \"amqp-kzbe8p3n\",\n maxChannels: 3,\n maxConnections: 3,\n password: \"asdf1234\",\n tags: [\n \"management\",\n \"monitoring\",\n ],\n user: \"keep-user\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nrabbitmq_user = tencentcloud.tdmq.RabbitmqUser(\"rabbitmqUser\",\n description=\"test user\",\n instance_id=\"amqp-kzbe8p3n\",\n max_channels=3,\n max_connections=3,\n password=\"asdf1234\",\n tags=[\n \"management\",\n \"monitoring\",\n ],\n user=\"keep-user\")\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 rabbitmqUser = new Tencentcloud.Tdmq.RabbitmqUser(\"rabbitmqUser\", new()\n {\n Description = \"test user\",\n InstanceId = \"amqp-kzbe8p3n\",\n MaxChannels = 3,\n MaxConnections = 3,\n Password = \"asdf1234\",\n Tags = new[]\n {\n \"management\",\n \"monitoring\",\n },\n User = \"keep-user\",\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.NewRabbitmqUser(ctx, \"rabbitmqUser\", \u0026Tdmq.RabbitmqUserArgs{\n\t\t\tDescription: pulumi.String(\"test user\"),\n\t\t\tInstanceId: pulumi.String(\"amqp-kzbe8p3n\"),\n\t\t\tMaxChannels: pulumi.Int(3),\n\t\t\tMaxConnections: pulumi.Int(3),\n\t\t\tPassword: pulumi.String(\"asdf1234\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"management\"),\n\t\t\t\tpulumi.String(\"monitoring\"),\n\t\t\t},\n\t\t\tUser: pulumi.String(\"keep-user\"),\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.RabbitmqUser;\nimport com.pulumi.tencentcloud.Tdmq.RabbitmqUserArgs;\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 rabbitmqUser = new RabbitmqUser(\"rabbitmqUser\", RabbitmqUserArgs.builder() \n .description(\"test user\")\n .instanceId(\"amqp-kzbe8p3n\")\n .maxChannels(3)\n .maxConnections(3)\n .password(\"asdf1234\")\n .tags( \n \"management\",\n \"monitoring\")\n .user(\"keep-user\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rabbitmqUser:\n type: tencentcloud:Tdmq:RabbitmqUser\n properties:\n description: test user\n instanceId: amqp-kzbe8p3n\n maxChannels: 3\n maxConnections: 3\n password: asdf1234\n tags:\n - management\n - monitoring\n user: keep-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to create a tdmq rabbitmq_user\n\n## Import\n\ntdmq rabbitmq_user can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/rabbitmqUser:RabbitmqUser example amqp-8xzx822q#tf-example-user\n```\n\n", "properties": { "description": { "type": "string", @@ -207193,7 +214581,7 @@ } }, "tencentcloud:Tdmq/rabbitmqVirtualHost:RabbitmqVirtualHost": { - "description": "Provides a resource to create a tdmq rabbitmq_virtual_host\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 rabbitmqVirtualHost = new tencentcloud.tdmq.RabbitmqVirtualHost(\"rabbitmqVirtualHost\", {\n description: \"desc\",\n instanceId: \"amqp-kzbe8p3n\",\n traceFlag: false,\n virtualHost: \"vh-test-1\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nrabbitmq_virtual_host = tencentcloud.tdmq.RabbitmqVirtualHost(\"rabbitmqVirtualHost\",\n description=\"desc\",\n instance_id=\"amqp-kzbe8p3n\",\n trace_flag=False,\n virtual_host=\"vh-test-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 rabbitmqVirtualHost = new Tencentcloud.Tdmq.RabbitmqVirtualHost(\"rabbitmqVirtualHost\", new()\n {\n Description = \"desc\",\n InstanceId = \"amqp-kzbe8p3n\",\n TraceFlag = false,\n VirtualHost = \"vh-test-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/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Tdmq.NewRabbitmqVirtualHost(ctx, \"rabbitmqVirtualHost\", \u0026Tdmq.RabbitmqVirtualHostArgs{\n\t\t\tDescription: pulumi.String(\"desc\"),\n\t\t\tInstanceId: pulumi.String(\"amqp-kzbe8p3n\"),\n\t\t\tTraceFlag: pulumi.Bool(false),\n\t\t\tVirtualHost: pulumi.String(\"vh-test-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.Tdmq.RabbitmqVirtualHost;\nimport com.pulumi.tencentcloud.Tdmq.RabbitmqVirtualHostArgs;\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 rabbitmqVirtualHost = new RabbitmqVirtualHost(\"rabbitmqVirtualHost\", RabbitmqVirtualHostArgs.builder() \n .description(\"desc\")\n .instanceId(\"amqp-kzbe8p3n\")\n .traceFlag(false)\n .virtualHost(\"vh-test-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rabbitmqVirtualHost:\n type: tencentcloud:Tdmq:RabbitmqVirtualHost\n properties:\n description: desc\n instanceId: amqp-kzbe8p3n\n traceFlag: false\n virtualHost: vh-test-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource to create a tdmq rabbitmq_virtual_host\n\n## Import\n\ntdmq rabbitmq_virtual_host can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/rabbitmqVirtualHost:RabbitmqVirtualHost example amqp-pbavw2wd#tf-example-vhost\n```\n\n", "properties": { "description": { "type": "string", @@ -207214,6 +214602,7 @@ }, "required": [ "instanceId", + "traceFlag", "virtualHost" ], "inputProperties": { @@ -209633,7 +217022,7 @@ } }, "tencentcloud:Teo/accelerationDomain:AccelerationDomain": { - "description": "Provides a resource to create a teo acceleration_domain\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 accelerationDomain = new tencentcloud.teo.AccelerationDomain(\"accelerationDomain\", {\n domainName: \"aaa.makn.cn\",\n originInfo: {\n origin: \"150.109.8.1\",\n originType: \"IP_DOMAIN\",\n },\n zoneId: \"zone-2o0i41pv2h8c\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nacceleration_domain = tencentcloud.teo.AccelerationDomain(\"accelerationDomain\",\n domain_name=\"aaa.makn.cn\",\n origin_info=tencentcloud.teo.AccelerationDomainOriginInfoArgs(\n origin=\"150.109.8.1\",\n origin_type=\"IP_DOMAIN\",\n ),\n zone_id=\"zone-2o0i41pv2h8c\")\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 accelerationDomain = new Tencentcloud.Teo.AccelerationDomain(\"accelerationDomain\", new()\n {\n DomainName = \"aaa.makn.cn\",\n OriginInfo = new Tencentcloud.Teo.Inputs.AccelerationDomainOriginInfoArgs\n {\n Origin = \"150.109.8.1\",\n OriginType = \"IP_DOMAIN\",\n },\n ZoneId = \"zone-2o0i41pv2h8c\",\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.NewAccelerationDomain(ctx, \"accelerationDomain\", \u0026Teo.AccelerationDomainArgs{\n\t\t\tDomainName: pulumi.String(\"aaa.makn.cn\"),\n\t\t\tOriginInfo: \u0026teo.AccelerationDomainOriginInfoArgs{\n\t\t\t\tOrigin: pulumi.String(\"150.109.8.1\"),\n\t\t\t\tOriginType: pulumi.String(\"IP_DOMAIN\"),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(\"zone-2o0i41pv2h8c\"),\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.AccelerationDomain;\nimport com.pulumi.tencentcloud.Teo.AccelerationDomainArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.AccelerationDomainOriginInfoArgs;\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 accelerationDomain = new AccelerationDomain(\"accelerationDomain\", AccelerationDomainArgs.builder() \n .domainName(\"aaa.makn.cn\")\n .originInfo(AccelerationDomainOriginInfoArgs.builder()\n .origin(\"150.109.8.1\")\n .originType(\"IP_DOMAIN\")\n .build())\n .zoneId(\"zone-2o0i41pv2h8c\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n accelerationDomain:\n type: tencentcloud:Teo:AccelerationDomain\n properties:\n domainName: aaa.makn.cn\n originInfo:\n origin: 150.109.8.1\n originType: IP_DOMAIN\n zoneId: zone-2o0i41pv2h8c\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo acceleration_domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain acceleration_domain_id\n```\n\n", + "description": "Provides a resource to create a teo acceleration_domain\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 accelerationDomain = new tencentcloud.teo.AccelerationDomain(\"accelerationDomain\", {\n domainName: \"aaa.makn.cn\",\n originInfo: {\n origin: \"150.109.8.1\",\n originType: \"IP_DOMAIN\",\n },\n zoneId: \"zone-2o0i41pv2h8c\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nacceleration_domain = tencentcloud.teo.AccelerationDomain(\"accelerationDomain\",\n domain_name=\"aaa.makn.cn\",\n origin_info=tencentcloud.teo.AccelerationDomainOriginInfoArgs(\n origin=\"150.109.8.1\",\n origin_type=\"IP_DOMAIN\",\n ),\n zone_id=\"zone-2o0i41pv2h8c\")\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 accelerationDomain = new Tencentcloud.Teo.AccelerationDomain(\"accelerationDomain\", new()\n {\n DomainName = \"aaa.makn.cn\",\n OriginInfo = new Tencentcloud.Teo.Inputs.AccelerationDomainOriginInfoArgs\n {\n Origin = \"150.109.8.1\",\n OriginType = \"IP_DOMAIN\",\n },\n ZoneId = \"zone-2o0i41pv2h8c\",\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.NewAccelerationDomain(ctx, \"accelerationDomain\", \u0026Teo.AccelerationDomainArgs{\n\t\t\tDomainName: pulumi.String(\"aaa.makn.cn\"),\n\t\t\tOriginInfo: \u0026teo.AccelerationDomainOriginInfoArgs{\n\t\t\t\tOrigin: pulumi.String(\"150.109.8.1\"),\n\t\t\t\tOriginType: pulumi.String(\"IP_DOMAIN\"),\n\t\t\t},\n\t\t\tZoneId: pulumi.String(\"zone-2o0i41pv2h8c\"),\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.AccelerationDomain;\nimport com.pulumi.tencentcloud.Teo.AccelerationDomainArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.AccelerationDomainOriginInfoArgs;\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 accelerationDomain = new AccelerationDomain(\"accelerationDomain\", AccelerationDomainArgs.builder() \n .domainName(\"aaa.makn.cn\")\n .originInfo(AccelerationDomainOriginInfoArgs.builder()\n .origin(\"150.109.8.1\")\n .originType(\"IP_DOMAIN\")\n .build())\n .zoneId(\"zone-2o0i41pv2h8c\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n accelerationDomain:\n type: tencentcloud:Teo:AccelerationDomain\n properties:\n domainName: aaa.makn.cn\n originInfo:\n origin: 150.109.8.1\n originType: IP_DOMAIN\n zoneId: zone-2o0i41pv2h8c\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo acceleration_domain can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain zone_id#domain_name\n```\n\n", "properties": { "cname": { "type": "string", @@ -210148,7 +217537,7 @@ } }, "tencentcloud:Teo/certificateConfig:CertificateConfig": { - "description": "Provides a resource to create a teo certificate\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 certificate = new tencentcloud.teo.CertificateConfig(\"certificate\", {\n host: \"test.tencentcloud-terraform-provider.cn\",\n mode: \"eofreecert\",\n zoneId: \"zone-2o1t24kgy362\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncertificate = tencentcloud.teo.CertificateConfig(\"certificate\",\n host=\"test.tencentcloud-terraform-provider.cn\",\n mode=\"eofreecert\",\n zone_id=\"zone-2o1t24kgy362\")\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 certificate = new Tencentcloud.Teo.CertificateConfig(\"certificate\", new()\n {\n Host = \"test.tencentcloud-terraform-provider.cn\",\n Mode = \"eofreecert\",\n ZoneId = \"zone-2o1t24kgy362\",\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.NewCertificateConfig(ctx, \"certificate\", \u0026Teo.CertificateConfigArgs{\n\t\t\tHost: pulumi.String(\"test.tencentcloud-terraform-provider.cn\"),\n\t\t\tMode: pulumi.String(\"eofreecert\"),\n\t\t\tZoneId: pulumi.String(\"zone-2o1t24kgy362\"),\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.CertificateConfig;\nimport com.pulumi.tencentcloud.Teo.CertificateConfigArgs;\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 certificate = new CertificateConfig(\"certificate\", CertificateConfigArgs.builder() \n .host(\"test.tencentcloud-terraform-provider.cn\")\n .mode(\"eofreecert\")\n .zoneId(\"zone-2o1t24kgy362\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n certificate:\n type: tencentcloud:Teo:CertificateConfig\n properties:\n host: test.tencentcloud-terraform-provider.cn\n mode: eofreecert\n zoneId: zone-2o1t24kgy362\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configure SSL certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst certificate = new tencentcloud.teo.CertificateConfig(\"certificate\", {\n host: \"test.tencentcloud-terraform-provider.cn\",\n mode: \"sslcert\",\n serverCertInfos: [{\n certId: \"8xiUJIJd\",\n }],\n zoneId: \"zone-2o1t24kgy362\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncertificate = tencentcloud.teo.CertificateConfig(\"certificate\",\n host=\"test.tencentcloud-terraform-provider.cn\",\n mode=\"sslcert\",\n server_cert_infos=[tencentcloud.teo.CertificateConfigServerCertInfoArgs(\n cert_id=\"8xiUJIJd\",\n )],\n zone_id=\"zone-2o1t24kgy362\")\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 certificate = new Tencentcloud.Teo.CertificateConfig(\"certificate\", new()\n {\n Host = \"test.tencentcloud-terraform-provider.cn\",\n Mode = \"sslcert\",\n ServerCertInfos = new[]\n {\n new Tencentcloud.Teo.Inputs.CertificateConfigServerCertInfoArgs\n {\n CertId = \"8xiUJIJd\",\n },\n },\n ZoneId = \"zone-2o1t24kgy362\",\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.NewCertificateConfig(ctx, \"certificate\", \u0026Teo.CertificateConfigArgs{\n\t\t\tHost: pulumi.String(\"test.tencentcloud-terraform-provider.cn\"),\n\t\t\tMode: pulumi.String(\"sslcert\"),\n\t\t\tServerCertInfos: teo.CertificateConfigServerCertInfoArray{\n\t\t\t\t\u0026teo.CertificateConfigServerCertInfoArgs{\n\t\t\t\t\tCertId: pulumi.String(\"8xiUJIJd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZoneId: pulumi.String(\"zone-2o1t24kgy362\"),\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.CertificateConfig;\nimport com.pulumi.tencentcloud.Teo.CertificateConfigArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.CertificateConfigServerCertInfoArgs;\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 certificate = new CertificateConfig(\"certificate\", CertificateConfigArgs.builder() \n .host(\"test.tencentcloud-terraform-provider.cn\")\n .mode(\"sslcert\")\n .serverCertInfos(CertificateConfigServerCertInfoArgs.builder()\n .certId(\"8xiUJIJd\")\n .build())\n .zoneId(\"zone-2o1t24kgy362\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n certificate:\n type: tencentcloud:Teo:CertificateConfig\n properties:\n host: test.tencentcloud-terraform-provider.cn\n mode: sslcert\n serverCertInfos:\n - certId: 8xiUJIJd\n zoneId: zone-2o1t24kgy362\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host#cert_id\n```\n\n", + "description": "Provides a resource to create a teo certificate\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 certificate = new tencentcloud.teo.CertificateConfig(\"certificate\", {\n host: \"test.tencentcloud-terraform-provider.cn\",\n mode: \"eofreecert\",\n zoneId: \"zone-2o1t24kgy362\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncertificate = tencentcloud.teo.CertificateConfig(\"certificate\",\n host=\"test.tencentcloud-terraform-provider.cn\",\n mode=\"eofreecert\",\n zone_id=\"zone-2o1t24kgy362\")\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 certificate = new Tencentcloud.Teo.CertificateConfig(\"certificate\", new()\n {\n Host = \"test.tencentcloud-terraform-provider.cn\",\n Mode = \"eofreecert\",\n ZoneId = \"zone-2o1t24kgy362\",\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.NewCertificateConfig(ctx, \"certificate\", \u0026Teo.CertificateConfigArgs{\n\t\t\tHost: pulumi.String(\"test.tencentcloud-terraform-provider.cn\"),\n\t\t\tMode: pulumi.String(\"eofreecert\"),\n\t\t\tZoneId: pulumi.String(\"zone-2o1t24kgy362\"),\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.CertificateConfig;\nimport com.pulumi.tencentcloud.Teo.CertificateConfigArgs;\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 certificate = new CertificateConfig(\"certificate\", CertificateConfigArgs.builder() \n .host(\"test.tencentcloud-terraform-provider.cn\")\n .mode(\"eofreecert\")\n .zoneId(\"zone-2o1t24kgy362\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n certificate:\n type: tencentcloud:Teo:CertificateConfig\n properties:\n host: test.tencentcloud-terraform-provider.cn\n mode: eofreecert\n zoneId: zone-2o1t24kgy362\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Configure SSL certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst certificate = new tencentcloud.teo.CertificateConfig(\"certificate\", {\n host: \"test.tencentcloud-terraform-provider.cn\",\n mode: \"sslcert\",\n serverCertInfos: [{\n certId: \"8xiUJIJd\",\n }],\n zoneId: \"zone-2o1t24kgy362\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ncertificate = tencentcloud.teo.CertificateConfig(\"certificate\",\n host=\"test.tencentcloud-terraform-provider.cn\",\n mode=\"sslcert\",\n server_cert_infos=[tencentcloud.teo.CertificateConfigServerCertInfoArgs(\n cert_id=\"8xiUJIJd\",\n )],\n zone_id=\"zone-2o1t24kgy362\")\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 certificate = new Tencentcloud.Teo.CertificateConfig(\"certificate\", new()\n {\n Host = \"test.tencentcloud-terraform-provider.cn\",\n Mode = \"sslcert\",\n ServerCertInfos = new[]\n {\n new Tencentcloud.Teo.Inputs.CertificateConfigServerCertInfoArgs\n {\n CertId = \"8xiUJIJd\",\n },\n },\n ZoneId = \"zone-2o1t24kgy362\",\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.NewCertificateConfig(ctx, \"certificate\", \u0026Teo.CertificateConfigArgs{\n\t\t\tHost: pulumi.String(\"test.tencentcloud-terraform-provider.cn\"),\n\t\t\tMode: pulumi.String(\"sslcert\"),\n\t\t\tServerCertInfos: teo.CertificateConfigServerCertInfoArray{\n\t\t\t\t\u0026teo.CertificateConfigServerCertInfoArgs{\n\t\t\t\t\tCertId: pulumi.String(\"8xiUJIJd\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZoneId: pulumi.String(\"zone-2o1t24kgy362\"),\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.CertificateConfig;\nimport com.pulumi.tencentcloud.Teo.CertificateConfigArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.CertificateConfigServerCertInfoArgs;\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 certificate = new CertificateConfig(\"certificate\", CertificateConfigArgs.builder() \n .host(\"test.tencentcloud-terraform-provider.cn\")\n .mode(\"sslcert\")\n .serverCertInfos(CertificateConfigServerCertInfoArgs.builder()\n .certId(\"8xiUJIJd\")\n .build())\n .zoneId(\"zone-2o1t24kgy362\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n certificate:\n type: tencentcloud:Teo:CertificateConfig\n properties:\n host: test.tencentcloud-terraform-provider.cn\n mode: sslcert\n serverCertInfos:\n - certId: 8xiUJIJd\n zoneId: zone-2o1t24kgy362\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo certificate can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host\n```\n\n", "properties": { "host": { "type": "string", @@ -211319,6 +218708,301 @@ "type": "object" } }, + "tencentcloud:Thpc/workspaces:Workspaces": { + "description": "Provides a resource to create a THPC workspaces\n\n\u003e **Note:** If space_charge_type is UNDERWRITE, Not currently supported for deletion.\n\n## Example Usage\n\n### Create a PREPAID THPC workspaces\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-nanjing-1\";\nconst images = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.1 (TK4) UEFI\",\n});\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"security group desc.\",\n tags: {\n createBy: \"Terraform\",\n },\n});\n// create thpc workspaces\nconst exampleWorkspaces = new tencentcloud.thpc.Workspaces(\"exampleWorkspaces\", {\n spaceName: \"tf-example\",\n spaceChargeType: \"PREPAID\",\n spaceType: \"96A.96XLARGE2304\",\n hpcClusterId: \"hpc-l9anqcbl\",\n imageId: images.then(images =\u003e images.images?.[0]?.imageId),\n securityGroupIds: [exampleGroup.id],\n placement: {\n zone: availabilityZone,\n projectId: 0,\n },\n spaceChargePrepaid: {\n period: 1,\n renewFlag: \"NOTIFY_AND_AUTO_RENEW\",\n },\n systemDisk: {\n diskSize: 100,\n diskType: \"CLOUD_HSSD\",\n },\n dataDisks: [{\n diskSize: 200,\n diskType: \"CLOUD_HSSD\",\n encrypt: false,\n }],\n virtualPrivateCloud: {\n vpcId: vpc.id,\n subnetId: subnet.id,\n asVpcGateway: false,\n ipv6AddressCount: 0,\n },\n internetAccessible: {\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 200,\n publicIpAssigned: true,\n },\n loginSettings: {\n password: \"Password@123\",\n },\n enhancedService: {\n securityService: {\n enabled: true,\n },\n monitorService: {\n enabled: true,\n },\n automationService: {\n enabled: true,\n },\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-nanjing-1\"\nimages = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.1 (TK4) UEFI\")\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"security group desc.\",\n tags={\n \"createBy\": \"Terraform\",\n })\n# create thpc workspaces\nexample_workspaces = tencentcloud.thpc.Workspaces(\"exampleWorkspaces\",\n space_name=\"tf-example\",\n space_charge_type=\"PREPAID\",\n space_type=\"96A.96XLARGE2304\",\n hpc_cluster_id=\"hpc-l9anqcbl\",\n image_id=images.images[0].image_id,\n security_group_ids=[example_group.id],\n placement=tencentcloud.thpc.WorkspacesPlacementArgs(\n zone=availability_zone,\n project_id=0,\n ),\n space_charge_prepaid=tencentcloud.thpc.WorkspacesSpaceChargePrepaidArgs(\n period=1,\n renew_flag=\"NOTIFY_AND_AUTO_RENEW\",\n ),\n system_disk=tencentcloud.thpc.WorkspacesSystemDiskArgs(\n disk_size=100,\n disk_type=\"CLOUD_HSSD\",\n ),\n data_disks=[tencentcloud.thpc.WorkspacesDataDiskArgs(\n disk_size=200,\n disk_type=\"CLOUD_HSSD\",\n encrypt=False,\n )],\n virtual_private_cloud=tencentcloud.thpc.WorkspacesVirtualPrivateCloudArgs(\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n as_vpc_gateway=False,\n ipv6_address_count=0,\n ),\n internet_accessible=tencentcloud.thpc.WorkspacesInternetAccessibleArgs(\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=200,\n public_ip_assigned=True,\n ),\n login_settings=tencentcloud.thpc.WorkspacesLoginSettingsArgs(\n password=\"Password@123\",\n ),\n enhanced_service=tencentcloud.thpc.WorkspacesEnhancedServiceArgs(\n security_service=tencentcloud.thpc.WorkspacesEnhancedServiceSecurityServiceArgs(\n enabled=True,\n ),\n monitor_service=tencentcloud.thpc.WorkspacesEnhancedServiceMonitorServiceArgs(\n enabled=True,\n ),\n automation_service=tencentcloud.thpc.WorkspacesEnhancedServiceAutomationServiceArgs(\n enabled=True,\n ),\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-nanjing-1\";\n var images = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"TencentOS Server 3.1 (TK4) UEFI\",\n });\n\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"security group desc.\",\n Tags = \n {\n { \"createBy\", \"Terraform\" },\n },\n });\n\n // create thpc workspaces\n var exampleWorkspaces = new Tencentcloud.Thpc.Workspaces(\"exampleWorkspaces\", new()\n {\n SpaceName = \"tf-example\",\n SpaceChargeType = \"PREPAID\",\n SpaceType = \"96A.96XLARGE2304\",\n HpcClusterId = \"hpc-l9anqcbl\",\n ImageId = images.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n SecurityGroupIds = new[]\n {\n exampleGroup.Id,\n },\n Placement = new Tencentcloud.Thpc.Inputs.WorkspacesPlacementArgs\n {\n Zone = availabilityZone,\n ProjectId = 0,\n },\n SpaceChargePrepaid = new Tencentcloud.Thpc.Inputs.WorkspacesSpaceChargePrepaidArgs\n {\n Period = 1,\n RenewFlag = \"NOTIFY_AND_AUTO_RENEW\",\n },\n SystemDisk = new Tencentcloud.Thpc.Inputs.WorkspacesSystemDiskArgs\n {\n DiskSize = 100,\n DiskType = \"CLOUD_HSSD\",\n },\n DataDisks = new[]\n {\n new Tencentcloud.Thpc.Inputs.WorkspacesDataDiskArgs\n {\n DiskSize = 200,\n DiskType = \"CLOUD_HSSD\",\n Encrypt = false,\n },\n },\n VirtualPrivateCloud = new Tencentcloud.Thpc.Inputs.WorkspacesVirtualPrivateCloudArgs\n {\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n AsVpcGateway = false,\n Ipv6AddressCount = 0,\n },\n InternetAccessible = new Tencentcloud.Thpc.Inputs.WorkspacesInternetAccessibleArgs\n {\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 200,\n PublicIpAssigned = true,\n },\n LoginSettings = new Tencentcloud.Thpc.Inputs.WorkspacesLoginSettingsArgs\n {\n Password = \"Password@123\",\n },\n EnhancedService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceArgs\n {\n SecurityService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceSecurityServiceArgs\n {\n Enabled = true,\n },\n MonitorService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceMonitorServiceArgs\n {\n Enabled = true,\n },\n AutomationService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceAutomationServiceArgs\n {\n Enabled = true,\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/Images\"\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/Thpc\"\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-nanjing-1\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\timages, 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(\"TencentOS Server 3.1 (TK4) UEFI\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create 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(\"172.16.0.0/24\"),\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"security group desc.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create thpc workspaces\n\t\t_, err = Thpc.NewWorkspaces(ctx, \"exampleWorkspaces\", \u0026Thpc.WorkspacesArgs{\n\t\t\tSpaceName: pulumi.String(\"tf-example\"),\n\t\t\tSpaceChargeType: pulumi.String(\"PREPAID\"),\n\t\t\tSpaceType: pulumi.String(\"96A.96XLARGE2304\"),\n\t\t\tHpcClusterId: pulumi.String(\"hpc-l9anqcbl\"),\n\t\t\tImageId: pulumi.String(images.Images[0].ImageId),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tPlacement: \u0026thpc.WorkspacesPlacementArgs{\n\t\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\t\tProjectId: pulumi.Int(0),\n\t\t\t},\n\t\t\tSpaceChargePrepaid: \u0026thpc.WorkspacesSpaceChargePrepaidArgs{\n\t\t\t\tPeriod: pulumi.Int(1),\n\t\t\t\tRenewFlag: pulumi.String(\"NOTIFY_AND_AUTO_RENEW\"),\n\t\t\t},\n\t\t\tSystemDisk: \u0026thpc.WorkspacesSystemDiskArgs{\n\t\t\t\tDiskSize: pulumi.Int(100),\n\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t},\n\t\t\tDataDisks: thpc.WorkspacesDataDiskArray{\n\t\t\t\t\u0026thpc.WorkspacesDataDiskArgs{\n\t\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVirtualPrivateCloud: \u0026thpc.WorkspacesVirtualPrivateCloudArgs{\n\t\t\t\tVpcId: vpc.ID(),\n\t\t\t\tSubnetId: subnet.ID(),\n\t\t\t\tAsVpcGateway: pulumi.Bool(false),\n\t\t\t\tIpv6AddressCount: pulumi.Int(0),\n\t\t\t},\n\t\t\tInternetAccessible: \u0026thpc.WorkspacesInternetAccessibleArgs{\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(200),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t},\n\t\t\tLoginSettings: \u0026thpc.WorkspacesLoginSettingsArgs{\n\t\t\t\tPassword: pulumi.String(\"Password@123\"),\n\t\t\t},\n\t\t\tEnhancedService: \u0026thpc.WorkspacesEnhancedServiceArgs{\n\t\t\t\tSecurityService: \u0026thpc.WorkspacesEnhancedServiceSecurityServiceArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tMonitorService: \u0026thpc.WorkspacesEnhancedServiceMonitorServiceArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tAutomationService: \u0026thpc.WorkspacesEnhancedServiceAutomationServiceArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\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.Thpc.Workspaces;\nimport com.pulumi.tencentcloud.Thpc.WorkspacesArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesPlacementArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesSpaceChargePrepaidArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesSystemDiskArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesDataDiskArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesVirtualPrivateCloudArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesInternetAccessibleArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesLoginSettingsArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceSecurityServiceArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceMonitorServiceArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceAutomationServiceArgs;\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-nanjing-1\");\n final var images = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.1 (TK4) UEFI\")\n .build());\n\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"security group desc.\")\n .tags(Map.of(\"createBy\", \"Terraform\"))\n .build());\n\n // create thpc workspaces\n var exampleWorkspaces = new Workspaces(\"exampleWorkspaces\", WorkspacesArgs.builder() \n .spaceName(\"tf-example\")\n .spaceChargeType(\"PREPAID\")\n .spaceType(\"96A.96XLARGE2304\")\n .hpcClusterId(\"hpc-l9anqcbl\")\n .imageId(images.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .securityGroupIds(exampleGroup.id())\n .placement(WorkspacesPlacementArgs.builder()\n .zone(availabilityZone)\n .projectId(0)\n .build())\n .spaceChargePrepaid(WorkspacesSpaceChargePrepaidArgs.builder()\n .period(1)\n .renewFlag(\"NOTIFY_AND_AUTO_RENEW\")\n .build())\n .systemDisk(WorkspacesSystemDiskArgs.builder()\n .diskSize(100)\n .diskType(\"CLOUD_HSSD\")\n .build())\n .dataDisks(WorkspacesDataDiskArgs.builder()\n .diskSize(200)\n .diskType(\"CLOUD_HSSD\")\n .encrypt(false)\n .build())\n .virtualPrivateCloud(WorkspacesVirtualPrivateCloudArgs.builder()\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .asVpcGateway(false)\n .ipv6AddressCount(0)\n .build())\n .internetAccessible(WorkspacesInternetAccessibleArgs.builder()\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(200)\n .publicIpAssigned(true)\n .build())\n .loginSettings(WorkspacesLoginSettingsArgs.builder()\n .password(\"Password@123\")\n .build())\n .enhancedService(WorkspacesEnhancedServiceArgs.builder()\n .securityService(WorkspacesEnhancedServiceSecurityServiceArgs.builder()\n .enabled(true)\n .build())\n .monitorService(WorkspacesEnhancedServiceMonitorServiceArgs.builder()\n .enabled(true)\n .build())\n .automationService(WorkspacesEnhancedServiceAutomationServiceArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-nanjing-1\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: security group desc.\n tags:\n createBy: Terraform\n # create thpc workspaces\n exampleWorkspaces:\n type: tencentcloud:Thpc:Workspaces\n properties:\n spaceName: tf-example\n spaceChargeType: PREPAID\n spaceType: 96A.96XLARGE2304\n hpcClusterId: hpc-l9anqcbl\n imageId: ${images.images[0].imageId}\n securityGroupIds:\n - ${exampleGroup.id}\n placement:\n zone: ${availabilityZone}\n projectId: 0\n spaceChargePrepaid:\n period: 1\n renewFlag: NOTIFY_AND_AUTO_RENEW\n systemDisk:\n diskSize: 100\n diskType: CLOUD_HSSD\n dataDisks:\n - diskSize: 200\n diskType: CLOUD_HSSD\n encrypt: false\n virtualPrivateCloud:\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n asVpcGateway: false\n ipv6AddressCount: 0\n internetAccessible:\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 200\n publicIpAssigned: true\n loginSettings:\n password: Password@123\n enhancedService:\n securityService:\n enabled: true\n monitorService:\n enabled: true\n automationService:\n enabled: true\nvariables:\n images:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: TencentOS Server 3.1 (TK4) UEFI\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a UNDERWRITE THPC workspaces\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-nanjing-1\";\nconst images = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"TencentOS Server 3.1 (TK4) UEFI\",\n});\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"172.16.0.0/16\"});\n// create subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"172.16.0.0/24\",\n isMulticast: false,\n});\n// create security group\nconst exampleGroup = new tencentcloud.security.Group(\"exampleGroup\", {\n description: \"security group desc.\",\n tags: {\n createBy: \"Terraform\",\n },\n});\n// create thpc workspaces\nconst exampleWorkspaces = new tencentcloud.thpc.Workspaces(\"exampleWorkspaces\", {\n spaceName: \"tf-example\",\n spaceChargeType: \"UNDERWRITE\",\n spaceType: \"96A.96XLARGE2304\",\n hpcClusterId: \"hpc-l9anqcbl\",\n imageId: images.then(images =\u003e images.images?.[0]?.imageId),\n securityGroupIds: [exampleGroup.id],\n placement: {\n zone: availabilityZone,\n projectId: 0,\n },\n spaceChargePrepaid: {\n period: 12,\n renewFlag: \"NOTIFY_AND_AUTO_RENEW\",\n },\n systemDisk: {\n diskSize: 100,\n diskType: \"CLOUD_HSSD\",\n },\n dataDisks: [{\n diskSize: 200,\n diskType: \"CLOUD_HSSD\",\n encrypt: false,\n }],\n virtualPrivateCloud: {\n vpcId: vpc.id,\n subnetId: subnet.id,\n asVpcGateway: false,\n ipv6AddressCount: 0,\n privateIpAddresses: [\"172.16.0.2\"],\n },\n internetAccessible: {\n internetChargeType: \"BANDWIDTH_PREPAID\",\n internetMaxBandwidthOut: 200,\n publicIpAssigned: true,\n },\n loginSettings: {\n keyIds: [\"skey-qxjpz7uj\"],\n },\n enhancedService: {\n securityService: {\n enabled: true,\n },\n monitorService: {\n enabled: true,\n },\n automationService: {\n enabled: true,\n },\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-nanjing-1\"\nimages = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"TencentOS Server 3.1 (TK4) UEFI\")\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"172.16.0.0/16\")\n# create subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"172.16.0.0/24\",\n is_multicast=False)\n# create security group\nexample_group = tencentcloud.security.Group(\"exampleGroup\",\n description=\"security group desc.\",\n tags={\n \"createBy\": \"Terraform\",\n })\n# create thpc workspaces\nexample_workspaces = tencentcloud.thpc.Workspaces(\"exampleWorkspaces\",\n space_name=\"tf-example\",\n space_charge_type=\"UNDERWRITE\",\n space_type=\"96A.96XLARGE2304\",\n hpc_cluster_id=\"hpc-l9anqcbl\",\n image_id=images.images[0].image_id,\n security_group_ids=[example_group.id],\n placement=tencentcloud.thpc.WorkspacesPlacementArgs(\n zone=availability_zone,\n project_id=0,\n ),\n space_charge_prepaid=tencentcloud.thpc.WorkspacesSpaceChargePrepaidArgs(\n period=12,\n renew_flag=\"NOTIFY_AND_AUTO_RENEW\",\n ),\n system_disk=tencentcloud.thpc.WorkspacesSystemDiskArgs(\n disk_size=100,\n disk_type=\"CLOUD_HSSD\",\n ),\n data_disks=[tencentcloud.thpc.WorkspacesDataDiskArgs(\n disk_size=200,\n disk_type=\"CLOUD_HSSD\",\n encrypt=False,\n )],\n virtual_private_cloud=tencentcloud.thpc.WorkspacesVirtualPrivateCloudArgs(\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n as_vpc_gateway=False,\n ipv6_address_count=0,\n private_ip_addresses=[\"172.16.0.2\"],\n ),\n internet_accessible=tencentcloud.thpc.WorkspacesInternetAccessibleArgs(\n internet_charge_type=\"BANDWIDTH_PREPAID\",\n internet_max_bandwidth_out=200,\n public_ip_assigned=True,\n ),\n login_settings=tencentcloud.thpc.WorkspacesLoginSettingsArgs(\n key_ids=[\"skey-qxjpz7uj\"],\n ),\n enhanced_service=tencentcloud.thpc.WorkspacesEnhancedServiceArgs(\n security_service=tencentcloud.thpc.WorkspacesEnhancedServiceSecurityServiceArgs(\n enabled=True,\n ),\n monitor_service=tencentcloud.thpc.WorkspacesEnhancedServiceMonitorServiceArgs(\n enabled=True,\n ),\n automation_service=tencentcloud.thpc.WorkspacesEnhancedServiceAutomationServiceArgs(\n enabled=True,\n ),\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-nanjing-1\";\n var images = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"TencentOS Server 3.1 (TK4) UEFI\",\n });\n\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"172.16.0.0/16\",\n });\n\n // create subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"172.16.0.0/24\",\n IsMulticast = false,\n });\n\n // create security group\n var exampleGroup = new Tencentcloud.Security.Group(\"exampleGroup\", new()\n {\n Description = \"security group desc.\",\n Tags = \n {\n { \"createBy\", \"Terraform\" },\n },\n });\n\n // create thpc workspaces\n var exampleWorkspaces = new Tencentcloud.Thpc.Workspaces(\"exampleWorkspaces\", new()\n {\n SpaceName = \"tf-example\",\n SpaceChargeType = \"UNDERWRITE\",\n SpaceType = \"96A.96XLARGE2304\",\n HpcClusterId = \"hpc-l9anqcbl\",\n ImageId = images.Apply(getInstanceResult =\u003e getInstanceResult.Images[0]?.ImageId),\n SecurityGroupIds = new[]\n {\n exampleGroup.Id,\n },\n Placement = new Tencentcloud.Thpc.Inputs.WorkspacesPlacementArgs\n {\n Zone = availabilityZone,\n ProjectId = 0,\n },\n SpaceChargePrepaid = new Tencentcloud.Thpc.Inputs.WorkspacesSpaceChargePrepaidArgs\n {\n Period = 12,\n RenewFlag = \"NOTIFY_AND_AUTO_RENEW\",\n },\n SystemDisk = new Tencentcloud.Thpc.Inputs.WorkspacesSystemDiskArgs\n {\n DiskSize = 100,\n DiskType = \"CLOUD_HSSD\",\n },\n DataDisks = new[]\n {\n new Tencentcloud.Thpc.Inputs.WorkspacesDataDiskArgs\n {\n DiskSize = 200,\n DiskType = \"CLOUD_HSSD\",\n Encrypt = false,\n },\n },\n VirtualPrivateCloud = new Tencentcloud.Thpc.Inputs.WorkspacesVirtualPrivateCloudArgs\n {\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n AsVpcGateway = false,\n Ipv6AddressCount = 0,\n PrivateIpAddresses = new[]\n {\n \"172.16.0.2\",\n },\n },\n InternetAccessible = new Tencentcloud.Thpc.Inputs.WorkspacesInternetAccessibleArgs\n {\n InternetChargeType = \"BANDWIDTH_PREPAID\",\n InternetMaxBandwidthOut = 200,\n PublicIpAssigned = true,\n },\n LoginSettings = new Tencentcloud.Thpc.Inputs.WorkspacesLoginSettingsArgs\n {\n KeyIds = new[]\n {\n \"skey-qxjpz7uj\",\n },\n },\n EnhancedService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceArgs\n {\n SecurityService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceSecurityServiceArgs\n {\n Enabled = true,\n },\n MonitorService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceMonitorServiceArgs\n {\n Enabled = true,\n },\n AutomationService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceAutomationServiceArgs\n {\n Enabled = true,\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/Images\"\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/Thpc\"\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-nanjing-1\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\timages, 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(\"TencentOS Server 3.1 (TK4) UEFI\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"172.16.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create 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(\"172.16.0.0/24\"),\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 security group\n\t\texampleGroup, err := Security.NewGroup(ctx, \"exampleGroup\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"security group desc.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createBy\": 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// create thpc workspaces\n\t\t_, err = Thpc.NewWorkspaces(ctx, \"exampleWorkspaces\", \u0026Thpc.WorkspacesArgs{\n\t\t\tSpaceName: pulumi.String(\"tf-example\"),\n\t\t\tSpaceChargeType: pulumi.String(\"UNDERWRITE\"),\n\t\t\tSpaceType: pulumi.String(\"96A.96XLARGE2304\"),\n\t\t\tHpcClusterId: pulumi.String(\"hpc-l9anqcbl\"),\n\t\t\tImageId: pulumi.String(images.Images[0].ImageId),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleGroup.ID(),\n\t\t\t},\n\t\t\tPlacement: \u0026thpc.WorkspacesPlacementArgs{\n\t\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\t\tProjectId: pulumi.Int(0),\n\t\t\t},\n\t\t\tSpaceChargePrepaid: \u0026thpc.WorkspacesSpaceChargePrepaidArgs{\n\t\t\t\tPeriod: pulumi.Int(12),\n\t\t\t\tRenewFlag: pulumi.String(\"NOTIFY_AND_AUTO_RENEW\"),\n\t\t\t},\n\t\t\tSystemDisk: \u0026thpc.WorkspacesSystemDiskArgs{\n\t\t\t\tDiskSize: pulumi.Int(100),\n\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t},\n\t\t\tDataDisks: thpc.WorkspacesDataDiskArray{\n\t\t\t\t\u0026thpc.WorkspacesDataDiskArgs{\n\t\t\t\t\tDiskSize: pulumi.Int(200),\n\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_HSSD\"),\n\t\t\t\t\tEncrypt: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVirtualPrivateCloud: \u0026thpc.WorkspacesVirtualPrivateCloudArgs{\n\t\t\t\tVpcId: vpc.ID(),\n\t\t\t\tSubnetId: subnet.ID(),\n\t\t\t\tAsVpcGateway: pulumi.Bool(false),\n\t\t\t\tIpv6AddressCount: pulumi.Int(0),\n\t\t\t\tPrivateIpAddresses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"172.16.0.2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInternetAccessible: \u0026thpc.WorkspacesInternetAccessibleArgs{\n\t\t\t\tInternetChargeType: pulumi.String(\"BANDWIDTH_PREPAID\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(200),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t},\n\t\t\tLoginSettings: \u0026thpc.WorkspacesLoginSettingsArgs{\n\t\t\t\tKeyIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"skey-qxjpz7uj\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnhancedService: \u0026thpc.WorkspacesEnhancedServiceArgs{\n\t\t\t\tSecurityService: \u0026thpc.WorkspacesEnhancedServiceSecurityServiceArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tMonitorService: \u0026thpc.WorkspacesEnhancedServiceMonitorServiceArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tAutomationService: \u0026thpc.WorkspacesEnhancedServiceAutomationServiceArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\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.Thpc.Workspaces;\nimport com.pulumi.tencentcloud.Thpc.WorkspacesArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesPlacementArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesSpaceChargePrepaidArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesSystemDiskArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesDataDiskArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesVirtualPrivateCloudArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesInternetAccessibleArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesLoginSettingsArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceSecurityServiceArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceMonitorServiceArgs;\nimport com.pulumi.tencentcloud.Thpc.inputs.WorkspacesEnhancedServiceAutomationServiceArgs;\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-nanjing-1\");\n final var images = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"TencentOS Server 3.1 (TK4) UEFI\")\n .build());\n\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"172.16.0.0/16\")\n .build());\n\n // create subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"172.16.0.0/24\")\n .isMulticast(false)\n .build());\n\n // create security group\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .description(\"security group desc.\")\n .tags(Map.of(\"createBy\", \"Terraform\"))\n .build());\n\n // create thpc workspaces\n var exampleWorkspaces = new Workspaces(\"exampleWorkspaces\", WorkspacesArgs.builder() \n .spaceName(\"tf-example\")\n .spaceChargeType(\"UNDERWRITE\")\n .spaceType(\"96A.96XLARGE2304\")\n .hpcClusterId(\"hpc-l9anqcbl\")\n .imageId(images.applyValue(getInstanceResult -\u003e getInstanceResult.images()[0].imageId()))\n .securityGroupIds(exampleGroup.id())\n .placement(WorkspacesPlacementArgs.builder()\n .zone(availabilityZone)\n .projectId(0)\n .build())\n .spaceChargePrepaid(WorkspacesSpaceChargePrepaidArgs.builder()\n .period(12)\n .renewFlag(\"NOTIFY_AND_AUTO_RENEW\")\n .build())\n .systemDisk(WorkspacesSystemDiskArgs.builder()\n .diskSize(100)\n .diskType(\"CLOUD_HSSD\")\n .build())\n .dataDisks(WorkspacesDataDiskArgs.builder()\n .diskSize(200)\n .diskType(\"CLOUD_HSSD\")\n .encrypt(false)\n .build())\n .virtualPrivateCloud(WorkspacesVirtualPrivateCloudArgs.builder()\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .asVpcGateway(false)\n .ipv6AddressCount(0)\n .privateIpAddresses(\"172.16.0.2\")\n .build())\n .internetAccessible(WorkspacesInternetAccessibleArgs.builder()\n .internetChargeType(\"BANDWIDTH_PREPAID\")\n .internetMaxBandwidthOut(200)\n .publicIpAssigned(true)\n .build())\n .loginSettings(WorkspacesLoginSettingsArgs.builder()\n .keyIds(\"skey-qxjpz7uj\")\n .build())\n .enhancedService(WorkspacesEnhancedServiceArgs.builder()\n .securityService(WorkspacesEnhancedServiceSecurityServiceArgs.builder()\n .enabled(true)\n .build())\n .monitorService(WorkspacesEnhancedServiceMonitorServiceArgs.builder()\n .enabled(true)\n .build())\n .automationService(WorkspacesEnhancedServiceAutomationServiceArgs.builder()\n .enabled(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-nanjing-1\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 172.16.0.0/16\n # create subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 172.16.0.0/24\n isMulticast: false\n # create security group\n exampleGroup:\n type: tencentcloud:Security:Group\n properties:\n description: security group desc.\n tags:\n createBy: Terraform\n # create thpc workspaces\n exampleWorkspaces:\n type: tencentcloud:Thpc:Workspaces\n properties:\n spaceName: tf-example\n spaceChargeType: UNDERWRITE\n spaceType: 96A.96XLARGE2304\n hpcClusterId: hpc-l9anqcbl\n imageId: ${images.images[0].imageId}\n securityGroupIds:\n - ${exampleGroup.id}\n placement:\n zone: ${availabilityZone}\n projectId: 0\n spaceChargePrepaid:\n period: 12\n renewFlag: NOTIFY_AND_AUTO_RENEW\n systemDisk:\n diskSize: 100\n diskType: CLOUD_HSSD\n dataDisks:\n - diskSize: 200\n diskType: CLOUD_HSSD\n encrypt: false\n virtualPrivateCloud:\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n asVpcGateway: false\n ipv6AddressCount: 0\n privateIpAddresses:\n - 172.16.0.2\n internetAccessible:\n internetChargeType: BANDWIDTH_PREPAID\n internetMaxBandwidthOut: 200\n publicIpAssigned: true\n loginSettings:\n keyIds:\n - skey-qxjpz7uj\n enhancedService:\n securityService:\n enabled: true\n monitorService:\n enabled: true\n automationService:\n enabled: true\nvariables:\n images:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: TencentOS Server 3.1 (TK4) UEFI\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTHPC workspaces can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Thpc/workspaces:Workspaces example wks-gwg3ygz1\n```\n\n", + "properties": { + "camRoleName": { + "type": "string", + "description": "CAM role name authorized to access.\n" + }, + "clientToken": { + "type": "string", + "description": "A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a.\n" + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesDataDisk:WorkspacesDataDisk" + }, + "description": "Workspace data disk information.\n" + }, + "disasterRecoverGroupId": { + "type": "string", + "description": "Placement Group ID.\n" + }, + "enhancedService": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesEnhancedService:WorkspacesEnhancedService", + "description": "Enhanced Services.\n" + }, + "hostName": { + "type": "string", + "description": "The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.\n" + }, + "hpcClusterId": { + "type": "string", + "description": "Hyper Computing Cluster ID.\n" + }, + "imageId": { + "type": "string", + "description": "Image ID.\n" + }, + "internetAccessible": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesInternetAccessible:WorkspacesInternetAccessible", + "description": "Public network bandwidth settings.\n" + }, + "loginSettings": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesLoginSettings:WorkspacesLoginSettings", + "description": "Workspace Login Settings.\n" + }, + "placement": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesPlacement:WorkspacesPlacement", + "description": "The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default.\n" + }, + "resourceId": { + "type": "string", + "description": "CVM instance ID.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Workspace Security Group.\n" + }, + "spaceChargePrepaid": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesSpaceChargePrepaid:WorkspacesSpaceChargePrepaid", + "description": "Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required.\n" + }, + "spaceChargeType": { + "type": "string", + "description": "Workspace billing type.\n" + }, + "spaceName": { + "type": "string", + "description": "Workspace Display Name.\n" + }, + "spaceType": { + "type": "string", + "description": "Workspace specifications.\n" + }, + "systemDisk": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesSystemDisk:WorkspacesSystemDisk", + "description": "Workspace system disk information.\n" + }, + "tagSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesTagSpecification:WorkspacesTagSpecification" + }, + "description": "Tag Description List.\n" + }, + "userData": { + "type": "string", + "description": "User Data for Workspace.\n" + }, + "virtualPrivateCloud": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesVirtualPrivateCloud:WorkspacesVirtualPrivateCloud", + "description": "VPC related information.\n" + } + }, + "required": [ + "dataDisks", + "internetAccessible", + "resourceId", + "securityGroupIds", + "spaceName" + ], + "inputProperties": { + "camRoleName": { + "type": "string", + "description": "CAM role name authorized to access.\n" + }, + "clientToken": { + "type": "string", + "description": "A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a.\n" + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesDataDisk:WorkspacesDataDisk" + }, + "description": "Workspace data disk information.\n" + }, + "disasterRecoverGroupId": { + "type": "string", + "description": "Placement Group ID.\n" + }, + "enhancedService": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesEnhancedService:WorkspacesEnhancedService", + "description": "Enhanced Services.\n" + }, + "hostName": { + "type": "string", + "description": "The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.\n" + }, + "hpcClusterId": { + "type": "string", + "description": "Hyper Computing Cluster ID.\n" + }, + "imageId": { + "type": "string", + "description": "Image ID.\n" + }, + "internetAccessible": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesInternetAccessible:WorkspacesInternetAccessible", + "description": "Public network bandwidth settings.\n" + }, + "loginSettings": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesLoginSettings:WorkspacesLoginSettings", + "description": "Workspace Login Settings.\n" + }, + "placement": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesPlacement:WorkspacesPlacement", + "description": "The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Workspace Security Group.\n" + }, + "spaceChargePrepaid": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesSpaceChargePrepaid:WorkspacesSpaceChargePrepaid", + "description": "Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required.\n" + }, + "spaceChargeType": { + "type": "string", + "description": "Workspace billing type.\n" + }, + "spaceName": { + "type": "string", + "description": "Workspace Display Name.\n" + }, + "spaceType": { + "type": "string", + "description": "Workspace specifications.\n" + }, + "systemDisk": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesSystemDisk:WorkspacesSystemDisk", + "description": "Workspace system disk information.\n" + }, + "tagSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesTagSpecification:WorkspacesTagSpecification" + }, + "description": "Tag Description List.\n" + }, + "userData": { + "type": "string", + "description": "User Data for Workspace.\n" + }, + "virtualPrivateCloud": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesVirtualPrivateCloud:WorkspacesVirtualPrivateCloud", + "description": "VPC related information.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Workspaces resources.\n", + "properties": { + "camRoleName": { + "type": "string", + "description": "CAM role name authorized to access.\n" + }, + "clientToken": { + "type": "string", + "description": "A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a.\n" + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesDataDisk:WorkspacesDataDisk" + }, + "description": "Workspace data disk information.\n" + }, + "disasterRecoverGroupId": { + "type": "string", + "description": "Placement Group ID.\n" + }, + "enhancedService": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesEnhancedService:WorkspacesEnhancedService", + "description": "Enhanced Services.\n" + }, + "hostName": { + "type": "string", + "description": "The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.\n" + }, + "hpcClusterId": { + "type": "string", + "description": "Hyper Computing Cluster ID.\n" + }, + "imageId": { + "type": "string", + "description": "Image ID.\n" + }, + "internetAccessible": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesInternetAccessible:WorkspacesInternetAccessible", + "description": "Public network bandwidth settings.\n" + }, + "loginSettings": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesLoginSettings:WorkspacesLoginSettings", + "description": "Workspace Login Settings.\n" + }, + "placement": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesPlacement:WorkspacesPlacement", + "description": "The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default.\n" + }, + "resourceId": { + "type": "string", + "description": "CVM instance ID.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Workspace Security Group.\n" + }, + "spaceChargePrepaid": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesSpaceChargePrepaid:WorkspacesSpaceChargePrepaid", + "description": "Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required.\n" + }, + "spaceChargeType": { + "type": "string", + "description": "Workspace billing type.\n" + }, + "spaceName": { + "type": "string", + "description": "Workspace Display Name.\n" + }, + "spaceType": { + "type": "string", + "description": "Workspace specifications.\n" + }, + "systemDisk": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesSystemDisk:WorkspacesSystemDisk", + "description": "Workspace system disk information.\n" + }, + "tagSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesTagSpecification:WorkspacesTagSpecification" + }, + "description": "Tag Description List.\n" + }, + "userData": { + "type": "string", + "description": "User Data for Workspace.\n" + }, + "virtualPrivateCloud": { + "$ref": "#/types/tencentcloud:Thpc/WorkspacesVirtualPrivateCloud:WorkspacesVirtualPrivateCloud", + "description": "VPC related information.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Trocket/rocketmqConsumerGroup:RocketmqConsumerGroup": { "description": "Provides a resource to create a trocket rocketmq_consumer_group\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 rocketmqInstance = new tencentcloud.trocket.RocketmqInstance(\"rocketmqInstance\", {\n instanceType: \"EXPERIMENT\",\n skuCode: \"experiment_500\",\n remark: \"test\",\n vpcId: \"vpc-xxxxxx\",\n subnetId: \"subnet-xxxxx\",\n tags: {\n tag_key: \"rocketmq\",\n tag_value: \"5.x\",\n },\n});\nconst rocketmqConsumerGroup = new tencentcloud.trocket.RocketmqConsumerGroup(\"rocketmqConsumerGroup\", {\n instanceId: rocketmqInstance.id,\n consumerGroup: \"test_consumer_group\",\n maxRetryTimes: 20,\n consumeEnable: false,\n consumeMessageOrderly: true,\n remark: \"test for terraform\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nrocketmq_instance = tencentcloud.trocket.RocketmqInstance(\"rocketmqInstance\",\n instance_type=\"EXPERIMENT\",\n sku_code=\"experiment_500\",\n remark=\"test\",\n vpc_id=\"vpc-xxxxxx\",\n subnet_id=\"subnet-xxxxx\",\n tags={\n \"tag_key\": \"rocketmq\",\n \"tag_value\": \"5.x\",\n })\nrocketmq_consumer_group = tencentcloud.trocket.RocketmqConsumerGroup(\"rocketmqConsumerGroup\",\n instance_id=rocketmq_instance.id,\n consumer_group=\"test_consumer_group\",\n max_retry_times=20,\n consume_enable=False,\n consume_message_orderly=True,\n remark=\"test for terraform\")\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 SkuCode = \"experiment_500\",\n Remark = \"test\",\n VpcId = \"vpc-xxxxxx\",\n SubnetId = \"subnet-xxxxx\",\n Tags = \n {\n { \"tag_key\", \"rocketmq\" },\n { \"tag_value\", \"5.x\" },\n },\n });\n\n var rocketmqConsumerGroup = new Tencentcloud.Trocket.RocketmqConsumerGroup(\"rocketmqConsumerGroup\", new()\n {\n InstanceId = rocketmqInstance.Id,\n ConsumerGroup = \"test_consumer_group\",\n MaxRetryTimes = 20,\n ConsumeEnable = false,\n ConsumeMessageOrderly = true,\n Remark = \"test for terraform\",\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\trocketmqInstance, err := Trocket.NewRocketmqInstance(ctx, \"rocketmqInstance\", \u0026Trocket.RocketmqInstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"EXPERIMENT\"),\n\t\t\tSkuCode: pulumi.String(\"experiment_500\"),\n\t\t\tRemark: pulumi.String(\"test\"),\n\t\t\tVpcId: pulumi.String(\"vpc-xxxxxx\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-xxxxx\"),\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\t_, err = Trocket.NewRocketmqConsumerGroup(ctx, \"rocketmqConsumerGroup\", \u0026Trocket.RocketmqConsumerGroupArgs{\n\t\t\tInstanceId: rocketmqInstance.ID(),\n\t\t\tConsumerGroup: pulumi.String(\"test_consumer_group\"),\n\t\t\tMaxRetryTimes: pulumi.Int(20),\n\t\t\tConsumeEnable: pulumi.Bool(false),\n\t\t\tConsumeMessageOrderly: pulumi.Bool(true),\n\t\t\tRemark: pulumi.String(\"test for terraform\"),\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 com.pulumi.tencentcloud.Trocket.RocketmqConsumerGroup;\nimport com.pulumi.tencentcloud.Trocket.RocketmqConsumerGroupArgs;\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 .skuCode(\"experiment_500\")\n .remark(\"test\")\n .vpcId(\"vpc-xxxxxx\")\n .subnetId(\"subnet-xxxxx\")\n .tags(Map.ofEntries(\n Map.entry(\"tag_key\", \"rocketmq\"),\n Map.entry(\"tag_value\", \"5.x\")\n ))\n .build());\n\n var rocketmqConsumerGroup = new RocketmqConsumerGroup(\"rocketmqConsumerGroup\", RocketmqConsumerGroupArgs.builder() \n .instanceId(rocketmqInstance.id())\n .consumerGroup(\"test_consumer_group\")\n .maxRetryTimes(20)\n .consumeEnable(false)\n .consumeMessageOrderly(true)\n .remark(\"test for terraform\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rocketmqInstance:\n type: tencentcloud:Trocket:RocketmqInstance\n properties:\n instanceType: EXPERIMENT\n skuCode: experiment_500\n remark: test\n vpcId: vpc-xxxxxx\n subnetId: subnet-xxxxx\n tags:\n tag_key: rocketmq\n tag_value: 5.x\n rocketmqConsumerGroup:\n type: tencentcloud:Trocket:RocketmqConsumerGroup\n properties:\n instanceId: ${rocketmqInstance.id}\n consumerGroup: test_consumer_group\n maxRetryTimes: 20\n consumeEnable: false\n consumeMessageOrderly: true\n remark: test for terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntrocket rocketmq_consumer_group can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Trocket/rocketmqConsumerGroup:RocketmqConsumerGroup rocketmq_consumer_group instanceId#consumerGroup\n```\n\n", "properties": { @@ -220268,6 +227952,10 @@ "tencentcloud:Vpc/endPoint:EndPoint": { "description": "Provides a resource to create a vpc end_point\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 endPoint = new tencentcloud.vpc.EndPoint(\"endPoint\", {\n endPointName: \"terraform-test\",\n endPointServiceId: \"vpcsvc-69y13tdb\",\n endPointVip: \"10.0.2.1\",\n securityGroupsIds: [\n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\",\n ],\n subnetId: \"subnet-ljyn7h30\",\n vpcId: \"vpc-391sv4w3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nend_point = tencentcloud.vpc.EndPoint(\"endPoint\",\n end_point_name=\"terraform-test\",\n end_point_service_id=\"vpcsvc-69y13tdb\",\n end_point_vip=\"10.0.2.1\",\n security_groups_ids=[\n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\",\n ],\n subnet_id=\"subnet-ljyn7h30\",\n vpc_id=\"vpc-391sv4w3\")\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 endPoint = new Tencentcloud.Vpc.EndPoint(\"endPoint\", new()\n {\n EndPointName = \"terraform-test\",\n EndPointServiceId = \"vpcsvc-69y13tdb\",\n EndPointVip = \"10.0.2.1\",\n SecurityGroupsIds = new[]\n {\n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\",\n },\n SubnetId = \"subnet-ljyn7h30\",\n VpcId = \"vpc-391sv4w3\",\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/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vpc.NewEndPoint(ctx, \"endPoint\", \u0026Vpc.EndPointArgs{\n\t\t\tEndPointName: pulumi.String(\"terraform-test\"),\n\t\t\tEndPointServiceId: pulumi.String(\"vpcsvc-69y13tdb\"),\n\t\t\tEndPointVip: pulumi.String(\"10.0.2.1\"),\n\t\t\tSecurityGroupsIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-ghvp9djf\"),\n\t\t\t\tpulumi.String(\"sg-if748odn\"),\n\t\t\t\tpulumi.String(\"sg-3k7vtgf7\"),\n\t\t\t},\n\t\t\tSubnetId: pulumi.String(\"subnet-ljyn7h30\"),\n\t\t\tVpcId: pulumi.String(\"vpc-391sv4w3\"),\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.EndPoint;\nimport com.pulumi.tencentcloud.Vpc.EndPointArgs;\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 endPoint = new EndPoint(\"endPoint\", EndPointArgs.builder() \n .endPointName(\"terraform-test\")\n .endPointServiceId(\"vpcsvc-69y13tdb\")\n .endPointVip(\"10.0.2.1\")\n .securityGroupsIds( \n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\")\n .subnetId(\"subnet-ljyn7h30\")\n .vpcId(\"vpc-391sv4w3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n endPoint:\n type: tencentcloud:Vpc:EndPoint\n properties:\n endPointName: terraform-test\n endPointServiceId: vpcsvc-69y13tdb\n endPointVip: 10.0.2.1\n securityGroupsIds:\n - sg-ghvp9djf\n - sg-if748odn\n - sg-3k7vtgf7\n subnetId: subnet-ljyn7h30\n vpcId: vpc-391sv4w3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nvpc end_point can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Vpc/endPoint:EndPoint end_point end_point_id\n```\n\n", "properties": { + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Create Time.\n" @@ -220309,6 +227997,7 @@ } }, "required": [ + "cdcId", "createTime", "endPointName", "endPointOwner", @@ -220356,6 +228045,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering EndPoint resources.\n", "properties": { + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Create Time.\n" @@ -220406,6 +228099,10 @@ "type": "boolean", "description": "Whether to automatically accept.\n" }, + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Create Time.\n" @@ -220441,6 +228138,7 @@ }, "required": [ "autoAcceptFlag", + "cdcId", "createTime", "endPointCount", "endPointServiceName", @@ -220485,6 +228183,10 @@ "type": "boolean", "description": "Whether to automatically accept.\n" }, + "cdcId": { + "type": "string", + "description": "CDC instance ID.\n" + }, "createTime": { "type": "string", "description": "Create Time.\n" @@ -221307,10 +229009,7 @@ "description": "If published to vbc.\n" }, "routeItemIds": { - "type": "array", - "items": { - "type": "string" - }, + "type": "string", "description": "The unique ID of the routing policy.\n" }, "routeTableId": { @@ -221325,10 +229024,7 @@ ], "inputProperties": { "routeItemIds": { - "type": "array", - "items": { - "type": "string" - }, + "type": "string", "description": "The unique ID of the routing policy.\n", "willReplaceOnChanges": true }, @@ -221350,10 +229046,7 @@ "description": "If published to vbc.\n" }, "routeItemIds": { - "type": "array", - "items": { - "type": "string" - }, + "type": "string", "description": "The unique ID of the routing policy.\n", "willReplaceOnChanges": true }, @@ -221570,6 +229263,89 @@ "type": "object" } }, + "tencentcloud:Vpc/privateNatGateway:PrivateNatGateway": { + "description": "Provides a resource to create a vpc private nat gateway\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 privateNatGateway = new tencentcloud.vpc.PrivateNatGateway(\"privateNatGateway\", {\n natGatewayName: \"xxx\",\n vpcId: \"xxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nprivate_nat_gateway = tencentcloud.vpc.PrivateNatGateway(\"privateNatGateway\",\n nat_gateway_name=\"xxx\",\n vpc_id=\"xxx\")\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 privateNatGateway = new Tencentcloud.Vpc.PrivateNatGateway(\"privateNatGateway\", new()\n {\n NatGatewayName = \"xxx\",\n VpcId = \"xxx\",\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/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vpc.NewPrivateNatGateway(ctx, \"privateNatGateway\", \u0026Vpc.PrivateNatGatewayArgs{\n\t\t\tNatGatewayName: pulumi.String(\"xxx\"),\n\t\t\tVpcId: pulumi.String(\"xxx\"),\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.PrivateNatGateway;\nimport com.pulumi.tencentcloud.Vpc.PrivateNatGatewayArgs;\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 privateNatGateway = new PrivateNatGateway(\"privateNatGateway\", PrivateNatGatewayArgs.builder() \n .natGatewayName(\"xxx\")\n .vpcId(\"xxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n privateNatGateway:\n type: tencentcloud:Vpc:PrivateNatGateway\n properties:\n natGatewayName: xxx\n vpcId: xxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nvpc private_nat_gateway can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Vpc/privateNatGateway:PrivateNatGateway private_nat_gateway private_nat_gateway_id\n```\n\n", + "properties": { + "ccnId": { + "type": "string", + "description": "Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway.\n" + }, + "crossDomain": { + "type": "boolean", + "description": "Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True.\n" + }, + "natGatewayName": { + "type": "string", + "description": "Private network gateway name.\n" + }, + "vpcId": { + "type": "string", + "description": "Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway.\n" + }, + "vpcType": { + "type": "boolean", + "description": "VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created.\n" + } + }, + "required": [ + "ccnId", + "crossDomain", + "natGatewayName", + "vpcId", + "vpcType" + ], + "inputProperties": { + "ccnId": { + "type": "string", + "description": "Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway.\n" + }, + "crossDomain": { + "type": "boolean", + "description": "Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True.\n" + }, + "natGatewayName": { + "type": "string", + "description": "Private network gateway name.\n" + }, + "vpcId": { + "type": "string", + "description": "Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway.\n" + }, + "vpcType": { + "type": "boolean", + "description": "VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created.\n" + } + }, + "requiredInputs": [ + "natGatewayName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering PrivateNatGateway resources.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway.\n" + }, + "crossDomain": { + "type": "boolean", + "description": "Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True.\n" + }, + "natGatewayName": { + "type": "string", + "description": "Private network gateway name.\n" + }, + "vpcId": { + "type": "string", + "description": "Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway.\n" + }, + "vpcType": { + "type": "boolean", + "description": "VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Vpc/resumeSnapshotInstance:ResumeSnapshotInstance": { "description": "Provides a resource to create a vpc resume_snapshot_instance\n\n## Example Usage\n\n### Basic example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst resumeSnapshotInstance = new tencentcloud.vpc.ResumeSnapshotInstance(\"resumeSnapshotInstance\", {\n instanceId: \"ntrgm89v\",\n snapshotFileId: \"ssfile-emtabuwu2z\",\n snapshotPolicyId: \"sspolicy-1t6cobbv\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nresume_snapshot_instance = tencentcloud.vpc.ResumeSnapshotInstance(\"resumeSnapshotInstance\",\n instance_id=\"ntrgm89v\",\n snapshot_file_id=\"ssfile-emtabuwu2z\",\n snapshot_policy_id=\"sspolicy-1t6cobbv\")\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 resumeSnapshotInstance = new Tencentcloud.Vpc.ResumeSnapshotInstance(\"resumeSnapshotInstance\", new()\n {\n InstanceId = \"ntrgm89v\",\n SnapshotFileId = \"ssfile-emtabuwu2z\",\n SnapshotPolicyId = \"sspolicy-1t6cobbv\",\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/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vpc.NewResumeSnapshotInstance(ctx, \"resumeSnapshotInstance\", \u0026Vpc.ResumeSnapshotInstanceArgs{\n\t\t\tInstanceId: pulumi.String(\"ntrgm89v\"),\n\t\t\tSnapshotFileId: pulumi.String(\"ssfile-emtabuwu2z\"),\n\t\t\tSnapshotPolicyId: pulumi.String(\"sspolicy-1t6cobbv\"),\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.ResumeSnapshotInstance;\nimport com.pulumi.tencentcloud.Vpc.ResumeSnapshotInstanceArgs;\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 resumeSnapshotInstance = new ResumeSnapshotInstance(\"resumeSnapshotInstance\", ResumeSnapshotInstanceArgs.builder() \n .instanceId(\"ntrgm89v\")\n .snapshotFileId(\"ssfile-emtabuwu2z\")\n .snapshotPolicyId(\"sspolicy-1t6cobbv\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n resumeSnapshotInstance:\n type: tencentcloud:Vpc:ResumeSnapshotInstance\n properties:\n instanceId: ntrgm89v\n snapshotFileId: ssfile-emtabuwu2z\n snapshotPolicyId: sspolicy-1t6cobbv\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Complete example\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 exampleSnapshotFiles = tencentcloud.Vpc.getSnapshotFiles({\n businessType: \"securitygroup\",\n instanceId: \"sg-902tl7t7\",\n startDate: \"2022-10-10 00:00:00\",\n endDate: \"2023-10-30 00:00:00\",\n});\nconst exampleBucket = new tencentcloud.cos.Bucket(\"exampleBucket\", {\n bucket: \"tf-example-1308919341\",\n acl: \"private\",\n});\nconst exampleSnapshotPolicy = new tencentcloud.vpc.SnapshotPolicy(\"exampleSnapshotPolicy\", {\n snapshotPolicyName: \"tf-example\",\n backupType: \"time\",\n cosBucket: exampleBucket.bucket,\n cosRegion: \"ap-guangzhou\",\n createNewCos: false,\n keepTime: 2,\n backupPolicies: [\n {\n backupDay: \"monday\",\n backupTime: \"00:00:00\",\n },\n {\n backupDay: \"tuesday\",\n backupTime: \"01:00:00\",\n },\n {\n backupDay: \"wednesday\",\n backupTime: \"02:00:00\",\n },\n ],\n});\nconst exampleResumeSnapshotInstance = new tencentcloud.vpc.ResumeSnapshotInstance(\"exampleResumeSnapshotInstance\", {\n snapshotPolicyId: exampleSnapshotPolicy.id,\n snapshotFileId: exampleSnapshotFiles.then(exampleSnapshotFiles =\u003e exampleSnapshotFiles.snapshotFileSets?.[0]?.snapshotFileId),\n instanceId: \"policy-1t6cob\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_snapshot_files = tencentcloud.Vpc.get_snapshot_files(business_type=\"securitygroup\",\n instance_id=\"sg-902tl7t7\",\n start_date=\"2022-10-10 00:00:00\",\n end_date=\"2023-10-30 00:00:00\")\nexample_bucket = tencentcloud.cos.Bucket(\"exampleBucket\",\n bucket=\"tf-example-1308919341\",\n acl=\"private\")\nexample_snapshot_policy = tencentcloud.vpc.SnapshotPolicy(\"exampleSnapshotPolicy\",\n snapshot_policy_name=\"tf-example\",\n backup_type=\"time\",\n cos_bucket=example_bucket.bucket,\n cos_region=\"ap-guangzhou\",\n create_new_cos=False,\n keep_time=2,\n backup_policies=[\n tencentcloud.vpc.SnapshotPolicyBackupPolicyArgs(\n backup_day=\"monday\",\n backup_time=\"00:00:00\",\n ),\n tencentcloud.vpc.SnapshotPolicyBackupPolicyArgs(\n backup_day=\"tuesday\",\n backup_time=\"01:00:00\",\n ),\n tencentcloud.vpc.SnapshotPolicyBackupPolicyArgs(\n backup_day=\"wednesday\",\n backup_time=\"02:00:00\",\n ),\n ])\nexample_resume_snapshot_instance = tencentcloud.vpc.ResumeSnapshotInstance(\"exampleResumeSnapshotInstance\",\n snapshot_policy_id=example_snapshot_policy.id,\n snapshot_file_id=example_snapshot_files.snapshot_file_sets[0].snapshot_file_id,\n instance_id=\"policy-1t6cob\")\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 exampleSnapshotFiles = Tencentcloud.Vpc.GetSnapshotFiles.Invoke(new()\n {\n BusinessType = \"securitygroup\",\n InstanceId = \"sg-902tl7t7\",\n StartDate = \"2022-10-10 00:00:00\",\n EndDate = \"2023-10-30 00:00:00\",\n });\n\n var exampleBucket = new Tencentcloud.Cos.Bucket(\"exampleBucket\", new()\n {\n CosBucket = \"tf-example-1308919341\",\n Acl = \"private\",\n });\n\n var exampleSnapshotPolicy = new Tencentcloud.Vpc.SnapshotPolicy(\"exampleSnapshotPolicy\", new()\n {\n SnapshotPolicyName = \"tf-example\",\n BackupType = \"time\",\n CosBucket = exampleBucket.CosBucket,\n CosRegion = \"ap-guangzhou\",\n CreateNewCos = false,\n KeepTime = 2,\n BackupPolicies = new[]\n {\n new Tencentcloud.Vpc.Inputs.SnapshotPolicyBackupPolicyArgs\n {\n BackupDay = \"monday\",\n BackupTime = \"00:00:00\",\n },\n new Tencentcloud.Vpc.Inputs.SnapshotPolicyBackupPolicyArgs\n {\n BackupDay = \"tuesday\",\n BackupTime = \"01:00:00\",\n },\n new Tencentcloud.Vpc.Inputs.SnapshotPolicyBackupPolicyArgs\n {\n BackupDay = \"wednesday\",\n BackupTime = \"02:00:00\",\n },\n },\n });\n\n var exampleResumeSnapshotInstance = new Tencentcloud.Vpc.ResumeSnapshotInstance(\"exampleResumeSnapshotInstance\", new()\n {\n SnapshotPolicyId = exampleSnapshotPolicy.Id,\n SnapshotFileId = exampleSnapshotFiles.Apply(getSnapshotFilesResult =\u003e getSnapshotFilesResult.SnapshotFileSets[0]?.SnapshotFileId),\n InstanceId = \"policy-1t6cob\",\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/Cos\"\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\texampleSnapshotFiles, err := Vpc.GetSnapshotFiles(ctx, \u0026vpc.GetSnapshotFilesArgs{\n\t\t\tBusinessType: \"securitygroup\",\n\t\t\tInstanceId: \"sg-902tl7t7\",\n\t\t\tStartDate: \"2022-10-10 00:00:00\",\n\t\t\tEndDate: \"2023-10-30 00:00:00\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucket, err := Cos.NewBucket(ctx, \"exampleBucket\", \u0026Cos.BucketArgs{\n\t\t\tBucket: pulumi.String(\"tf-example-1308919341\"),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSnapshotPolicy, err := Vpc.NewSnapshotPolicy(ctx, \"exampleSnapshotPolicy\", \u0026Vpc.SnapshotPolicyArgs{\n\t\t\tSnapshotPolicyName: pulumi.String(\"tf-example\"),\n\t\t\tBackupType: pulumi.String(\"time\"),\n\t\t\tCosBucket: exampleBucket.Bucket,\n\t\t\tCosRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tCreateNewCos: pulumi.Bool(false),\n\t\t\tKeepTime: pulumi.Int(2),\n\t\t\tBackupPolicies: vpc.SnapshotPolicyBackupPolicyArray{\n\t\t\t\t\u0026vpc.SnapshotPolicyBackupPolicyArgs{\n\t\t\t\t\tBackupDay: pulumi.String(\"monday\"),\n\t\t\t\t\tBackupTime: pulumi.String(\"00:00:00\"),\n\t\t\t\t},\n\t\t\t\t\u0026vpc.SnapshotPolicyBackupPolicyArgs{\n\t\t\t\t\tBackupDay: pulumi.String(\"tuesday\"),\n\t\t\t\t\tBackupTime: pulumi.String(\"01:00:00\"),\n\t\t\t\t},\n\t\t\t\t\u0026vpc.SnapshotPolicyBackupPolicyArgs{\n\t\t\t\t\tBackupDay: pulumi.String(\"wednesday\"),\n\t\t\t\t\tBackupTime: pulumi.String(\"02:00:00\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Vpc.NewResumeSnapshotInstance(ctx, \"exampleResumeSnapshotInstance\", \u0026Vpc.ResumeSnapshotInstanceArgs{\n\t\t\tSnapshotPolicyId: exampleSnapshotPolicy.ID(),\n\t\t\tSnapshotFileId: pulumi.String(exampleSnapshotFiles.SnapshotFileSets[0].SnapshotFileId),\n\t\t\tInstanceId: pulumi.String(\"policy-1t6cob\"),\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.GetSnapshotFilesArgs;\nimport com.pulumi.tencentcloud.Cos.Bucket;\nimport com.pulumi.tencentcloud.Cos.BucketArgs;\nimport com.pulumi.tencentcloud.Vpc.SnapshotPolicy;\nimport com.pulumi.tencentcloud.Vpc.SnapshotPolicyArgs;\nimport com.pulumi.tencentcloud.Vpc.inputs.SnapshotPolicyBackupPolicyArgs;\nimport com.pulumi.tencentcloud.Vpc.ResumeSnapshotInstance;\nimport com.pulumi.tencentcloud.Vpc.ResumeSnapshotInstanceArgs;\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 exampleSnapshotFiles = VpcFunctions.getSnapshotFiles(GetSnapshotFilesArgs.builder()\n .businessType(\"securitygroup\")\n .instanceId(\"sg-902tl7t7\")\n .startDate(\"2022-10-10 00:00:00\")\n .endDate(\"2023-10-30 00:00:00\")\n .build());\n\n var exampleBucket = new Bucket(\"exampleBucket\", BucketArgs.builder() \n .bucket(\"tf-example-1308919341\")\n .acl(\"private\")\n .build());\n\n var exampleSnapshotPolicy = new SnapshotPolicy(\"exampleSnapshotPolicy\", SnapshotPolicyArgs.builder() \n .snapshotPolicyName(\"tf-example\")\n .backupType(\"time\")\n .cosBucket(exampleBucket.bucket())\n .cosRegion(\"ap-guangzhou\")\n .createNewCos(false)\n .keepTime(2)\n .backupPolicies( \n SnapshotPolicyBackupPolicyArgs.builder()\n .backupDay(\"monday\")\n .backupTime(\"00:00:00\")\n .build(),\n SnapshotPolicyBackupPolicyArgs.builder()\n .backupDay(\"tuesday\")\n .backupTime(\"01:00:00\")\n .build(),\n SnapshotPolicyBackupPolicyArgs.builder()\n .backupDay(\"wednesday\")\n .backupTime(\"02:00:00\")\n .build())\n .build());\n\n var exampleResumeSnapshotInstance = new ResumeSnapshotInstance(\"exampleResumeSnapshotInstance\", ResumeSnapshotInstanceArgs.builder() \n .snapshotPolicyId(exampleSnapshotPolicy.id())\n .snapshotFileId(exampleSnapshotFiles.applyValue(getSnapshotFilesResult -\u003e getSnapshotFilesResult.snapshotFileSets()[0].snapshotFileId()))\n .instanceId(\"policy-1t6cob\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucket:\n type: tencentcloud:Cos:Bucket\n properties:\n bucket: tf-example-1308919341\n acl: private\n exampleSnapshotPolicy:\n type: tencentcloud:Vpc:SnapshotPolicy\n properties:\n snapshotPolicyName: tf-example\n backupType: time\n cosBucket: ${exampleBucket.bucket}\n cosRegion: ap-guangzhou\n createNewCos: false\n keepTime: 2\n backupPolicies:\n - backupDay: monday\n backupTime: 00:00:00\n - backupDay: tuesday\n backupTime: 01:00:00\n - backupDay: wednesday\n backupTime: 02:00:00\n exampleResumeSnapshotInstance:\n type: tencentcloud:Vpc:ResumeSnapshotInstance\n properties:\n snapshotPolicyId: ${exampleSnapshotPolicy.id}\n snapshotFileId: ${exampleSnapshotFiles.snapshotFileSets[0].snapshotFileId}\n instanceId: policy-1t6cob\nvariables:\n exampleSnapshotFiles:\n fn::invoke:\n Function: tencentcloud:Vpc:getSnapshotFiles\n Arguments:\n businessType: securitygroup\n instanceId: sg-902tl7t7\n startDate: 2022-10-10 00:00:00\n endDate: 2023-10-30 00:00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { @@ -229967,6 +237743,95 @@ "type": "object" } }, + "tencentcloud:Audit/getEvents:getEvents": { + "description": "Use this data source to query the events list supported by the audit.\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 events = tencentcloud.Audit.getEvents({\n endTime: 1727437441,\n isReturnLocation: 1,\n lookupAttributes: [\n {\n attributeKey: \"ResourceType\",\n attributeValue: \"cvm\",\n },\n {\n attributeKey: \"OnlyRecordNotSeen\",\n attributeValue: \"0\",\n },\n {\n attributeKey: \"EventPlatform\",\n attributeValue: \"0\",\n },\n ],\n maxResults: 50,\n startTime: 1727433841,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nevents = tencentcloud.Audit.get_events(end_time=1727437441,\n is_return_location=1,\n lookup_attributes=[\n tencentcloud.audit.GetEventsLookupAttributeArgs(\n attribute_key=\"ResourceType\",\n attribute_value=\"cvm\",\n ),\n tencentcloud.audit.GetEventsLookupAttributeArgs(\n attribute_key=\"OnlyRecordNotSeen\",\n attribute_value=\"0\",\n ),\n tencentcloud.audit.GetEventsLookupAttributeArgs(\n attribute_key=\"EventPlatform\",\n attribute_value=\"0\",\n ),\n ],\n max_results=50,\n start_time=1727433841)\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 events = Tencentcloud.Audit.GetEvents.Invoke(new()\n {\n EndTime = 1727437441,\n IsReturnLocation = 1,\n LookupAttributes = new[]\n {\n new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs\n {\n AttributeKey = \"ResourceType\",\n AttributeValue = \"cvm\",\n },\n new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs\n {\n AttributeKey = \"OnlyRecordNotSeen\",\n AttributeValue = \"0\",\n },\n new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs\n {\n AttributeKey = \"EventPlatform\",\n AttributeValue = \"0\",\n },\n },\n MaxResults = 50,\n StartTime = 1727433841,\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/Audit\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Audit.GetEvents(ctx, \u0026audit.GetEventsArgs{\n\t\t\tEndTime: 1727437441,\n\t\t\tIsReturnLocation: pulumi.IntRef(1),\n\t\t\tLookupAttributes: []audit.GetEventsLookupAttribute{\n\t\t\t\t{\n\t\t\t\t\tAttributeKey: \"ResourceType\",\n\t\t\t\t\tAttributeValue: pulumi.StringRef(\"cvm\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tAttributeKey: \"OnlyRecordNotSeen\",\n\t\t\t\t\tAttributeValue: pulumi.StringRef(\"0\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tAttributeKey: \"EventPlatform\",\n\t\t\t\t\tAttributeValue: pulumi.StringRef(\"0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMaxResults: pulumi.IntRef(50),\n\t\t\tStartTime: 1727433841,\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.Audit.AuditFunctions;\nimport com.pulumi.tencentcloud.Audit.inputs.GetEventsArgs;\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 events = AuditFunctions.getEvents(GetEventsArgs.builder()\n .endTime(\"1727437441\")\n .isReturnLocation(1)\n .lookupAttributes( \n GetEventsLookupAttributeArgs.builder()\n .attributeKey(\"ResourceType\")\n .attributeValue(\"cvm\")\n .build(),\n GetEventsLookupAttributeArgs.builder()\n .attributeKey(\"OnlyRecordNotSeen\")\n .attributeValue(\"0\")\n .build(),\n GetEventsLookupAttributeArgs.builder()\n .attributeKey(\"EventPlatform\")\n .attributeValue(\"0\")\n .build())\n .maxResults(50)\n .startTime(\"1727433841\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n events:\n fn::invoke:\n Function: tencentcloud:Audit:getEvents\n Arguments:\n endTime: '1727437441'\n isReturnLocation: 1\n lookupAttributes:\n - attributeKey: ResourceType\n attributeValue: cvm\n - attributeKey: OnlyRecordNotSeen\n attributeValue: '0'\n - attributeKey: EventPlatform\n attributeValue: '0'\n maxResults: 50\n startTime: '1727433841'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getEvents.\n", + "properties": { + "endTime": { + "type": "integer", + "description": "End timestamp in seconds (the time range for query is less than 30 days).\n" + }, + "isReturnLocation": { + "type": "integer", + "description": "Whether to return the IP location. `1`: yes, `0`: no.\n" + }, + "lookupAttributes": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Audit/getEventsLookupAttribute:getEventsLookupAttribute" + }, + "description": "Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{\"key\":\"*\",\"value\":\"*\"}]).\n" + }, + "maxResults": { + "type": "integer", + "description": "Max number of returned logs (up to 50).\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "startTime": { + "type": "integer", + "description": "Start timestamp in seconds (cannot be 90 days after the current time).\n" + } + }, + "type": "object", + "required": [ + "endTime", + "startTime" + ] + }, + "outputs": { + "description": "A collection of values returned by getEvents.\n", + "properties": { + "endTime": { + "type": "integer" + }, + "events": { + "description": "Logset. Note: `null` may be returned for this field, indicating that no valid values can be obtained.\n", + "items": { + "$ref": "#/types/tencentcloud:Audit/getEventsEvent:getEventsEvent" + }, + "language": { + "csharp": { + "name": "AuditEvents" + } + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "isReturnLocation": { + "type": "integer" + }, + "lookupAttributes": { + "items": { + "$ref": "#/types/tencentcloud:Audit/getEventsLookupAttribute:getEventsLookupAttribute" + }, + "type": "array" + }, + "maxResults": { + "type": "integer" + }, + "resultOutputFile": { + "type": "string" + }, + "startTime": { + "type": "integer" + } + }, + "required": [ + "endTime", + "events", + "startTime", + "id" + ], + "type": "object" + } + }, "tencentcloud:Audit/getKeyAlias:getKeyAlias": { "description": "Use this data source to query the key alias list specified with region supported by the audit.\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 all = tencentcloud.Audit.getKeyAlias({\n region: \"ap-hongkong\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nall = tencentcloud.Audit.get_key_alias(region=\"ap-hongkong\")\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 all = Tencentcloud.Audit.GetKeyAlias.Invoke(new()\n {\n Region = \"ap-hongkong\",\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/Audit\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Audit.GetKeyAlias(ctx, \u0026audit.GetKeyAliasArgs{\n\t\t\tRegion: \"ap-hongkong\",\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.Audit.AuditFunctions;\nimport com.pulumi.tencentcloud.Audit.inputs.GetKeyAliasArgs;\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 all = AuditFunctions.getKeyAlias(GetKeyAliasArgs.builder()\n .region(\"ap-hongkong\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n Function: tencentcloud:Audit:getKeyAlias\n Arguments:\n region: ap-hongkong\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -231871,7 +239736,7 @@ } }, "tencentcloud:Cbs/getStorages:getStorages": { - "description": "Use this data source to query detailed information of CBS storages.\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 storages = tencentcloud.Cbs.getStorages({\n resultOutputFile: \"mytestpath\",\n storageId: \"disk-kdt0sq6m\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nstorages = tencentcloud.Cbs.get_storages(result_output_file=\"mytestpath\",\n storage_id=\"disk-kdt0sq6m\")\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 storages = Tencentcloud.Cbs.GetStorages.Invoke(new()\n {\n ResultOutputFile = \"mytestpath\",\n StorageId = \"disk-kdt0sq6m\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStorages(ctx, \u0026cbs.GetStoragesArgs{\n\t\t\tResultOutputFile: pulumi.StringRef(\"mytestpath\"),\n\t\t\tStorageId: pulumi.StringRef(\"disk-kdt0sq6m\"),\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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesArgs;\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 storages = CbsFunctions.getStorages(GetStoragesArgs.builder()\n .resultOutputFile(\"mytestpath\")\n .storageId(\"disk-kdt0sq6m\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n storages:\n fn::invoke:\n Function: tencentcloud:Cbs:getStorages\n Arguments:\n resultOutputFile: mytestpath\n storageId: disk-kdt0sq6m\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### The following snippet shows the new supported query params\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst whatsNew = tencentcloud.Cbs.getStorages({\n chargeTypes: [\n \"POSTPAID_BY_HOUR\",\n \"PREPAID\",\n ],\n instanceIps: [\"10.0.0.2\"],\n instanceNames: [\"my-instance\"],\n portable: true,\n storageStates: [\"ATTACHED\"],\n tagKeys: [\"foo\"],\n tagValues: [\n \"bar\",\n \"baz\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nwhats_new = tencentcloud.Cbs.get_storages(charge_types=[\n \"POSTPAID_BY_HOUR\",\n \"PREPAID\",\n ],\n instance_ips=[\"10.0.0.2\"],\n instance_names=[\"my-instance\"],\n portable=True,\n storage_states=[\"ATTACHED\"],\n tag_keys=[\"foo\"],\n tag_values=[\n \"bar\",\n \"baz\",\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 whatsNew = Tencentcloud.Cbs.GetStorages.Invoke(new()\n {\n ChargeTypes = new[]\n {\n \"POSTPAID_BY_HOUR\",\n \"PREPAID\",\n },\n InstanceIps = new[]\n {\n \"10.0.0.2\",\n },\n InstanceNames = new[]\n {\n \"my-instance\",\n },\n Portable = true,\n StorageStates = new[]\n {\n \"ATTACHED\",\n },\n TagKeys = new[]\n {\n \"foo\",\n },\n TagValues = new[]\n {\n \"bar\",\n \"baz\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStorages(ctx, \u0026cbs.GetStoragesArgs{\n\t\t\tChargeTypes: []string{\n\t\t\t\t\"POSTPAID_BY_HOUR\",\n\t\t\t\t\"PREPAID\",\n\t\t\t},\n\t\t\tInstanceIps: []string{\n\t\t\t\t\"10.0.0.2\",\n\t\t\t},\n\t\t\tInstanceNames: []string{\n\t\t\t\t\"my-instance\",\n\t\t\t},\n\t\t\tPortable: pulumi.BoolRef(true),\n\t\t\tStorageStates: []string{\n\t\t\t\t\"ATTACHED\",\n\t\t\t},\n\t\t\tTagKeys: []string{\n\t\t\t\t\"foo\",\n\t\t\t},\n\t\t\tTagValues: []string{\n\t\t\t\t\"bar\",\n\t\t\t\t\"baz\",\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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesArgs;\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 whatsNew = CbsFunctions.getStorages(GetStoragesArgs.builder()\n .chargeTypes( \n \"POSTPAID_BY_HOUR\",\n \"PREPAID\")\n .instanceIps(\"10.0.0.2\")\n .instanceNames(\"my-instance\")\n .portable(true)\n .storageStates(\"ATTACHED\")\n .tagKeys(\"foo\")\n .tagValues( \n \"bar\",\n \"baz\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n whatsNew:\n fn::invoke:\n Function: tencentcloud:Cbs:getStorages\n Arguments:\n chargeTypes:\n - POSTPAID_BY_HOUR\n - PREPAID\n instanceIps:\n - 10.0.0.2\n instanceNames:\n - my-instance\n portable: true\n storageStates:\n - ATTACHED\n tagKeys:\n - foo\n tagValues:\n - bar\n - baz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to query detailed information of CBS storages.\n\n## Example Usage\n\n### Query all CBS storages\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Cbs.getStorages({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Cbs.get_storages()\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 example = Tencentcloud.Cbs.GetStorages.Invoke();\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStorages(ctx, nil, 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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CbsFunctions.getStorages();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Cbs:getStorages\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query CBS by storage id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Cbs.getStorages({\n resultOutputFile: \"my-test-path\",\n storageId: \"disk-6goq404g\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Cbs.get_storages(result_output_file=\"my-test-path\",\n storage_id=\"disk-6goq404g\")\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 example = Tencentcloud.Cbs.GetStorages.Invoke(new()\n {\n ResultOutputFile = \"my-test-path\",\n StorageId = \"disk-6goq404g\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStorages(ctx, \u0026cbs.GetStoragesArgs{\n\t\t\tResultOutputFile: pulumi.StringRef(\"my-test-path\"),\n\t\t\tStorageId: pulumi.StringRef(\"disk-6goq404g\"),\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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CbsFunctions.getStorages(GetStoragesArgs.builder()\n .resultOutputFile(\"my-test-path\")\n .storageId(\"disk-6goq404g\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Cbs:getStorages\n Arguments:\n resultOutputFile: my-test-path\n storageId: disk-6goq404g\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query CBS by dedicated cluster id\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Cbs.getStorages({\n dedicatedClusterId: \"cluster-262n63e8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Cbs.get_storages(dedicated_cluster_id=\"cluster-262n63e8\")\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 example = Tencentcloud.Cbs.GetStorages.Invoke(new()\n {\n DedicatedClusterId = \"cluster-262n63e8\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStorages(ctx, \u0026cbs.GetStoragesArgs{\n\t\t\tDedicatedClusterId: pulumi.StringRef(\"cluster-262n63e8\"),\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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CbsFunctions.getStorages(GetStoragesArgs.builder()\n .dedicatedClusterId(\"cluster-262n63e8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Cbs:getStorages\n Arguments:\n dedicatedClusterId: cluster-262n63e8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### The following snippet shows the new supported query params\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst whatsNew = tencentcloud.Cbs.getStorages({\n chargeTypes: [\n \"POSTPAID_BY_HOUR\",\n \"PREPAID\",\n \"CDCPAID\",\n \"DEDICATED_CLUSTER_PAID\",\n ],\n instanceIps: [\"10.0.0.2\"],\n instanceNames: [\"my-instance\"],\n portable: true,\n storageStates: [\"ATTACHED\"],\n tagKeys: [\"example\"],\n tagValues: [\n \"bar\",\n \"baz\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nwhats_new = tencentcloud.Cbs.get_storages(charge_types=[\n \"POSTPAID_BY_HOUR\",\n \"PREPAID\",\n \"CDCPAID\",\n \"DEDICATED_CLUSTER_PAID\",\n ],\n instance_ips=[\"10.0.0.2\"],\n instance_names=[\"my-instance\"],\n portable=True,\n storage_states=[\"ATTACHED\"],\n tag_keys=[\"example\"],\n tag_values=[\n \"bar\",\n \"baz\",\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 whatsNew = Tencentcloud.Cbs.GetStorages.Invoke(new()\n {\n ChargeTypes = new[]\n {\n \"POSTPAID_BY_HOUR\",\n \"PREPAID\",\n \"CDCPAID\",\n \"DEDICATED_CLUSTER_PAID\",\n },\n InstanceIps = new[]\n {\n \"10.0.0.2\",\n },\n InstanceNames = new[]\n {\n \"my-instance\",\n },\n Portable = true,\n StorageStates = new[]\n {\n \"ATTACHED\",\n },\n TagKeys = new[]\n {\n \"example\",\n },\n TagValues = new[]\n {\n \"bar\",\n \"baz\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStorages(ctx, \u0026cbs.GetStoragesArgs{\n\t\t\tChargeTypes: []string{\n\t\t\t\t\"POSTPAID_BY_HOUR\",\n\t\t\t\t\"PREPAID\",\n\t\t\t\t\"CDCPAID\",\n\t\t\t\t\"DEDICATED_CLUSTER_PAID\",\n\t\t\t},\n\t\t\tInstanceIps: []string{\n\t\t\t\t\"10.0.0.2\",\n\t\t\t},\n\t\t\tInstanceNames: []string{\n\t\t\t\t\"my-instance\",\n\t\t\t},\n\t\t\tPortable: pulumi.BoolRef(true),\n\t\t\tStorageStates: []string{\n\t\t\t\t\"ATTACHED\",\n\t\t\t},\n\t\t\tTagKeys: []string{\n\t\t\t\t\"example\",\n\t\t\t},\n\t\t\tTagValues: []string{\n\t\t\t\t\"bar\",\n\t\t\t\t\"baz\",\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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesArgs;\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 whatsNew = CbsFunctions.getStorages(GetStoragesArgs.builder()\n .chargeTypes( \n \"POSTPAID_BY_HOUR\",\n \"PREPAID\",\n \"CDCPAID\",\n \"DEDICATED_CLUSTER_PAID\")\n .instanceIps(\"10.0.0.2\")\n .instanceNames(\"my-instance\")\n .portable(true)\n .storageStates(\"ATTACHED\")\n .tagKeys(\"example\")\n .tagValues( \n \"bar\",\n \"baz\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n whatsNew:\n fn::invoke:\n Function: tencentcloud:Cbs:getStorages\n Arguments:\n chargeTypes:\n - POSTPAID_BY_HOUR\n - PREPAID\n - CDCPAID\n - DEDICATED_CLUSTER_PAID\n instanceIps:\n - 10.0.0.2\n instanceNames:\n - my-instance\n portable: true\n storageStates:\n - ATTACHED\n tagKeys:\n - example\n tagValues:\n - bar\n - baz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStorages.\n", "properties": { @@ -231884,7 +239749,11 @@ "items": { "type": "string" }, - "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`).\n" + "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`).\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" }, "instanceIps": { "type": "array", @@ -231966,6 +239835,10 @@ }, "type": "array" }, + "dedicatedClusterId": { + "description": "Exclusive cluster id.\n", + "type": "string" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -232042,7 +239915,7 @@ } }, "tencentcloud:Cbs/getStoragesSet:getStoragesSet": { - "description": "Use this data source to query detailed information of CBS storages in parallel.\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 storages = tencentcloud.Cbs.getStoragesSet({\n availabilityZone: \"ap-guangzhou-3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nstorages = tencentcloud.Cbs.get_storages_set(availability_zone=\"ap-guangzhou-3\")\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 storages = Tencentcloud.Cbs.GetStoragesSet.Invoke(new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStoragesSet(ctx, \u0026cbs.GetStoragesSetArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"ap-guangzhou-3\"),\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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesSetArgs;\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 storages = CbsFunctions.getStoragesSet(GetStoragesSetArgs.builder()\n .availabilityZone(\"ap-guangzhou-3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n storages:\n fn::invoke:\n Function: tencentcloud:Cbs:getStoragesSet\n Arguments:\n availabilityZone: ap-guangzhou-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to query detailed information of CBS storages in parallel.\n\n## Example Usage\n\n### Query CBS by storage set by zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Cbs.getStoragesSet({\n availabilityZone: \"ap-guangzhou-3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Cbs.get_storages_set(availability_zone=\"ap-guangzhou-3\")\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 example = Tencentcloud.Cbs.GetStoragesSet.Invoke(new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\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/Cbs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cbs.GetStoragesSet(ctx, \u0026cbs.GetStoragesSetArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"ap-guangzhou-3\"),\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.Cbs.CbsFunctions;\nimport com.pulumi.tencentcloud.Cbs.inputs.GetStoragesSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CbsFunctions.getStoragesSet(GetStoragesSetArgs.builder()\n .availabilityZone(\"ap-guangzhou-3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Cbs:getStoragesSet\n Arguments:\n availabilityZone: ap-guangzhou-3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getStoragesSet.\n", "properties": { @@ -232055,7 +239928,11 @@ "items": { "type": "string" }, - "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`).\n" + "description": "List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`).\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" }, "instanceIps": { "type": "array", @@ -232137,6 +240014,10 @@ }, "type": "array" }, + "dedicatedClusterId": { + "description": "Exclusive cluster id.\n", + "type": "string" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -232606,6 +240487,67 @@ "type": "object" } }, + "tencentcloud:Ccn/getRoutes:getRoutes": { + "description": "Use this data source to query detailed information of CCN routes.\n\n## Example Usage\n\n### Query CCN instance all routes\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst routes = tencentcloud.Ccn.getRoutes({\n ccnId: \"ccn-gr7nynbd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nroutes = tencentcloud.Ccn.get_routes(ccn_id=\"ccn-gr7nynbd\")\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 routes = Tencentcloud.Ccn.GetRoutes.Invoke(new()\n {\n CcnId = \"ccn-gr7nynbd\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.GetRoutes(ctx, \u0026ccn.GetRoutesArgs{\n\t\t\tCcnId: \"ccn-gr7nynbd\",\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.Ccn.CcnFunctions;\nimport com.pulumi.tencentcloud.Ccn.inputs.GetRoutesArgs;\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 routes = CcnFunctions.getRoutes(GetRoutesArgs.builder()\n .ccnId(\"ccn-gr7nynbd\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n routes:\n fn::invoke:\n Function: tencentcloud:Ccn:getRoutes\n Arguments:\n ccnId: ccn-gr7nynbd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query CCN instance routes by filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst routes = tencentcloud.Ccn.getRoutes({\n ccnId: \"ccn-gr7nynbd\",\n filters: [{\n name: \"route-table-id\",\n values: [\"ccnrtb-jpf7bzn3\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nroutes = tencentcloud.Ccn.get_routes(ccn_id=\"ccn-gr7nynbd\",\n filters=[tencentcloud.ccn.GetRoutesFilterArgs(\n name=\"route-table-id\",\n values=[\"ccnrtb-jpf7bzn3\"],\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 routes = Tencentcloud.Ccn.GetRoutes.Invoke(new()\n {\n CcnId = \"ccn-gr7nynbd\",\n Filters = new[]\n {\n new Tencentcloud.Ccn.Inputs.GetRoutesFilterInputArgs\n {\n Name = \"route-table-id\",\n Values = new[]\n {\n \"ccnrtb-jpf7bzn3\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.GetRoutes(ctx, \u0026ccn.GetRoutesArgs{\n\t\t\tCcnId: \"ccn-gr7nynbd\",\n\t\t\tFilters: []ccn.GetRoutesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"route-table-id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ccnrtb-jpf7bzn3\",\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.Ccn.CcnFunctions;\nimport com.pulumi.tencentcloud.Ccn.inputs.GetRoutesArgs;\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 routes = CcnFunctions.getRoutes(GetRoutesArgs.builder()\n .ccnId(\"ccn-gr7nynbd\")\n .filters(GetRoutesFilterArgs.builder()\n .name(\"route-table-id\")\n .values(\"ccnrtb-jpf7bzn3\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n routes:\n fn::invoke:\n Function: tencentcloud:Ccn:getRoutes\n Arguments:\n ccnId: ccn-gr7nynbd\n filters:\n - name: route-table-id\n values:\n - ccnrtb-jpf7bzn3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getRoutes.\n", + "properties": { + "ccnId": { + "type": "string", + "description": "ID of the CCN to be queried.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Ccn/getRoutesFilter:getRoutesFilter" + }, + "description": "Filter conditions.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "ccnId" + ] + }, + "outputs": { + "description": "A collection of values returned by getRoutes.\n", + "properties": { + "ccnId": { + "type": "string" + }, + "filters": { + "items": { + "$ref": "#/types/tencentcloud:Ccn/getRoutesFilter:getRoutesFilter" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + }, + "routeLists": { + "description": "CCN route list.\n", + "items": { + "$ref": "#/types/tencentcloud:Ccn/getRoutesRouteList:getRoutesRouteList" + }, + "type": "array" + } + }, + "required": [ + "ccnId", + "routeLists", + "id" + ], + "type": "object" + } + }, "tencentcloud:Ccn/getTenantInstances:getTenantInstances": { "description": "Use this data source to query detailed information of vpc tenant_ccn\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 tenantCcn = tencentcloud.Ccn.getTenantInstances({\n ccnIds: [\"ccn-39lqkygf\"],\n isSecurityLocks: [\"true\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ntenant_ccn = tencentcloud.Ccn.get_tenant_instances(ccn_ids=[\"ccn-39lqkygf\"],\n is_security_locks=[\"true\"])\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 tenantCcn = Tencentcloud.Ccn.GetTenantInstances.Invoke(new()\n {\n CcnIds = new[]\n {\n \"ccn-39lqkygf\",\n },\n IsSecurityLocks = new[]\n {\n \"true\",\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/Ccn\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Ccn.GetTenantInstances(ctx, \u0026ccn.GetTenantInstancesArgs{\n\t\t\tCcnIds: []string{\n\t\t\t\t\"ccn-39lqkygf\",\n\t\t\t},\n\t\t\tIsSecurityLocks: []string{\n\t\t\t\t\"true\",\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.Ccn.CcnFunctions;\nimport com.pulumi.tencentcloud.Ccn.inputs.GetTenantInstancesArgs;\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 tenantCcn = CcnFunctions.getTenantInstances(GetTenantInstancesArgs.builder()\n .ccnIds(\"ccn-39lqkygf\")\n .isSecurityLocks(\"true\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tenantCcn:\n fn::invoke:\n Function: tencentcloud:Ccn:getTenantInstances\n Arguments:\n ccnIds:\n - ccn-39lqkygf\n isSecurityLocks:\n - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -232674,6 +240616,166 @@ "type": "object" } }, + "tencentcloud:Cdc/getDedicatedClusterHosts:getDedicatedClusterHosts": { + "description": "Use this data source to query detailed information of CDC dedicated cluster hosts\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 hosts = tencentcloud.Cdc.getDedicatedClusterHosts({\n dedicatedClusterId: \"cluster-262n63e8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nhosts = tencentcloud.Cdc.get_dedicated_cluster_hosts(dedicated_cluster_id=\"cluster-262n63e8\")\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 hosts = Tencentcloud.Cdc.GetDedicatedClusterHosts.Invoke(new()\n {\n DedicatedClusterId = \"cluster-262n63e8\",\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/Cdc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdc.GetDedicatedClusterHosts(ctx, \u0026cdc.GetDedicatedClusterHostsArgs{\n\t\t\tDedicatedClusterId: \"cluster-262n63e8\",\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.Cdc.CdcFunctions;\nimport com.pulumi.tencentcloud.Cdc.inputs.GetDedicatedClusterHostsArgs;\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 hosts = CdcFunctions.getDedicatedClusterHosts(GetDedicatedClusterHostsArgs.builder()\n .dedicatedClusterId(\"cluster-262n63e8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n hosts:\n fn::invoke:\n Function: tencentcloud:Cdc:getDedicatedClusterHosts\n Arguments:\n dedicatedClusterId: cluster-262n63e8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getDedicatedClusterHosts.\n", + "properties": { + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated Cluster ID.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "dedicatedClusterId" + ] + }, + "outputs": { + "description": "A collection of values returned by getDedicatedClusterHosts.\n", + "properties": { + "dedicatedClusterId": { + "type": "string" + }, + "hostInfoSets": { + "description": "Dedicated Cluster Host Info.\n", + "items": { + "$ref": "#/types/tencentcloud:Cdc/getDedicatedClusterHostsHostInfoSet:getDedicatedClusterHostsHostInfoSet" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "dedicatedClusterId", + "hostInfoSets", + "id" + ], + "type": "object" + } + }, + "tencentcloud:Cdc/getDedicatedClusterInstanceTypes:getDedicatedClusterInstanceTypes": { + "description": "Use this data source to query detailed information of CDC dedicated cluster instance types\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 types = tencentcloud.Cdc.getDedicatedClusterInstanceTypes({\n dedicatedClusterId: \"cluster-262n63e8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ntypes = tencentcloud.Cdc.get_dedicated_cluster_instance_types(dedicated_cluster_id=\"cluster-262n63e8\")\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 types = Tencentcloud.Cdc.GetDedicatedClusterInstanceTypes.Invoke(new()\n {\n DedicatedClusterId = \"cluster-262n63e8\",\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/Cdc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdc.GetDedicatedClusterInstanceTypes(ctx, \u0026cdc.GetDedicatedClusterInstanceTypesArgs{\n\t\t\tDedicatedClusterId: \"cluster-262n63e8\",\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.Cdc.CdcFunctions;\nimport com.pulumi.tencentcloud.Cdc.inputs.GetDedicatedClusterInstanceTypesArgs;\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 types = CdcFunctions.getDedicatedClusterInstanceTypes(GetDedicatedClusterInstanceTypesArgs.builder()\n .dedicatedClusterId(\"cluster-262n63e8\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n types:\n fn::invoke:\n Function: tencentcloud:Cdc:getDedicatedClusterInstanceTypes\n Arguments:\n dedicatedClusterId: cluster-262n63e8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getDedicatedClusterInstanceTypes.\n", + "properties": { + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated Cluster ID.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "dedicatedClusterId" + ] + }, + "outputs": { + "description": "A collection of values returned by getDedicatedClusterInstanceTypes.\n", + "properties": { + "dedicatedClusterId": { + "type": "string" + }, + "dedicatedClusterInstanceTypeSets": { + "description": "Dedicated Cluster Supported InstanceType.\n", + "items": { + "$ref": "#/types/tencentcloud:Cdc/getDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet:getDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "dedicatedClusterId", + "dedicatedClusterInstanceTypeSets", + "id" + ], + "type": "object" + } + }, + "tencentcloud:Cdc/getDedicatedClusterOrders:getDedicatedClusterOrders": { + "description": "Use this data source to query detailed information of CDC dedicated cluster orders\n\n## Example Usage\n\n### Query all orders\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst orders = tencentcloud.Cdc.getDedicatedClusterOrders({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norders = tencentcloud.Cdc.get_dedicated_cluster_orders()\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 orders = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke();\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/Cdc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdc.GetDedicatedClusterOrders(ctx, nil, 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.Cdc.CdcFunctions;\nimport com.pulumi.tencentcloud.Cdc.inputs.GetDedicatedClusterOrdersArgs;\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 orders = CdcFunctions.getDedicatedClusterOrders();\n\n }\n}\n```\n```yaml\nvariables:\n orders:\n fn::invoke:\n Function: tencentcloud:Cdc:getDedicatedClusterOrders\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query orders by filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst orders1 = tencentcloud.Cdc.getDedicatedClusterOrders({\n dedicatedClusterIds: [\"cluster-262n63e8\"],\n});\nconst orders3 = tencentcloud.Cdc.getDedicatedClusterOrders({\n actionType: \"CREATE\",\n status: \"PENDING\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norders1 = tencentcloud.Cdc.get_dedicated_cluster_orders(dedicated_cluster_ids=[\"cluster-262n63e8\"])\norders3 = tencentcloud.Cdc.get_dedicated_cluster_orders(action_type=\"CREATE\",\n status=\"PENDING\")\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 orders1 = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(new()\n {\n DedicatedClusterIds = new[]\n {\n \"cluster-262n63e8\",\n },\n });\n\n var orders3 = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(new()\n {\n ActionType = \"CREATE\",\n Status = \"PENDING\",\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/Cdc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdc.GetDedicatedClusterOrders(ctx, \u0026cdc.GetDedicatedClusterOrdersArgs{\n\t\t\tDedicatedClusterIds: []string{\n\t\t\t\t\"cluster-262n63e8\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Cdc.GetDedicatedClusterOrders(ctx, \u0026cdc.GetDedicatedClusterOrdersArgs{\n\t\t\tActionType: pulumi.StringRef(\"CREATE\"),\n\t\t\tStatus: pulumi.StringRef(\"PENDING\"),\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.Cdc.CdcFunctions;\nimport com.pulumi.tencentcloud.Cdc.inputs.GetDedicatedClusterOrdersArgs;\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 orders1 = CdcFunctions.getDedicatedClusterOrders(GetDedicatedClusterOrdersArgs.builder()\n .dedicatedClusterIds(\"cluster-262n63e8\")\n .build());\n\n final var orders3 = CdcFunctions.getDedicatedClusterOrders(GetDedicatedClusterOrdersArgs.builder()\n .actionType(\"CREATE\")\n .status(\"PENDING\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orders1:\n fn::invoke:\n Function: tencentcloud:Cdc:getDedicatedClusterOrders\n Arguments:\n dedicatedClusterIds:\n - cluster-262n63e8\n orders3:\n fn::invoke:\n Function: tencentcloud:Cdc:getDedicatedClusterOrders\n Arguments:\n actionType: CREATE\n status: PENDING\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getDedicatedClusterOrders.\n", + "properties": { + "actionType": { + "type": "string", + "description": "Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND.\n" + }, + "dedicatedClusterIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter by Dedicated Cluster ID.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "status": { + "type": "string", + "description": "Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getDedicatedClusterOrders.\n", + "properties": { + "actionType": { + "type": "string" + }, + "dedicatedClusterIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "dedicatedClusterOrderSets": { + "description": "Filter by Dedicated Cluster Order.\n", + "items": { + "$ref": "#/types/tencentcloud:Cdc/getDedicatedClusterOrdersDedicatedClusterOrderSet:getDedicatedClusterOrdersDedicatedClusterOrderSet" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [ + "dedicatedClusterOrderSets", + "id" + ], + "type": "object" + } + }, "tencentcloud:Cdh/getInstances:getInstances": { "description": "Use this data source to query CDH instances.\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 list = tencentcloud.Cdh.getInstances({\n availabilityZone: \"ap-guangzhou-3\",\n hostId: \"host-d6s7i5q4\",\n hostName: \"test\",\n hostState: \"RUNNING\",\n projectId: 1154137,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nlist = tencentcloud.Cdh.get_instances(availability_zone=\"ap-guangzhou-3\",\n host_id=\"host-d6s7i5q4\",\n host_name=\"test\",\n host_state=\"RUNNING\",\n project_id=1154137)\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 list = Tencentcloud.Cdh.GetInstances.Invoke(new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n HostId = \"host-d6s7i5q4\",\n HostName = \"test\",\n HostState = \"RUNNING\",\n ProjectId = 1154137,\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/Cdh\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdh.GetInstances(ctx, \u0026cdh.GetInstancesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"ap-guangzhou-3\"),\n\t\t\tHostId: pulumi.StringRef(\"host-d6s7i5q4\"),\n\t\t\tHostName: pulumi.StringRef(\"test\"),\n\t\t\tHostState: pulumi.StringRef(\"RUNNING\"),\n\t\t\tProjectId: pulumi.IntRef(1154137),\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.Cdh.CdhFunctions;\nimport com.pulumi.tencentcloud.Cdh.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var list = CdhFunctions.getInstances(GetInstancesArgs.builder()\n .availabilityZone(\"ap-guangzhou-3\")\n .hostId(\"host-d6s7i5q4\")\n .hostName(\"test\")\n .hostState(\"RUNNING\")\n .projectId(1154137)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n list:\n fn::invoke:\n Function: tencentcloud:Cdh:getInstances\n Arguments:\n availabilityZone: ap-guangzhou-3\n hostId: host-d6s7i5q4\n hostName: test\n hostState: RUNNING\n projectId: 1.154137e+06\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -232934,6 +241036,70 @@ "type": "object" } }, + "tencentcloud:Cdwdoris/getInstances:getInstances": { + "description": "Use this data source to query detailed information of cdwdoris instances\n\n## Example Usage\n\n### Query all cdwdoris instances\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Cdwdoris.getInstances({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Cdwdoris.get_instances()\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 example = Tencentcloud.Cdwdoris.GetInstances.Invoke();\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/Cdwdoris\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdwdoris.GetInstances(ctx, nil, 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.Cdwdoris.CdwdorisFunctions;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CdwdorisFunctions.getInstances();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Cdwdoris:getInstances\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query cdwdoris instances by filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Cdwdoris.getInstances({\n searchTags: [{\n allValue: 0,\n tagKey: \"createBy\",\n tagValue: \"Terraform\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Cdwdoris.get_instances(search_tags=[tencentcloud.cdwdoris.GetInstancesSearchTagArgs(\n all_value=0,\n tag_key=\"createBy\",\n tag_value=\"Terraform\",\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 example = Tencentcloud.Cdwdoris.GetInstances.Invoke(new()\n {\n SearchTags = new[]\n {\n new Tencentcloud.Cdwdoris.Inputs.GetInstancesSearchTagInputArgs\n {\n AllValue = 0,\n TagKey = \"createBy\",\n TagValue = \"Terraform\",\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/Cdwdoris\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cdwdoris.GetInstances(ctx, \u0026cdwdoris.GetInstancesArgs{\n\t\t\tSearchTags: []cdwdoris.GetInstancesSearchTag{\n\t\t\t\t{\n\t\t\t\t\tAllValue: pulumi.IntRef(0),\n\t\t\t\t\tTagKey: pulumi.StringRef(\"createBy\"),\n\t\t\t\t\tTagValue: pulumi.StringRef(\"Terraform\"),\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.Cdwdoris.CdwdorisFunctions;\nimport com.pulumi.tencentcloud.Cdwdoris.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = CdwdorisFunctions.getInstances(GetInstancesArgs.builder()\n .searchTags(GetInstancesSearchTagArgs.builder()\n .allValue(0)\n .tagKey(\"createBy\")\n .tagValue(\"Terraform\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Cdwdoris:getInstances\n Arguments:\n searchTags:\n - allValue: 0\n tagKey: createBy\n tagValue: Terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getInstances.\n", + "properties": { + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "searchInstanceId": { + "type": "string", + "description": "The name of the cluster ID for the search.\n" + }, + "searchInstanceName": { + "type": "string", + "description": "The cluster name for the search.\n" + }, + "searchTags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesSearchTag:getInstancesSearchTag" + }, + "description": "Search tag list.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getInstances.\n", + "properties": { + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "instancesLists": { + "description": "Quantities of instances array.\n", + "items": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesInstancesList:getInstancesInstancesList" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + }, + "searchInstanceId": { + "type": "string" + }, + "searchInstanceName": { + "type": "string" + }, + "searchTags": { + "items": { + "$ref": "#/types/tencentcloud:Cdwdoris/getInstancesSearchTag:getInstancesSearchTag" + }, + "type": "array" + } + }, + "required": [ + "instancesLists", + "id" + ], + "type": "object" + } + }, "tencentcloud:Cfs/getAccessGroups:getAccessGroups": { "description": "Use this data source to query the detail information of CFS access group.\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 accessGroups = tencentcloud.Cfs.getAccessGroups({\n accessGroupId: \"pgroup-7nx89k7l\",\n name: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\naccess_groups = tencentcloud.Cfs.get_access_groups(access_group_id=\"pgroup-7nx89k7l\",\n name=\"test\")\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 accessGroups = Tencentcloud.Cfs.GetAccessGroups.Invoke(new()\n {\n AccessGroupId = \"pgroup-7nx89k7l\",\n Name = \"test\",\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/Cfs\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cfs.GetAccessGroups(ctx, \u0026cfs.GetAccessGroupsArgs{\n\t\t\tAccessGroupId: pulumi.StringRef(\"pgroup-7nx89k7l\"),\n\t\t\tName: pulumi.StringRef(\"test\"),\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.Cfs.CfsFunctions;\nimport com.pulumi.tencentcloud.Cfs.inputs.GetAccessGroupsArgs;\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 accessGroups = CfsFunctions.getAccessGroups(GetAccessGroupsArgs.builder()\n .accessGroupId(\"pgroup-7nx89k7l\")\n .name(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n accessGroups:\n fn::invoke:\n Function: tencentcloud:Cfs:getAccessGroups\n Arguments:\n accessGroupId: pgroup-7nx89k7l\n name: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -236087,6 +244253,61 @@ "type": "object" } }, + "tencentcloud:Cls/getLogsets:getLogsets": { + "description": "Use this data source to query detailed information of cls logsets\n\n## Example Usage\n\n### Query all cls logsets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst logsets = tencentcloud.Cls.getLogsets({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nlogsets = tencentcloud.Cls.get_logsets()\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 logsets = Tencentcloud.Cls.GetLogsets.Invoke();\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.GetLogsets(ctx, nil, 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.Cls.ClsFunctions;\nimport com.pulumi.tencentcloud.Cls.inputs.GetLogsetsArgs;\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 logsets = ClsFunctions.getLogsets();\n\n }\n}\n```\n```yaml\nvariables:\n logsets:\n fn::invoke:\n Function: tencentcloud:Cls:getLogsets\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query by filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst logsets = tencentcloud.Cls.getLogsets({\n filters: [{\n key: \"tag:createdBy\",\n values: [\"terraform\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nlogsets = tencentcloud.Cls.get_logsets(filters=[tencentcloud.cls.GetLogsetsFilterArgs(\n key=\"tag:createdBy\",\n values=[\"terraform\"],\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 logsets = Tencentcloud.Cls.GetLogsets.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Cls.Inputs.GetLogsetsFilterInputArgs\n {\n Key = \"tag:createdBy\",\n Values = new[]\n {\n \"terraform\",\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/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cls.GetLogsets(ctx, \u0026cls.GetLogsetsArgs{\n\t\t\tFilters: []cls.GetLogsetsFilter{\n\t\t\t\t{\n\t\t\t\t\tKey: \"tag:createdBy\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"terraform\",\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.Cls.ClsFunctions;\nimport com.pulumi.tencentcloud.Cls.inputs.GetLogsetsArgs;\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 logsets = ClsFunctions.getLogsets(GetLogsetsArgs.builder()\n .filters(GetLogsetsFilterArgs.builder()\n .key(\"tag:createdBy\")\n .values(\"terraform\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n logsets:\n fn::invoke:\n Function: tencentcloud:Cls:getLogsets\n Arguments:\n filters:\n - key: tag:createdBy\n values:\n - terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getLogsets.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cls/getLogsetsFilter:getLogsetsFilter" + }, + "description": "Query by filter.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getLogsets.\n", + "properties": { + "filters": { + "items": { + "$ref": "#/types/tencentcloud:Cls/getLogsetsFilter:getLogsetsFilter" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "logsets": { + "description": "logset lists.\n", + "items": { + "$ref": "#/types/tencentcloud:Cls/getLogsetsLogset:getLogsetsLogset" + }, + "language": { + "csharp": { + "name": "ClsLogsets" + } + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "logsets", + "id" + ], + "type": "object" + } + }, "tencentcloud:Cls/getMachineGroupConfigs:getMachineGroupConfigs": { "description": "Use this data source to query detailed information of cls machine_group_configs\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 group = new tencentcloud.cls.MachineGroup(\"group\", {\n groupName: \"tf-describe-mg-config-test\",\n serviceLogging: true,\n autoUpdate: true,\n updateEndTime: \"19:05:00\",\n updateStartTime: \"17:05:00\",\n machineGroupType: {\n type: \"ip\",\n values: [\n \"192.168.1.1\",\n \"192.168.1.2\",\n ],\n },\n});\nconst machineGroupConfigs = tencentcloud.Cls.getMachineGroupConfigsOutput({\n groupId: group.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ngroup = tencentcloud.cls.MachineGroup(\"group\",\n group_name=\"tf-describe-mg-config-test\",\n service_logging=True,\n auto_update=True,\n update_end_time=\"19:05:00\",\n update_start_time=\"17:05:00\",\n machine_group_type=tencentcloud.cls.MachineGroupMachineGroupTypeArgs(\n type=\"ip\",\n values=[\n \"192.168.1.1\",\n \"192.168.1.2\",\n ],\n ))\nmachine_group_configs = tencentcloud.Cls.get_machine_group_configs_output(group_id=group.id)\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 @group = new Tencentcloud.Cls.MachineGroup(\"group\", new()\n {\n GroupName = \"tf-describe-mg-config-test\",\n ServiceLogging = true,\n AutoUpdate = true,\n UpdateEndTime = \"19:05:00\",\n UpdateStartTime = \"17:05:00\",\n MachineGroupType = new Tencentcloud.Cls.Inputs.MachineGroupMachineGroupTypeArgs\n {\n Type = \"ip\",\n Values = new[]\n {\n \"192.168.1.1\",\n \"192.168.1.2\",\n },\n },\n });\n\n var machineGroupConfigs = Tencentcloud.Cls.GetMachineGroupConfigs.Invoke(new()\n {\n GroupId = @group.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/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup, err := Cls.NewMachineGroup(ctx, \"group\", \u0026Cls.MachineGroupArgs{\n\t\t\tGroupName: pulumi.String(\"tf-describe-mg-config-test\"),\n\t\t\tServiceLogging: pulumi.Bool(true),\n\t\t\tAutoUpdate: pulumi.Bool(true),\n\t\t\tUpdateEndTime: pulumi.String(\"19:05:00\"),\n\t\t\tUpdateStartTime: pulumi.String(\"17:05:00\"),\n\t\t\tMachineGroupType: \u0026cls.MachineGroupMachineGroupTypeArgs{\n\t\t\t\tType: pulumi.String(\"ip\"),\n\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"192.168.1.1\"),\n\t\t\t\t\tpulumi.String(\"192.168.1.2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = Cls.GetMachineGroupConfigsOutput(ctx, cls.GetMachineGroupConfigsOutputArgs{\n\t\t\tGroupId: group.ID(),\n\t\t}, nil)\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.MachineGroup;\nimport com.pulumi.tencentcloud.Cls.MachineGroupArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.MachineGroupMachineGroupTypeArgs;\nimport com.pulumi.tencentcloud.Cls.ClsFunctions;\nimport com.pulumi.tencentcloud.Cls.inputs.GetMachineGroupConfigsArgs;\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 group = new MachineGroup(\"group\", MachineGroupArgs.builder() \n .groupName(\"tf-describe-mg-config-test\")\n .serviceLogging(true)\n .autoUpdate(true)\n .updateEndTime(\"19:05:00\")\n .updateStartTime(\"17:05:00\")\n .machineGroupType(MachineGroupMachineGroupTypeArgs.builder()\n .type(\"ip\")\n .values( \n \"192.168.1.1\",\n \"192.168.1.2\")\n .build())\n .build());\n\n final var machineGroupConfigs = ClsFunctions.getMachineGroupConfigs(GetMachineGroupConfigsArgs.builder()\n .groupId(group.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n group:\n type: tencentcloud:Cls:MachineGroup\n properties:\n groupName: tf-describe-mg-config-test\n serviceLogging: true\n autoUpdate: true\n updateEndTime: 19:05:00\n updateStartTime: 17:05:00\n machineGroupType:\n type: ip\n values:\n - 192.168.1.1\n - 192.168.1.2\nvariables:\n machineGroupConfigs:\n fn::invoke:\n Function: tencentcloud:Cls:getMachineGroupConfigs\n Arguments:\n groupId: ${group.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -236258,7 +244479,7 @@ } }, "tencentcloud:Cos/getBatchs:getBatchs": { - "description": "Use this data source to query the COS batch.\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 cosBatchs = tencentcloud.Cos.getBatchs({\n appid: \"xxxxxx\",\n uin: \"xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ncos_batchs = tencentcloud.Cos.get_batchs(appid=\"xxxxxx\",\n uin=\"xxxxxx\")\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 cosBatchs = Tencentcloud.Cos.GetBatchs.Invoke(new()\n {\n Appid = \"xxxxxx\",\n Uin = \"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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.GetBatchs(ctx, \u0026cos.GetBatchsArgs{\n\t\t\tAppid: \"xxxxxx\",\n\t\t\tUin: \"xxxxxx\",\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.Cos.CosFunctions;\nimport com.pulumi.tencentcloud.Cos.inputs.GetBatchsArgs;\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 cosBatchs = CosFunctions.getBatchs(GetBatchsArgs.builder()\n .appid(\"xxxxxx\")\n .uin(\"xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n cosBatchs:\n fn::invoke:\n Function: tencentcloud:Cos:getBatchs\n Arguments:\n appid: xxxxxx\n uin: xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to query the COS batch.\n\n\u003e **NOTE:** The current resource does not support `cos_domain`.\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 cosBatchs = tencentcloud.Cos.getBatchs({\n appid: \"xxxxxx\",\n uin: \"xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ncos_batchs = tencentcloud.Cos.get_batchs(appid=\"xxxxxx\",\n uin=\"xxxxxx\")\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 cosBatchs = Tencentcloud.Cos.GetBatchs.Invoke(new()\n {\n Appid = \"xxxxxx\",\n Uin = \"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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.GetBatchs(ctx, \u0026cos.GetBatchsArgs{\n\t\t\tAppid: \"xxxxxx\",\n\t\t\tUin: \"xxxxxx\",\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.Cos.CosFunctions;\nimport com.pulumi.tencentcloud.Cos.inputs.GetBatchsArgs;\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 cosBatchs = CosFunctions.getBatchs(GetBatchsArgs.builder()\n .appid(\"xxxxxx\")\n .uin(\"xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n cosBatchs:\n fn::invoke:\n Function: tencentcloud:Cos:getBatchs\n Arguments:\n appid: xxxxxx\n uin: xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBatchs.\n", "properties": { @@ -236322,7 +244543,7 @@ } }, "tencentcloud:Cos/getBucketInventorys:getBucketInventorys": { - "description": "Use this data source to query the COS bucket inventorys.\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 cosBucketInventorys = tencentcloud.Cos.getBucketInventorys({\n bucket: \"xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ncos_bucket_inventorys = tencentcloud.Cos.get_bucket_inventorys(bucket=\"xxxxxx\")\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 cosBucketInventorys = Tencentcloud.Cos.GetBucketInventorys.Invoke(new()\n {\n Bucket = \"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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.GetBucketInventorys(ctx, \u0026cos.GetBucketInventorysArgs{\n\t\t\tBucket: \"xxxxxx\",\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.Cos.CosFunctions;\nimport com.pulumi.tencentcloud.Cos.inputs.GetBucketInventorysArgs;\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 cosBucketInventorys = CosFunctions.getBucketInventorys(GetBucketInventorysArgs.builder()\n .bucket(\"xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n cosBucketInventorys:\n fn::invoke:\n Function: tencentcloud:Cos:getBucketInventorys\n Arguments:\n bucket: xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to query the COS bucket inventorys.\n\n\u003e **NOTE:** The current resource does not support cdc.\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 cosBucketInventorys = tencentcloud.Cos.getBucketInventorys({\n bucket: \"xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ncos_bucket_inventorys = tencentcloud.Cos.get_bucket_inventorys(bucket=\"xxxxxx\")\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 cosBucketInventorys = Tencentcloud.Cos.GetBucketInventorys.Invoke(new()\n {\n Bucket = \"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/Cos\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cos.GetBucketInventorys(ctx, \u0026cos.GetBucketInventorysArgs{\n\t\t\tBucket: \"xxxxxx\",\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.Cos.CosFunctions;\nimport com.pulumi.tencentcloud.Cos.inputs.GetBucketInventorysArgs;\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 cosBucketInventorys = CosFunctions.getBucketInventorys(GetBucketInventorysArgs.builder()\n .bucket(\"xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n cosBucketInventorys:\n fn::invoke:\n Function: tencentcloud:Cos:getBucketInventorys\n Arguments:\n bucket: xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getBucketInventorys.\n", "properties": { @@ -250143,6 +258364,10 @@ "type": "string", "description": "The available zone that the CVM instance locates at.\n" }, + "dedicatedClusterId": { + "type": "string", + "description": "Exclusive cluster id.\n" + }, "instanceId": { "type": "string", "description": "ID of the instances to be queried.\n" @@ -250191,6 +258416,10 @@ "description": "The available zone that the CVM instance locates at.\n", "type": "string" }, + "dedicatedClusterId": { + "description": "Exclusive cluster id.\n", + "type": "string" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -252326,6 +260555,81 @@ "type": "object" } }, + "tencentcloud:Lite/getHbaseInstances:getHbaseInstances": { + "description": "Use this data source to query detailed information of emr lite_hbase_instances\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 liteHbaseInstances = tencentcloud.Lite.getHbaseInstances({\n displayStrategy: \"clusterList\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nlite_hbase_instances = tencentcloud.Lite.get_hbase_instances(display_strategy=\"clusterList\")\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 liteHbaseInstances = Tencentcloud.Lite.GetHbaseInstances.Invoke(new()\n {\n DisplayStrategy = \"clusterList\",\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/Lite\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Lite.GetHbaseInstances(ctx, \u0026lite.GetHbaseInstancesArgs{\n\t\t\tDisplayStrategy: \"clusterList\",\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.Lite.LiteFunctions;\nimport com.pulumi.tencentcloud.Lite.inputs.GetHbaseInstancesArgs;\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 liteHbaseInstances = LiteFunctions.getHbaseInstances(GetHbaseInstancesArgs.builder()\n .displayStrategy(\"clusterList\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n liteHbaseInstances:\n fn::invoke:\n Function: tencentcloud:Lite:getHbaseInstances\n Arguments:\n displayStrategy: clusterList\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getHbaseInstances.\n", + "properties": { + "asc": { + "type": "integer", + "description": "Sort by OrderField in ascending or descending order. Value range:\n* 0: indicates the descending order;\n* 1: indicates the ascending order;\nThe default value is 0.\n" + }, + "displayStrategy": { + "type": "string", + "description": "Cluster filtering policy. Value range:\n* clusterList: Query the list of clusters except the destroyed cluster;\n* monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Lite/getHbaseInstancesFilter:getHbaseInstancesFilter" + }, + "description": "Custom query.\n" + }, + "orderField": { + "type": "string", + "description": "Sorting field. Value range:\n* clusterId: Sorting by instance ID;\n* addTime: sorted by instance creation time;\n* status: sorted by the status code of the instance.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "displayStrategy" + ] + }, + "outputs": { + "description": "A collection of values returned by getHbaseInstances.\n", + "properties": { + "asc": { + "type": "integer" + }, + "displayStrategy": { + "type": "string" + }, + "filters": { + "items": { + "$ref": "#/types/tencentcloud:Lite/getHbaseInstancesFilter:getHbaseInstancesFilter" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "instanceLists": { + "description": "Cluster instance list.\n", + "items": { + "$ref": "#/types/tencentcloud:Lite/getHbaseInstancesInstanceList:getHbaseInstancesInstanceList" + }, + "type": "array" + }, + "orderField": { + "type": "string" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "displayStrategy", + "instanceLists", + "id" + ], + "type": "object" + } + }, "tencentcloud:Mariadb/getAccounts:getAccounts": { "description": "Use this data source to query detailed information of mariadb accounts\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 accounts = tencentcloud.Mariadb.getAccounts({\n instanceId: \"tdsql-4pzs5b67\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\naccounts = tencentcloud.Mariadb.get_accounts(instance_id=\"tdsql-4pzs5b67\")\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 accounts = Tencentcloud.Mariadb.GetAccounts.Invoke(new()\n {\n InstanceId = \"tdsql-4pzs5b67\",\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/Mariadb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Mariadb.GetAccounts(ctx, \u0026mariadb.GetAccountsArgs{\n\t\t\tInstanceId: \"tdsql-4pzs5b67\",\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.Mariadb.MariadbFunctions;\nimport com.pulumi.tencentcloud.Mariadb.inputs.GetAccountsArgs;\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 accounts = MariadbFunctions.getAccounts(GetAccountsArgs.builder()\n .instanceId(\"tdsql-4pzs5b67\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n accounts:\n fn::invoke:\n Function: tencentcloud:Mariadb:getAccounts\n Arguments:\n instanceId: tdsql-4pzs5b67\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -255785,6 +264089,126 @@ "type": "object" } }, + "tencentcloud:Monitor/getTmpInstances:getTmpInstances": { + "description": "Use this data source to query detailed information of monitor tmp instances\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 tmpInstances = tencentcloud.Monitor.getTmpInstances({\n instanceIds: [\"prom-xxxxxx\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ntmp_instances = tencentcloud.Monitor.get_tmp_instances(instance_ids=[\"prom-xxxxxx\"])\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 tmpInstances = Tencentcloud.Monitor.GetTmpInstances.Invoke(new()\n {\n InstanceIds = new[]\n {\n \"prom-xxxxxx\",\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/Monitor\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Monitor.GetTmpInstances(ctx, \u0026monitor.GetTmpInstancesArgs{\n\t\t\tInstanceIds: []string{\n\t\t\t\t\"prom-xxxxxx\",\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.Monitor.MonitorFunctions;\nimport com.pulumi.tencentcloud.Monitor.inputs.GetTmpInstancesArgs;\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 tmpInstances = MonitorFunctions.getTmpInstances(GetTmpInstancesArgs.builder()\n .instanceIds(\"prom-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tmpInstances:\n fn::invoke:\n Function: tencentcloud:Monitor:getTmpInstances\n Arguments:\n instanceIds:\n - prom-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getTmpInstances.\n", + "properties": { + "instanceChargeType": { + "type": "integer", + "description": "Filter according to instance charge type.\n- 2: Prepaid;\n- 3: Postpaid by hour.\n" + }, + "instanceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100.\n" + }, + "instanceName": { + "type": "string", + "description": "Filter according to instance name.\n" + }, + "instanceStatuses": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Filter according to instance status.\n- 1: Creating;\n- 2: In operation;\n- 3: Abnormal;\n- 4: Reconstruction;\n- 5: Destruction;\n- 6: Stopped taking;\n- 8: Suspension of service due to arrears;\n- 9: Service has been suspended due to arrears.\n" + }, + "ipv4Addresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter according to ipv4 address.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "tagFilters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Monitor/getTmpInstancesTagFilter:getTmpInstancesTagFilter" + }, + "description": "Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key.\n" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getTmpInstances.\n", + "properties": { + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "instanceChargeType": { + "description": "Instance charge type.\n- 2: Prepaid;\n- 3: Postpaid by hour.\n", + "type": "integer" + }, + "instanceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceName": { + "description": "Instance name.\n", + "type": "string" + }, + "instanceSets": { + "description": "Instance details list.\n", + "items": { + "$ref": "#/types/tencentcloud:Monitor/getTmpInstancesInstanceSet:getTmpInstancesInstanceSet" + }, + "type": "array" + }, + "instanceStatuses": { + "description": "Filter according to instance status.\n- 1: Creating;\n- 2: In operation;\n- 3: Abnormal;\n- 4: Reconstruction;\n- 5: Destruction;\n- 6: Stopped taking;\n- 8: Suspension of service due to arrears;\n- 9: Service has been suspended due to arrears.\n", + "items": { + "type": "integer" + }, + "type": "array" + }, + "ipv4Addresses": { + "description": "IPV4 address.\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + }, + "tagFilters": { + "items": { + "$ref": "#/types/tencentcloud:Monitor/getTmpInstancesTagFilter:getTmpInstancesTagFilter" + }, + "type": "array" + }, + "zones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "instanceSets", + "id" + ], + "type": "object" + } + }, "tencentcloud:Monitor/getTmpRegions:getTmpRegions": { "description": "Use this data source to query detailed information of monitor tmp_regions\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 tmpRegions = tencentcloud.Monitor.getTmpRegions({\n payMode: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ntmp_regions = tencentcloud.Monitor.get_tmp_regions(pay_mode=1)\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 tmpRegions = Tencentcloud.Monitor.GetTmpRegions.Invoke(new()\n {\n PayMode = 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/Monitor\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Monitor.GetTmpRegions(ctx, \u0026monitor.GetTmpRegionsArgs{\n\t\t\tPayMode: pulumi.IntRef(1),\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.Monitor.MonitorFunctions;\nimport com.pulumi.tencentcloud.Monitor.inputs.GetTmpRegionsArgs;\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 tmpRegions = MonitorFunctions.getTmpRegions(GetTmpRegionsArgs.builder()\n .payMode(1)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tmpRegions:\n fn::invoke:\n Function: tencentcloud:Monitor:getTmpRegions\n Arguments:\n payMode: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -259172,7 +267596,163 @@ "type": "string" }, "totalCost": { - "description": "Total cost of the member.\n", + "description": "Total cost of the member.\n", + "type": "number" + } + }, + "required": [ + "items", + "month", + "totalCost", + "id" + ], + "type": "object" + } + }, + "tencentcloud:Organization/getOrgFinancialByMonth:getOrgFinancialByMonth": { + "description": "Use this data source to query detailed information of organization org_financial_by_month\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 orgFinancialByMonth = tencentcloud.Organization.getOrgFinancialByMonth({\n endMonth: \"2023-05\",\n memberUins: [100026517717],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norg_financial_by_month = tencentcloud.Organization.get_org_financial_by_month(end_month=\"2023-05\",\n member_uins=[100026517717])\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 orgFinancialByMonth = Tencentcloud.Organization.GetOrgFinancialByMonth.Invoke(new()\n {\n EndMonth = \"2023-05\",\n MemberUins = new[]\n {\n 100026517717,\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/Organization\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := Organization.GetOrgFinancialByMonth(ctx, \u0026organization.GetOrgFinancialByMonthArgs{\nEndMonth: pulumi.StringRef(\"2023-05\"),\nMemberUins: interface{}{\n100026517717,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetOrgFinancialByMonthArgs;\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 orgFinancialByMonth = OrganizationFunctions.getOrgFinancialByMonth(GetOrgFinancialByMonthArgs.builder()\n .endMonth(\"2023-05\")\n .memberUins(100026517717)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orgFinancialByMonth:\n fn::invoke:\n Function: tencentcloud:Organization:getOrgFinancialByMonth\n Arguments:\n endMonth: 2023-05\n memberUins:\n - 1.00026517717e+11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getOrgFinancialByMonth.\n", + "properties": { + "endMonth": { + "type": "string", + "description": "Query for the end month. Format:yyyy-mm, for example:2021-01.\n" + }, + "memberUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Member uin list. Up to 100.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Product code list. Up to 100.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getOrgFinancialByMonth.\n", + "properties": { + "endMonth": { + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "items": { + "description": "Organization financial info by month.\n", + "items": { + "$ref": "#/types/tencentcloud:Organization/getOrgFinancialByMonthItem:getOrgFinancialByMonthItem" + }, + "type": "array" + }, + "memberUins": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "productCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "items", + "id" + ], + "type": "object" + } + }, + "tencentcloud:Organization/getOrgFinancialByProduct:getOrgFinancialByProduct": { + "description": "Use this data source to query detailed information of organization org_financial_by_product\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 orgFinancialByProduct = tencentcloud.Organization.getOrgFinancialByProduct({\n endMonth: \"2023-09\",\n month: \"2023-05\",\n productCodes: [\"p_eip\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norg_financial_by_product = tencentcloud.Organization.get_org_financial_by_product(end_month=\"2023-09\",\n month=\"2023-05\",\n product_codes=[\"p_eip\"])\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 orgFinancialByProduct = Tencentcloud.Organization.GetOrgFinancialByProduct.Invoke(new()\n {\n EndMonth = \"2023-09\",\n Month = \"2023-05\",\n ProductCodes = new[]\n {\n \"p_eip\",\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.GetOrgFinancialByProduct(ctx, \u0026organization.GetOrgFinancialByProductArgs{\n\t\t\tEndMonth: pulumi.StringRef(\"2023-09\"),\n\t\t\tMonth: \"2023-05\",\n\t\t\tProductCodes: []string{\n\t\t\t\t\"p_eip\",\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.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetOrgFinancialByProductArgs;\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 orgFinancialByProduct = OrganizationFunctions.getOrgFinancialByProduct(GetOrgFinancialByProductArgs.builder()\n .endMonth(\"2023-09\")\n .month(\"2023-05\")\n .productCodes(\"p_eip\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orgFinancialByProduct:\n fn::invoke:\n Function: tencentcloud:Organization:getOrgFinancialByProduct\n Arguments:\n endMonth: 2023-09\n month: 2023-05\n productCodes:\n - p_eip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getOrgFinancialByProduct.\n", + "properties": { + "endMonth": { + "type": "string", + "description": "Query for the end month. Format:yyyy-mm, for example:2021-01.The default value is the `Month`.\n" + }, + "memberUins": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Member uin list. Up to 100.\n" + }, + "month": { + "type": "string", + "description": "Query for the start month. Format:yyyy-mm, for example:2021-01.\n" + }, + "productCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Product code list. Up to 100.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "month" + ] + }, + "outputs": { + "description": "A collection of values returned by getOrgFinancialByProduct.\n", + "properties": { + "endMonth": { + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "items": { + "description": "Organization financial info by products.\n", + "items": { + "$ref": "#/types/tencentcloud:Organization/getOrgFinancialByProductItem:getOrgFinancialByProductItem" + }, + "type": "array" + }, + "memberUins": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "month": { + "type": "string" + }, + "productCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + }, + "totalCost": { + "description": "Total cost of the product.\n", "type": "number" } }, @@ -259185,28 +267765,14 @@ "type": "object" } }, - "tencentcloud:Organization/getOrgFinancialByMonth:getOrgFinancialByMonth": { - "description": "Use this data source to query detailed information of organization org_financial_by_month\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 orgFinancialByMonth = tencentcloud.Organization.getOrgFinancialByMonth({\n endMonth: \"2023-05\",\n memberUins: [100026517717],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norg_financial_by_month = tencentcloud.Organization.get_org_financial_by_month(end_month=\"2023-05\",\n member_uins=[100026517717])\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 orgFinancialByMonth = Tencentcloud.Organization.GetOrgFinancialByMonth.Invoke(new()\n {\n EndMonth = \"2023-05\",\n MemberUins = new[]\n {\n 100026517717,\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/Organization\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := Organization.GetOrgFinancialByMonth(ctx, \u0026organization.GetOrgFinancialByMonthArgs{\nEndMonth: pulumi.StringRef(\"2023-05\"),\nMemberUins: interface{}{\n100026517717,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetOrgFinancialByMonthArgs;\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 orgFinancialByMonth = OrganizationFunctions.getOrgFinancialByMonth(GetOrgFinancialByMonthArgs.builder()\n .endMonth(\"2023-05\")\n .memberUins(100026517717)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orgFinancialByMonth:\n fn::invoke:\n Function: tencentcloud:Organization:getOrgFinancialByMonth\n Arguments:\n endMonth: 2023-05\n memberUins:\n - 1.00026517717e+11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "tencentcloud:Organization/getOrgShareArea:getOrgShareArea": { + "description": "Use this data source to query detailed information of organization org_share_area\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 orgShareArea = tencentcloud.Organization.getOrgShareArea({\n lang: \"zh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norg_share_area = tencentcloud.Organization.get_org_share_area(lang=\"zh\")\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 orgShareArea = Tencentcloud.Organization.GetOrgShareArea.Invoke(new()\n {\n Lang = \"zh\",\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.GetOrgShareArea(ctx, \u0026organization.GetOrgShareAreaArgs{\n\t\t\tLang: pulumi.StringRef(\"zh\"),\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.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetOrgShareAreaArgs;\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 orgShareArea = OrganizationFunctions.getOrgShareArea(GetOrgShareAreaArgs.builder()\n .lang(\"zh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orgShareArea:\n fn::invoke:\n Function: tencentcloud:Organization:getOrgShareArea\n Arguments:\n lang: zh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getOrgFinancialByMonth.\n", + "description": "A collection of arguments for invoking getOrgShareArea.\n", "properties": { - "endMonth": { + "lang": { "type": "string", - "description": "Query for the end month. Format:yyyy-mm, for example:2021-01.\n" - }, - "memberUins": { - "type": "array", - "items": { - "type": "integer" - }, - "description": "Member uin list. Up to 100.\n" - }, - "productCodes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Product code list. Up to 100.\n" + "description": "Language.default zh.\nValid values:\n" }, "resultOutputFile": { "type": "string", @@ -259216,33 +267782,21 @@ "type": "object" }, "outputs": { - "description": "A collection of values returned by getOrgFinancialByMonth.\n", + "description": "A collection of values returned by getOrgShareArea.\n", "properties": { - "endMonth": { - "type": "string" - }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, "items": { - "description": "Organization financial info by month.\n", - "items": { - "$ref": "#/types/tencentcloud:Organization/getOrgFinancialByMonthItem:getOrgFinancialByMonthItem" - }, - "type": "array" - }, - "memberUins": { + "description": "Area list.\n", "items": { - "type": "integer" + "$ref": "#/types/tencentcloud:Organization/getOrgShareAreaItem:getOrgShareAreaItem" }, "type": "array" }, - "productCodes": { - "items": { - "type": "string" - }, - "type": "array" + "lang": { + "type": "string" }, "resultOutputFile": { "type": "string" @@ -259255,100 +267809,62 @@ "type": "object" } }, - "tencentcloud:Organization/getOrgFinancialByProduct:getOrgFinancialByProduct": { - "description": "Use this data source to query detailed information of organization org_financial_by_product\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 orgFinancialByProduct = tencentcloud.Organization.getOrgFinancialByProduct({\n endMonth: \"2023-09\",\n month: \"2023-05\",\n productCodes: [\"p_eip\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norg_financial_by_product = tencentcloud.Organization.get_org_financial_by_product(end_month=\"2023-09\",\n month=\"2023-05\",\n product_codes=[\"p_eip\"])\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 orgFinancialByProduct = Tencentcloud.Organization.GetOrgFinancialByProduct.Invoke(new()\n {\n EndMonth = \"2023-09\",\n Month = \"2023-05\",\n ProductCodes = new[]\n {\n \"p_eip\",\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.GetOrgFinancialByProduct(ctx, \u0026organization.GetOrgFinancialByProductArgs{\n\t\t\tEndMonth: pulumi.StringRef(\"2023-09\"),\n\t\t\tMonth: \"2023-05\",\n\t\t\tProductCodes: []string{\n\t\t\t\t\"p_eip\",\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.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetOrgFinancialByProductArgs;\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 orgFinancialByProduct = OrganizationFunctions.getOrgFinancialByProduct(GetOrgFinancialByProductArgs.builder()\n .endMonth(\"2023-09\")\n .month(\"2023-05\")\n .productCodes(\"p_eip\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orgFinancialByProduct:\n fn::invoke:\n Function: tencentcloud:Organization:getOrgFinancialByProduct\n Arguments:\n endMonth: 2023-09\n month: 2023-05\n productCodes:\n - p_eip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "tencentcloud:Organization/getServices:getServices": { + "description": "Use this data source to query detailed information of organization services\n\n## Example Usage\n\n### Query all organization services\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst services = tencentcloud.Organization.getServices({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nservices = tencentcloud.Organization.get_services()\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 services = Tencentcloud.Organization.GetServices.Invoke();\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.GetServices(ctx, nil, 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.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetServicesArgs;\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 services = OrganizationFunctions.getServices();\n\n }\n}\n```\n```yaml\nvariables:\n services:\n fn::invoke:\n Function: tencentcloud:Organization:getServices\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query organization services by filter\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst services = tencentcloud.Organization.getServices({\n searchKey: \"KeyWord\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nservices = tencentcloud.Organization.get_services(search_key=\"KeyWord\")\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 services = Tencentcloud.Organization.GetServices.Invoke(new()\n {\n SearchKey = \"KeyWord\",\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.GetServices(ctx, \u0026organization.GetServicesArgs{\n\t\t\tSearchKey: pulumi.StringRef(\"KeyWord\"),\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.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetServicesArgs;\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 services = OrganizationFunctions.getServices(GetServicesArgs.builder()\n .searchKey(\"KeyWord\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n services:\n fn::invoke:\n Function: tencentcloud:Organization:getServices\n Arguments:\n searchKey: KeyWord\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getOrgFinancialByProduct.\n", + "description": "A collection of arguments for invoking getServices.\n", "properties": { - "endMonth": { - "type": "string", - "description": "Query for the end month. Format:yyyy-mm, for example:2021-01.The default value is the `Month`.\n" - }, - "memberUins": { - "type": "array", - "items": { - "type": "integer" - }, - "description": "Member uin list. Up to 100.\n" - }, - "month": { - "type": "string", - "description": "Query for the start month. Format:yyyy-mm, for example:2021-01.\n" - }, - "productCodes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Product code list. Up to 100.\n" - }, "resultOutputFile": { "type": "string", "description": "Used to save results.\n" + }, + "searchKey": { + "type": "string", + "description": "Keyword for search by name.\n" } }, - "type": "object", - "required": [ - "month" - ] + "type": "object" }, "outputs": { - "description": "A collection of values returned by getOrgFinancialByProduct.\n", + "description": "A collection of values returned by getServices.\n", "properties": { - "endMonth": { - "type": "string" - }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, "items": { - "description": "Organization financial info by products.\n", - "items": { - "$ref": "#/types/tencentcloud:Organization/getOrgFinancialByProductItem:getOrgFinancialByProductItem" - }, - "type": "array" - }, - "memberUins": { - "items": { - "type": "integer" - }, - "type": "array" - }, - "month": { - "type": "string" - }, - "productCodes": { + "description": "Organization service list.\n", "items": { - "type": "string" + "$ref": "#/types/tencentcloud:Organization/getServicesItem:getServicesItem" }, "type": "array" }, "resultOutputFile": { "type": "string" }, - "totalCost": { - "description": "Total cost of the product.\n", - "type": "number" + "searchKey": { + "type": "string" } }, "required": [ "items", - "month", - "totalCost", "id" ], "type": "object" } }, - "tencentcloud:Organization/getOrgShareArea:getOrgShareArea": { - "description": "Use this data source to query detailed information of organization org_share_area\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 orgShareArea = tencentcloud.Organization.getOrgShareArea({\n lang: \"zh\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\norg_share_area = tencentcloud.Organization.get_org_share_area(lang=\"zh\")\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 orgShareArea = Tencentcloud.Organization.GetOrgShareArea.Invoke(new()\n {\n Lang = \"zh\",\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/Organization\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Organization.GetOrgShareArea(ctx, \u0026organization.GetOrgShareAreaArgs{\n\t\t\tLang: pulumi.StringRef(\"zh\"),\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.Organization.OrganizationFunctions;\nimport com.pulumi.tencentcloud.Organization.inputs.GetOrgShareAreaArgs;\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 orgShareArea = OrganizationFunctions.getOrgShareArea(GetOrgShareAreaArgs.builder()\n .lang(\"zh\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n orgShareArea:\n fn::invoke:\n Function: tencentcloud:Organization:getOrgShareArea\n Arguments:\n lang: zh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "tencentcloud:Placement/getGroups:getGroups": { + "description": "Use this data source to query placement groups.\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 = tencentcloud.Placement.getGroups({\n name: \"tf_example\",\n placementGroupId: \"ps-bwvst92h\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Placement.get_groups(name=\"tf_example\",\n placement_group_id=\"ps-bwvst92h\")\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 example = Tencentcloud.Placement.GetGroups.Invoke(new()\n {\n Name = \"tf_example\",\n PlacementGroupId = \"ps-bwvst92h\",\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/Placement\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Placement.GetGroups(ctx, \u0026placement.GetGroupsArgs{\n\t\t\tName: pulumi.StringRef(\"tf_example\"),\n\t\t\tPlacementGroupId: pulumi.StringRef(\"ps-bwvst92h\"),\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.Placement.PlacementFunctions;\nimport com.pulumi.tencentcloud.Placement.inputs.GetGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PlacementFunctions.getGroups(GetGroupsArgs.builder()\n .name(\"tf_example\")\n .placementGroupId(\"ps-bwvst92h\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Placement:getGroups\n Arguments:\n name: tf_example\n placementGroupId: ps-bwvst92h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getOrgShareArea.\n", + "description": "A collection of arguments for invoking getGroups.\n", "properties": { - "lang": { + "name": { "type": "string", - "description": "Language.default zh.\nValid values:\n" + "description": "Name of the placement group to be queried.\n" + }, + "placementGroupId": { + "type": "string", + "description": "ID of the placement group to be queried.\n" }, "resultOutputFile": { "type": "string", @@ -259358,81 +267874,105 @@ "type": "object" }, "outputs": { - "description": "A collection of values returned by getOrgShareArea.\n", + "description": "A collection of values returned by getGroups.\n", "properties": { "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, - "items": { - "description": "Area list.\n", + "name": { + "description": "Name of the placement group.\n", + "type": "string" + }, + "placementGroupId": { + "description": "ID of the placement group.\n", + "type": "string" + }, + "placementGroupLists": { + "description": "An information list of placement group. Each element contains the following attributes:\n", "items": { - "$ref": "#/types/tencentcloud:Organization/getOrgShareAreaItem:getOrgShareAreaItem" + "$ref": "#/types/tencentcloud:Placement/getGroupsPlacementGroupList:getGroupsPlacementGroupList" }, "type": "array" }, - "lang": { - "type": "string" - }, "resultOutputFile": { "type": "string" } }, "required": [ - "items", + "placementGroupLists", "id" ], "type": "object" } }, - "tencentcloud:Placement/getGroups:getGroups": { - "description": "Use this data source to query placement groups.\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 = tencentcloud.Placement.getGroups({\n name: \"tf_example\",\n placementGroupId: \"ps-bwvst92h\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Placement.get_groups(name=\"tf_example\",\n placement_group_id=\"ps-bwvst92h\")\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 example = Tencentcloud.Placement.GetGroups.Invoke(new()\n {\n Name = \"tf_example\",\n PlacementGroupId = \"ps-bwvst92h\",\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/Placement\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Placement.GetGroups(ctx, \u0026placement.GetGroupsArgs{\n\t\t\tName: pulumi.StringRef(\"tf_example\"),\n\t\t\tPlacementGroupId: pulumi.StringRef(\"ps-bwvst92h\"),\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.Placement.PlacementFunctions;\nimport com.pulumi.tencentcloud.Placement.inputs.GetGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PlacementFunctions.getGroups(GetGroupsArgs.builder()\n .name(\"tf_example\")\n .placementGroupId(\"ps-bwvst92h\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Placement:getGroups\n Arguments:\n name: tf_example\n placementGroupId: ps-bwvst92h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "tencentcloud:Postgresql/getAccountPrivileges:getAccountPrivileges": { + "description": "Use this data source to query detailed information of postgresql account privileges\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 = tencentcloud.Postgresql.getAccountPrivileges({\n databaseObjectSets: [{\n objectName: \"postgres\",\n objectType: \"database\",\n }],\n dbInstanceId: \"postgres-3hk6b6tj\",\n userName: \"tf_example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Postgresql.get_account_privileges(database_object_sets=[tencentcloud.postgresql.GetAccountPrivilegesDatabaseObjectSetArgs(\n object_name=\"postgres\",\n object_type=\"database\",\n )],\n db_instance_id=\"postgres-3hk6b6tj\",\n user_name=\"tf_example\")\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 example = Tencentcloud.Postgresql.GetAccountPrivileges.Invoke(new()\n {\n DatabaseObjectSets = new[]\n {\n new Tencentcloud.Postgresql.Inputs.GetAccountPrivilegesDatabaseObjectSetInputArgs\n {\n ObjectName = \"postgres\",\n ObjectType = \"database\",\n },\n },\n DbInstanceId = \"postgres-3hk6b6tj\",\n UserName = \"tf_example\",\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.GetAccountPrivileges(ctx, \u0026postgresql.GetAccountPrivilegesArgs{\n\t\t\tDatabaseObjectSets: []postgresql.GetAccountPrivilegesDatabaseObjectSet{\n\t\t\t\t{\n\t\t\t\t\tObjectName: \"postgres\",\n\t\t\t\t\tObjectType: \"database\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tDbInstanceId: \"postgres-3hk6b6tj\",\n\t\t\tUserName: \"tf_example\",\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.Postgresql.PostgresqlFunctions;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetAccountPrivilegesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PostgresqlFunctions.getAccountPrivileges(GetAccountPrivilegesArgs.builder()\n .databaseObjectSets(GetAccountPrivilegesDatabaseObjectSetArgs.builder()\n .objectName(\"postgres\")\n .objectType(\"database\")\n .build())\n .dbInstanceId(\"postgres-3hk6b6tj\")\n .userName(\"tf_example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Postgresql:getAccountPrivileges\n Arguments:\n databaseObjectSets:\n - objectName: postgres\n objectType: database\n dbInstanceId: postgres-3hk6b6tj\n userName: tf_example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getGroups.\n", + "description": "A collection of arguments for invoking getAccountPrivileges.\n", "properties": { - "name": { - "type": "string", - "description": "Name of the placement group to be queried.\n" + "databaseObjectSets": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getAccountPrivilegesDatabaseObjectSet:getAccountPrivilegesDatabaseObjectSet" + }, + "description": "Instance database object info.\n" }, - "placementGroupId": { + "dbInstanceId": { "type": "string", - "description": "ID of the placement group to be queried.\n" + "description": "Instance ID.\n" }, "resultOutputFile": { "type": "string", "description": "Used to save results.\n" + }, + "userName": { + "type": "string", + "description": "Instance username.\n" } }, - "type": "object" + "type": "object", + "required": [ + "databaseObjectSets", + "dbInstanceId", + "userName" + ] }, "outputs": { - "description": "A collection of values returned by getGroups.\n", + "description": "A collection of values returned by getAccountPrivileges.\n", "properties": { - "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", - "type": "string" + "databaseObjectSets": { + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getAccountPrivilegesDatabaseObjectSet:getAccountPrivilegesDatabaseObjectSet" + }, + "type": "array" }, - "name": { - "description": "Name of the placement group.\n", + "dbInstanceId": { "type": "string" }, - "placementGroupId": { - "description": "ID of the placement group.\n", + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, - "placementGroupLists": { - "description": "An information list of placement group. Each element contains the following attributes:\n", + "privilegeSets": { + "description": "Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained.\n", "items": { - "$ref": "#/types/tencentcloud:Placement/getGroupsPlacementGroupList:getGroupsPlacementGroupList" + "$ref": "#/types/tencentcloud:Postgresql/getAccountPrivilegesPrivilegeSet:getAccountPrivilegesPrivilegeSet" }, "type": "array" }, "resultOutputFile": { "type": "string" + }, + "userName": { + "type": "string" } }, "required": [ - "placementGroupLists", + "databaseObjectSets", + "dbInstanceId", + "privilegeSets", + "userName", "id" ], "type": "object" @@ -259696,6 +268236,56 @@ "type": "object" } }, + "tencentcloud:Postgresql/getDedicatedClusters:getDedicatedClusters": { + "description": "Use this data source to query detailed information of Postgresql dedicated clusters\n\n## Example Usage\n\n### Query all instances\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Postgresql.getDedicatedClusters({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Postgresql.get_dedicated_clusters()\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 example = Tencentcloud.Postgresql.GetDedicatedClusters.Invoke();\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.GetDedicatedClusters(ctx, nil, 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.Postgresql.PostgresqlFunctions;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetDedicatedClustersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PostgresqlFunctions.getDedicatedClusters();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Postgresql:getDedicatedClusters\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query instances by filters\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = tencentcloud.Postgresql.getDedicatedClusters({\n filters: [{\n name: \"dedicated-cluster-id\",\n values: [\"cluster-262n63e8\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nexample = tencentcloud.Postgresql.get_dedicated_clusters(filters=[tencentcloud.postgresql.GetDedicatedClustersFilterArgs(\n name=\"dedicated-cluster-id\",\n values=[\"cluster-262n63e8\"],\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 example = Tencentcloud.Postgresql.GetDedicatedClusters.Invoke(new()\n {\n Filters = new[]\n {\n new Tencentcloud.Postgresql.Inputs.GetDedicatedClustersFilterInputArgs\n {\n Name = \"dedicated-cluster-id\",\n Values = new[]\n {\n \"cluster-262n63e8\",\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/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Postgresql.GetDedicatedClusters(ctx, \u0026postgresql.GetDedicatedClustersArgs{\n\t\t\tFilters: []postgresql.GetDedicatedClustersFilter{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.StringRef(\"dedicated-cluster-id\"),\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"cluster-262n63e8\",\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.Postgresql.PostgresqlFunctions;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetDedicatedClustersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = PostgresqlFunctions.getDedicatedClusters(GetDedicatedClustersArgs.builder()\n .filters(GetDedicatedClustersFilterArgs.builder()\n .name(\"dedicated-cluster-id\")\n .values(\"cluster-262n63e8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: tencentcloud:Postgresql:getDedicatedClusters\n Arguments:\n filters:\n - name: dedicated-cluster-id\n values:\n - cluster-262n63e8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getDedicatedClusters.\n", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getDedicatedClustersFilter:getDedicatedClustersFilter" + }, + "description": "Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getDedicatedClusters.\n", + "properties": { + "dedicatedClusterSets": { + "description": "Dedicated cluster set info.\n", + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getDedicatedClustersDedicatedClusterSet:getDedicatedClustersDedicatedClusterSet" + }, + "type": "array" + }, + "filters": { + "items": { + "$ref": "#/types/tencentcloud:Postgresql/getDedicatedClustersFilter:getDedicatedClustersFilter" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "dedicatedClusterSets", + "id" + ], + "type": "object" + } + }, "tencentcloud:Postgresql/getDefaultParameters:getDefaultParameters": { "description": "Use this data source to query detailed information of postgresql default_parameters\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 defaultParameters = tencentcloud.Postgresql.getDefaultParameters({\n dbEngine: \"postgresql\",\n dbMajorVersion: \"13\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ndefault_parameters = tencentcloud.Postgresql.get_default_parameters(db_engine=\"postgresql\",\n db_major_version=\"13\")\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 defaultParameters = Tencentcloud.Postgresql.GetDefaultParameters.Invoke(new()\n {\n DbEngine = \"postgresql\",\n DbMajorVersion = \"13\",\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.GetDefaultParameters(ctx, \u0026postgresql.GetDefaultParametersArgs{\n\t\t\tDbEngine: \"postgresql\",\n\t\t\tDbMajorVersion: \"13\",\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.Postgresql.PostgresqlFunctions;\nimport com.pulumi.tencentcloud.Postgresql.inputs.GetDefaultParametersArgs;\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 defaultParameters = PostgresqlFunctions.getDefaultParameters(GetDefaultParametersArgs.builder()\n .dbEngine(\"postgresql\")\n .dbMajorVersion(\"13\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n defaultParameters:\n fn::invoke:\n Function: tencentcloud:Postgresql:getDefaultParameters\n Arguments:\n dbEngine: postgresql\n dbMajorVersion: '13'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -260811,6 +269401,113 @@ "type": "object" } }, + "tencentcloud:Redis/getClusters:getClusters": { + "description": "Use this data source to query detailed information of redis clusters\n\n## Example Usage\n\n### Query all instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst clusters = tencentcloud.Redis.getClusters({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nclusters = tencentcloud.Redis.get_clusters()\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 clusters = Tencentcloud.Redis.GetClusters.Invoke();\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/Redis\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Redis.GetClusters(ctx, nil, 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.Redis.RedisFunctions;\nimport com.pulumi.tencentcloud.Redis.inputs.GetClustersArgs;\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 clusters = RedisFunctions.getClusters();\n\n }\n}\n```\n```yaml\nvariables:\n clusters:\n fn::invoke:\n Function: tencentcloud:Redis:getClusters\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Also Support the following query conditions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst clusters = tencentcloud.Redis.getClusters({\n autoRenewFlags: [\n 0,\n 1,\n 2,\n ],\n clusterName: \"crs-cdc-9nyfki8h\",\n dedicatedClusterId: \"cluster-0astoh6a\",\n projectIds: [\n 0,\n 1,\n ],\n redisClusterIds: [\"crs-cdc-9nyfki8h\"],\n statuses: [\n 0,\n 1,\n 2,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nclusters = tencentcloud.Redis.get_clusters(auto_renew_flags=[\n 0,\n 1,\n 2,\n ],\n cluster_name=\"crs-cdc-9nyfki8h\",\n dedicated_cluster_id=\"cluster-0astoh6a\",\n project_ids=[\n 0,\n 1,\n ],\n redis_cluster_ids=[\"crs-cdc-9nyfki8h\"],\n statuses=[\n 0,\n 1,\n 2,\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 clusters = Tencentcloud.Redis.GetClusters.Invoke(new()\n {\n AutoRenewFlags = new[]\n {\n 0,\n 1,\n 2,\n },\n ClusterName = \"crs-cdc-9nyfki8h\",\n DedicatedClusterId = \"cluster-0astoh6a\",\n ProjectIds = new[]\n {\n 0,\n 1,\n },\n RedisClusterIds = new[]\n {\n \"crs-cdc-9nyfki8h\",\n },\n Statuses = new[]\n {\n 0,\n 1,\n 2,\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/Redis\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := Redis.GetClusters(ctx, \u0026redis.GetClustersArgs{\nAutoRenewFlags: interface{}{\n0,\n1,\n2,\n},\nClusterName: pulumi.StringRef(\"crs-cdc-9nyfki8h\"),\nDedicatedClusterId: pulumi.StringRef(\"cluster-0astoh6a\"),\nProjectIds: interface{}{\n0,\n1,\n},\nRedisClusterIds: []string{\n\"crs-cdc-9nyfki8h\",\n},\nStatuses: interface{}{\n0,\n1,\n2,\n},\n}, nil);\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tencentcloud.Redis.RedisFunctions;\nimport com.pulumi.tencentcloud.Redis.inputs.GetClustersArgs;\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 clusters = RedisFunctions.getClusters(GetClustersArgs.builder()\n .autoRenewFlags( \n 0,\n 1,\n 2)\n .clusterName(\"crs-cdc-9nyfki8h\")\n .dedicatedClusterId(\"cluster-0astoh6a\")\n .projectIds( \n 0,\n 1)\n .redisClusterIds(\"crs-cdc-9nyfki8h\")\n .statuses( \n 0,\n 1,\n 2)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n clusters:\n fn::invoke:\n Function: tencentcloud:Redis:getClusters\n Arguments:\n autoRenewFlags:\n - 0\n - 1\n - 2\n clusterName: crs-cdc-9nyfki8h\n dedicatedClusterId: cluster-0astoh6a\n projectIds:\n - 0\n - 1\n redisClusterIds:\n - crs-cdc-9nyfki8h\n statuses:\n - 0\n - 1\n - 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getClusters.\n", + "properties": { + "autoRenewFlags": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed.\n" + }, + "clusterName": { + "type": "string", + "description": "Cluster name.\n" + }, + "dedicatedClusterId": { + "type": "string", + "description": "Dedicated cluster Id.\n" + }, + "projectIds": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Project Ids.\n" + }, + "redisClusterIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Redis Cluster Ids.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + }, + "statuses": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "Cluster status: 1- In process, 2- Running, 3- Isolated.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getClusters.\n", + "properties": { + "autoRenewFlags": { + "description": "Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed.\n", + "items": { + "type": "integer" + }, + "type": "array" + }, + "clusterName": { + "description": "Cluster name.\n", + "type": "string" + }, + "dedicatedClusterId": { + "description": "Dedicated cluster Id.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "projectIds": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "redisClusterIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resources": { + "description": ".\n", + "items": { + "$ref": "#/types/tencentcloud:Redis/getClustersResource:getClustersResource" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + }, + "statuses": { + "description": "Cluster status: 1- In process, 2- Running, 3- Isolated.\n", + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "resources", + "id" + ], + "type": "object" + } + }, "tencentcloud:Redis/getInstanceNodeInfo:getInstanceNodeInfo": { "description": "Use this data source to query detailed information of redis instance_node_info\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 instanceNodeInfo = tencentcloud.Redis.getInstanceNodeInfo({\n instanceId: \"crs-c1nl9rpv\",\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ninstance_node_info = tencentcloud.Redis.get_instance_node_info(instance_id=\"crs-c1nl9rpv\")\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 instanceNodeInfo = Tencentcloud.Redis.GetInstanceNodeInfo.Invoke(new()\n {\n InstanceId = \"crs-c1nl9rpv\",\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/Redis\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Redis.GetInstanceNodeInfo(ctx, \u0026redis.GetInstanceNodeInfoArgs{\n\t\t\tInstanceId: \"crs-c1nl9rpv\",\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.Redis.RedisFunctions;\nimport com.pulumi.tencentcloud.Redis.inputs.GetInstanceNodeInfoArgs;\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 instanceNodeInfo = RedisFunctions.getInstanceNodeInfo(GetInstanceNodeInfoArgs.builder()\n .instanceId(\"crs-c1nl9rpv\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n instanceNodeInfo:\n fn::invoke:\n Function: tencentcloud:Redis:getInstanceNodeInfo\n Arguments:\n instanceId: crs-c1nl9rpv\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -277227,7 +285924,7 @@ } }, "tencentcloud:Vpc/getSubnets:getSubnets": { - "description": "Use this data source to query vpc subnets information.\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 foo = new tencentcloud.vpc.Instance(\"foo\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: foo.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n tags: {\n test: \"test\",\n },\n});\nconst idInstances = tencentcloud.Vpc.getSubnetsOutput({\n subnetId: subnet.id,\n});\nconst nameInstances = tencentcloud.Vpc.getSubnetsOutput({\n name: subnet.name,\n});\nconst tagsInstances = subnet.tags.apply(tags =\u003e tencentcloud.Vpc.getSubnetsOutput({\n tags: tags,\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\"\nfoo = tencentcloud.vpc.Instance(\"foo\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=foo.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False,\n tags={\n \"test\": \"test\",\n })\nid_instances = tencentcloud.Vpc.get_subnets_output(subnet_id=subnet.id)\nname_instances = tencentcloud.Vpc.get_subnets_output(name=subnet.name)\ntags_instances = subnet.tags.apply(lambda tags: tencentcloud.Vpc.get_subnets_output(tags=tags))\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 foo = new Tencentcloud.Vpc.Instance(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = foo.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var idInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n SubnetId = subnet.Id,\n });\n\n var nameInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n Name = subnet.Name,\n });\n\n var tagsInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n Tags = subnet.Tags,\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/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\tfoo, err := Vpc.NewInstance(ctx, \"foo\", \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\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\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\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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\t_ = Vpc.GetSubnetsOutput(ctx, vpc.GetSubnetsOutputArgs{\n\t\t\tSubnetId: subnet.ID(),\n\t\t}, nil)\n\t\t_ = Vpc.GetSubnetsOutput(ctx, vpc.GetSubnetsOutputArgs{\n\t\t\tName: subnet.Name,\n\t\t}, nil)\n\t\t_ = subnet.Tags.ApplyT(func(tags interface{}) (vpc.GetSubnetsResult, error) {\n\t\t\treturn Vpc.GetSubnetsOutput(ctx, vpc.GetSubnetsOutputArgs{\n\t\t\t\tTags: tags,\n\t\t\t}, nil), nil\n\t\t}).(vpc.GetSubnetsResultOutput)\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.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-3\");\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(foo.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .tags(Map.of(\"test\", \"test\"))\n .build());\n\n final var idInstances = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .subnetId(subnet.id())\n .build());\n\n final var nameInstances = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .name(subnet.name())\n .build());\n\n final var tagsInstances = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .tags(subnet.tags())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\nresources:\n foo:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${foo.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n tags:\n test: test\nvariables:\n idInstances:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n subnetId: ${subnet.id}\n nameInstances:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n name: ${subnet.name}\n tagsInstances:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n tags: ${subnet.tags}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Use this data source to query vpc subnets information.\n\n## Example Usage\n\n### Create subnet resource\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 = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\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 tags: {\n test: \"test\",\n },\n});\nconst subnetCDC = new tencentcloud.subnet.Instance(\"subnetCDC\", {\n vpcId: vpc.id,\n cidrBlock: \"10.0.0.0/16\",\n cdcId: \"cluster-lchwgxhs\",\n availabilityZone: data.tencentcloud_availability_zones.zones.zones[0].name,\n isMulticast: false,\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 = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\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 tags={\n \"test\": \"test\",\n })\nsubnet_cdc = tencentcloud.subnet.Instance(\"subnetCDC\",\n vpc_id=vpc.id,\n cidr_block=\"10.0.0.0/16\",\n cdc_id=\"cluster-lchwgxhs\",\n availability_zone=data[\"tencentcloud_availability_zones\"][\"zones\"][\"zones\"][0][\"name\"],\n is_multicast=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 config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\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 Tags = \n {\n { \"test\", \"test\" },\n },\n });\n\n var subnetCDC = new Tencentcloud.Subnet.Instance(\"subnetCDC\", new()\n {\n VpcId = vpc.Id,\n CidrBlock = \"10.0.0.0/16\",\n CdcId = \"cluster-lchwgxhs\",\n AvailabilityZone = data.Tencentcloud_availability_zones.Zones.Zones[0].Name,\n IsMulticast = 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/pulumi/pulumi/sdk/v3/go/pulumi/config\"\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\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_, 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\tTags: pulumi.Map{\n\t\t\t\t\"test\": 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\t_, err = Subnet.NewInstance(ctx, \"subnetCDC\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tCdcId: pulumi.String(\"cluster-lchwgxhs\"),\n\t\t\tAvailabilityZone: pulumi.Any(data.Tencentcloud_availability_zones.Zones.Zones[0].Name),\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\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 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 var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\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 .tags(Map.of(\"test\", \"test\"))\n .build());\n\n var subnetCDC = new Instance(\"subnetCDC\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .cidrBlock(\"10.0.0.0/16\")\n .cdcId(\"cluster-lchwgxhs\")\n .availabilityZone(data.tencentcloud_availability_zones().zones().zones()[0].name())\n .isMulticast(false)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\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 tags:\n test: test\n subnetCDC:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n cidrBlock: 10.0.0.0/16\n cdcId: cluster-lchwgxhs\n availabilityZone: ${data.tencentcloud_availability_zones.zones.zones[0].name}\n isMulticast: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Query all subnets\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst subnets = tencentcloud.Vpc.getSubnets({});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nsubnets = tencentcloud.Vpc.get_subnets()\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 subnets = Tencentcloud.Vpc.GetSubnets.Invoke();\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/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vpc.GetSubnets(ctx, nil, 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.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var subnets = VpcFunctions.getSubnets();\n\n }\n}\n```\n```yaml\nvariables:\n subnets:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", "inputs": { "description": "A collection of arguments for invoking getSubnets.\n", "properties": { @@ -277235,6 +285932,10 @@ "type": "string", "description": "Zone of the subnet to be queried.\n" }, + "cdcId": { + "type": "string", + "description": "ID of CDC instance.\n" + }, "cidrBlock": { "type": "string", "description": "Filter subnet with this CIDR.\n" @@ -277284,6 +285985,10 @@ "description": "The availability zone of the subnet.\n", "type": "string" }, + "cdcId": { + "description": "ID of CDC instance.\n", + "type": "string" + }, "cidrBlock": { "description": "A network address block of the subnet.\n", "type": "string" diff --git a/provider/go.mod b/provider/go.mod index c03537015..9ca5d4ae3 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.106 + github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.128 ) require ( @@ -80,6 +80,7 @@ require ( github.com/emirpasic/gods v1.18.1 // indirect github.com/ettle/strcase v0.1.1 // indirect github.com/fatih/color v1.16.0 // indirect + github.com/frankban/quicktest v1.14.4 // indirect github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect @@ -211,29 +212,32 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/api v1.0.285 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.756 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.998 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.0.760 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.1010 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.841 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 // indirect 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/clb v1.0.984 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 // 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/cls v1.0.970 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1012 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 // 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/cvm v1.0.960 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.798 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dbbrain v1.0.652 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.633 // indirect @@ -243,9 +247,9 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/domain v1.0.414 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dts v1.0.628 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/eb v1.0.760 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.811 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.1004 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.777 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.771 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.970 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.729 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777 // indirect @@ -254,11 +258,11 @@ require ( 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 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.910 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.873 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1008 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.859 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.657 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.1008 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/region v1.0.920 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/rum v1.0.744 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.807 // indirect @@ -274,15 +278,16 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcm v1.0.547 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdcpg v1.0.533 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.932 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.955 // 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.921 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/thpc v1.0.998 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1008 // 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 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.845 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1012 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.833 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 // indirect diff --git a/provider/go.sum b/provider/go.sum index 2cf4b8903..ab220b445 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1761,8 +1761,8 @@ github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2 github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= @@ -2970,8 +2970,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763 h1: github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763/go.mod h1:OlRreot089Ec7bEYMUovUBSuCD/x0D0ONPZ0g3YA5hg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825 h1:yiC2lsZ3nNsZ/6Vm7FKFEkAJ37sqzIfmdL7DY0LouMc= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825/go.mod h1:6qtSa8OZKwJOWoOCYWVZd6+T62O96AxbPll0I43d4yw= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.756 h1:dx4aBdOWIqAUDQw9A6lU10EAaLpLwI2WRPVbuQgxzck= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.756/go.mod h1:lwWeh6aHg6GlttTMp+VIVtpZOtmpP6DQnnYWpyYW37Y= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.998 h1:UzDdo1BwE9AiYWVfzbpphiWRN2WMd45kycNcNbKMq+8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.998/go.mod h1:66+/Rwk5UUl8KkNYpiYjWHaP6SM9PVuJ8JvD9QljCxg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824 h1:DVKvZ6h+qd7tadUrCjVAkCCmE3TsbK2ZmwGd3AJcpWc= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824/go.mod h1:DvBpDX/qdJG4KKLeULmRvhAjPYiw8za0HeTSu2y/lFw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.0.760 h1:Ky9dRsTL2HXKWUrTFpQFZWQ1TrM+o+P35kczR7thalo= @@ -2980,12 +2980,16 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825 h1:TgO9L1y github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825/go.mod h1:1yCKeIioX4D0bcIDHs3JCS5lbyzndXh1E8wHyHaCjxY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591 h1:TPGLjH6wqkA5Iirl6xCxFkWwrtCZ8ZmeF7ASzqUbsZA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591/go.mod h1:nCAGfVTXZkVnurkbjF3b0FM6RwGztE9t8D9Ms1unaKo= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800 h1:VnnmCIaAXU7t0uwNtaLs990V7+V7/7viMpOytOT6GOE= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800/go.mod h1:8wiecMvcwN6785rTWLJmdm/Y7u1DjFmqI/iqiWwpm5o= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 h1:0L6nZhT2bToTc/n1z3HOpNgdu5VX5ulmqIuPY+8UozA= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539/go.mod h1:6Syk7W5fdDf0BLvX+RXL5obQ6unkt3Id4aN2QqVrV6U= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944 h1:+PGoNHlZE/WY6KWWNOByL0sYVv1ZJtSx7yXMUJNYV1Y= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944/go.mod h1:+VHcZ4Cnzpt6vtCvNROz8xWfNWUkoAZ9UPSonbA3NWM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970 h1:0A6PwOaUeLtm4U5TR1uD91ETBgDcnfqFnsG9mwCNvlY= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970/go.mod h1:H4k8QCKds731GA9pmSOfHJ99ZOZhy+gKvX1/N2DOsQQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.1010 h1:sO0vW6E09xFQ5+I8mfvAyIlRZvWBWPf6ilZU5LI4lmE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.1010/go.mod h1:/UDEkf2UhUud19VVMGMTpyiI7HoE3U/c23uoAqDgIWA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 h1:3Xr3UPscUfi5jAzCtwQjDfDf4TPsbUxsCrDdHo6xIRI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843/go.mod h1:XTZXr3hF0pPTd3jD/vm90FhJEOvILL3d2u43Q52xZX8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993 h1:b4EFXmAFslKvrFLogWXNQCAVDKG1/IZsR/L4sDmEbr8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993/go.mod h1:uH80xTlhZC7HR4OjsUo/ZgD5h5MYo45WyW/msUFkXqU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772 h1:tn8b0VAqKV4cglYrubtwONiHfXhoyZSmYMmgL/oX/RU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772/go.mod h1:vkWjnf7Qvtesn0efpiaVj5mIQsQhomkA2keE2yskfmg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627 h1:nChNdoCUWQZciiJj3gRCWoHBO/8LituLQOdCRREIrS4= @@ -2998,30 +3002,27 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 h1:FGwsF1 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695/go.mod h1:HAasVoWz8ed6kAg7Q/DTg+8uZXiOgW7lmJeAGGrquEQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748 h1:rVvRHow8cFGJFT31sk3cEVW17a9OewHWhC1acUGNg7c= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748/go.mod h1:nvb4W+PgsAe8NFG1ZevZa9ZLfto3aeBcJqxzYCRI9V4= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.860 h1:P2TPFCB1oyJ6yOTgFDBdKByepog3iMg2fIUN/VHo9EM= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.860/go.mod h1:eTGN2Qz4NxaYl+CwMpcj4vNImNOr74NC8WTCLSJN8Ks= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984 h1:uvDvC8ip75yBSUiCOIu4dGv10AKkH7M3qnmOShLZZPQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984/go.mod h1:mqn4vGnC39CHBaniEgnGQqSoVXBnIH8F+O1F5KXhbec= 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.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/cls v1.0.970 h1:PfyFPicGDDDc23id+sXh5vF0sbFpCPulzgLhqqVdp9M= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970/go.mod h1:VVMyTwJWyP+XVS9OK1y4tJV4XMXZgnKHl+Fg8r0Jf1Q= 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= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.533/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.539/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.544/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.547/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.563/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.578/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.591/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.600/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.624/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.627/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.628/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.633/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.634/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.652/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.657/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.672/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.673/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.674/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= @@ -3032,20 +3033,15 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.696/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.729/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.744/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.748/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.756/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.760/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.762/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.763/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.771/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.772/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.777/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.792/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.797/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.798/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.799/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.800/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.807/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.811/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.816/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= 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= @@ -3055,31 +3051,38 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.841/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.843/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.844/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.845/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.853/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.857/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.859/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.860/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -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.920/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -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.944/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/common v1.0.955/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.960/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.970/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.984/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.993/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.998/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1004/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1008/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1010/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1012 h1:OoaOmkAWsCfP8CZ2RUkwYtFciN1sJBcp6FmQJf0WGSY= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1012/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY= 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= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.960 h1:Tpz3KVUfaJ7b98wQDYZSbmoKIn0hlH0oHPOzWMzE5Q8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.960/go.mod h1:BuUugHS9C2Nz9JrAPwrxLQjFhUc7xCy+UE4TbBM0OLo= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 h1:2egy69SP/wPsmnfozcQVZ6tUY6F6N/TpEe/7xtXrc/8= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762/go.mod h1:1XylIfNUbAzmNqi4XMhwcM3VhmUHdu1OYybOeaJ4sOw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692 h1:lD44AqXCzkraZiCeMjL7dZmvuyurpyQRKwPHA6Ux5To= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692/go.mod h1:nH1mCLxOm21eqEYORMJ5pifOfHoupCIx8YwMOu9YW2c= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.798 h1:8FQbCEPIL0dL+sTdQBZxqqwdLxmJEfkyu17w6r7ZrQg= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.798/go.mod h1:ch3pOoPfIs0i+l8qV5yO+Tpk45ubgdltYF/0MfDk4YA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970 h1:qVIRHgG1twsqF4aVN/x2T2yMRfPpsZBTNefDkqzM06M= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dasb v1.0.970/go.mod h1:NJuuQD4z6vcnsZnC7Tvz2U9hElNS1wroc34UQbZvP2U= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 h1:D8qrelkK5udv8RzJJIABMzItGIyaZoYnxEVeIsYqiNw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335/go.mod h1:pz4s3nOhoB9cY0+uWzifuwr7lfh/Gvi1rv0ADxpPzD4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dbbrain v1.0.652 h1:agjXNi5342DaL0TzRx1FjFlT+9VU2l6aN0yERmxiLLc= @@ -3098,12 +3101,12 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dts v1.0.628 h1:cnhe9uh github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dts v1.0.628/go.mod h1:JxTXEld643DHk5HeQe4xIvuuoxsCmbTjgmE64Mtrdxw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/eb v1.0.760 h1:IKP2LFgJwbnP4IyQQw0k2gdVrd8H8e8X8TL/cIuCHEk= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/eb v1.0.760/go.mod h1:pSQXTeuC6BahiUIfssVqvL1/BoXccLkyD7nJ+tKgygw= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.811 h1:/HojA6v+3M4qrAqd+UcYsud8OUVsEsjB1zDCjM+X+cs= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.811/go.mod h1:CRgsaEYMxEclRWGX/qPIsJzSanv1cNyhQTeqZc/2CKQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.1004 h1:PbKCgIXZSwX0eraNZGG+AqVjgLZwW/C+up/6mL9FP3o= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/emr v1.0.1004/go.mod h1:6H1XZ2TIVV6VHdjkdQQl611NsIJkeTqugZ1jaUfPop4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.777 h1:G1eX/DkiznhSjNVF97BAQyycFXOiPHxeTxgOadp5J/o= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.777/go.mod h1:ehbc9eaNknF/VU/kPTFLZbIUmkL06vQ/JYydu6yeXp4= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.771 h1:hdd41TtqgVqdsq68NMEWTKRvJLRPN+Jae9kNvExvRdw= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.771/go.mod h1:SzBYz5GyZvZlBHLhKKQ7X/1YaJu73ehlJRx4WK/V7hQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.970 h1:Z82LbcEnE2m4CGvcOY024N7REhAN++xdEyE88HG2YBA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.970/go.mod h1:qnOT3rycGxlNy4/gmprV58Uqd9CKLUr2CL235R1AvuQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563 h1:FoX+MK4vHThvPO6FbP5q98zD8S3n+d5+DbtK7skl++c= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563/go.mod h1:uom4Nvi9W+Qkom0exYiJ9VWJjXwyxtPYTkKkaLMlfE0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.729 h1:WQpzm3x27Jo/5uh6/Yqe/gbJ7r2ui9hc9ST7Ml2eP9Y= @@ -3120,16 +3123,16 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 h1:abGpWsA github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853/go.mod h1:xIprIT+IW+3Fj05GCWmgvxJOhICqFGoW4Ef77cDD2JQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831 h1:oyazF5wgAgoinGo/SDGfUReE3JFxqcpI6/pstWhK7yE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831/go.mod h1:2WuTlTnKCnZoa6l0JxY9GNfo0UG6nU7AEsljF8rMMsM= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.910 h1:KQJSiP2zV2VP4brIqSGGvx/3uoJ2Y3X5S5RsqjR77Ag= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.910/go.mod h1:9cT5rPLn6J+M5Gt5eS6NrgJnqsAcQjimu4JMS76UORQ= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.873 h1:kqNFHpILFWPbOUAUrH1i6+IfkLWWEAZLYfj9RZ0WM+0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.873/go.mod h1:Mjkr/911Pw0VopTfXt5zt46TnV3IrX01mvjZ66RsRRg= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1008 h1:bdUSSq3Y7OWZgrTBxhd7hvolu01zACD5GYdK/YePH/Q= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1008/go.mod h1:wyPjTCtmxGUaR99fm3V4Fh53zi/oTy55l0+ZSQhsOog= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 h1:lx554ZfB++mge+/Gk7LnDUI5Dwm9r+DgGNN9C/DqhE4= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010/go.mod h1:GGhAf2ehV2/jwKf3Sezr2x/soJ3nDuefJFlcoZnlflA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.859 h1:VrE3qzwzWB5mV/ejTJuwZbqZ/CNYLoc8X+uFbWEEOnY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.859/go.mod h1:FeOl14rPWpNEu6r4bPEsTNHIB9qaRTg0dRhxhRwQ5Hw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762 h1:rZDKucVVtTnmnbZFDyh6t47dHswkb2oSuOxOHTTkygA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762/go.mod h1:QB/XcdVZ8mhRgk90XuXd+2Smfo8emTo0wHIUsygEaKs= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.657 h1:9p/4/qXtnBIYkz5b5mYAhp1XhnIn5jUkxxfllF8hMMM= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.657/go.mod h1:CPc7SSKl8I21UmhTf2AVYZqZfy8MbDr/RrMsSqMkOAM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.1008 h1:Mo0njOK81dsBe6FBOieaGeHAVpo/PsYzDTeHovc57bA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.1008/go.mod h1:wzdd7XxZHtuLTxGrWDvFJEX9ES6u17whFbn9Zz/WpKg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/region v1.0.920 h1:Kaab57oHrhiagHURsTNU/XfRFWXXSWxOXoix+YvLHrY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/region v1.0.920/go.mod h1:AhvwfhTo0JOz2FG4FcmVVdxJ73NpPAQ7rzjjWoEYFOw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/rum v1.0.744 h1:Z6xqpgnVPQfw2Yx/c2z6n30LfNodK4JEgMca1WpfOrY= @@ -3160,14 +3163,16 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696 h1:hTfJtxk github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr v1.0.696/go.mod h1:DgY9Kgh9093fBl2M/vEFGJZwytDIrPQlYoxoT4rE7O0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdcpg v1.0.533 h1:r6HQhmHzPp1oSGhwkNzUzIRlpnpb8Jhtcn1yKhg9ml4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdcpg v1.0.533/go.mod h1:5sIIchyV9sXIVAqsD3UWts+qQJ0qoc55sL2WuiY8Ugs= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.932 h1:qBMRApryLiQOJ91xEybn3fb6zkWfa9sp8Tdult5Y1vY= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.932/go.mod h1:k2QG6A7u458viC4nZGM0Z0FNzKqQSJKgfqtxeqkqBDQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.955 h1:bi7brFndAL9I2k+g0d6O0pk/FUPDXI1gfq9jKIBItkU= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.955/go.mod h1:somZaVT0k2Egv/VPHLRU+McOkGUo6pagucyRrsLjpfI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578 h1:vBpQhUroO+FAslUmsDWGi8nvczsqZBWVgQwlnyT0Aj8= 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.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/thpc v1.0.998 h1:f4/n0dVKQTD06xJ84B5asHViNJHrZmGojdAWEPIsITM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/thpc v1.0.998/go.mod h1:fyi/HUwCwVe2NCCCjz8k/C5GwPu3QazCZO+OBJ3MhLk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1008 h1:Cz7JSuS2zxIBzAuZ2bKk3EmrZ1QgS2QAHmCDTDPWBz0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.1008/go.mod h1:71PkDdVPT2Pd8yiuX6QFUDReTji39R/03dg1JwcjHWo= 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= @@ -3176,16 +3181,16 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 h1:VsMV1/v github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674/go.mod h1:6+MWxaNR4y+spZHYNntulOyj628owTLuWmEFebJOWdA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860 h1:vW2NgAHK4BfpZP3m92eUEKbIP+nu9bL8mnaM0dBHWM8= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860/go.mod h1:uCkDh/AW/tb8JGq5b2kqLjqZuhCFR+6oTsq1SrrvT44= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.845 h1:c9TSh+kuEwxAuPndCMI7QeERfY/XWkZWRniFI1Gak60= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.845/go.mod h1:sz+RI5GLDNIQMKJAR2N93fyxFv/FQo322xq/iAg2Z/g= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1012 h1:IhGgNm/IGnKC2j8VjyuAQrtDWyGHkUMx7xrlH6tVMvI= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1012/go.mod h1:RPMrfKw2AF/7VpNf2IlGJA5ieB7DK9E+5JHFulNAtxI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.833 h1:avaBlZ+Qqv7bfMg/u0jlRsbEBbE18CfqKWbfGc84PLg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.833/go.mod h1:fUWG217b//46Oa3VXxC5mgeYeewVAbF+lc81uET89EM= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 h1:NLgKNOIHWa38AmW7dyfI9Jlcp2Kr9VRD94f48pPNmxM= 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.106 h1:cTCMXsXZKlZNzeiRLKMGLBE4qXDCc55ZHneiNQ54Xg8= -github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.106/go.mod h1:FEkTMaukDWuPyZyurJpXj2sFDCT1LfnZqWt6OWwWz8c= +github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.128 h1:Cjv5QXC3RgwJfYl4PT8b2FObeUJkKn/nXdCsONf53Yg= +github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.128/go.mod h1:un+qatizS0h1uFuUB5nvc6dbRvAHpeT4sApgVBnk9e8= 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/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 15b9db9ad..bdb09a0d9 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -39,6 +39,41 @@ public static TencentCloudIAC.PulumiPackage.Tencentcloud.Config.Types.AssumeRole set => _assumeRole.Set(value); } + private static readonly __Value _assumeRoleWithSaml = new __Value(() => __config.GetObject("assumeRoleWithSaml")); + public static TencentCloudIAC.PulumiPackage.Tencentcloud.Config.Types.AssumeRoleWithSaml? AssumeRoleWithSaml + { + get => _assumeRoleWithSaml.Get(); + set => _assumeRoleWithSaml.Set(value); + } + + private static readonly __Value _assumeRoleWithWebIdentity = new __Value(() => __config.GetObject("assumeRoleWithWebIdentity")); + public static TencentCloudIAC.PulumiPackage.Tencentcloud.Config.Types.AssumeRoleWithWebIdentity? AssumeRoleWithWebIdentity + { + get => _assumeRoleWithWebIdentity.Get(); + set => _assumeRoleWithWebIdentity.Set(value); + } + + private static readonly __Value _camRoleName = new __Value(() => __config.Get("camRoleName")); + /// + /// The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + /// + public static string? CamRoleName + { + get => _camRoleName.Get(); + set => _camRoleName.Set(value); + } + + private static readonly __Value _cosDomain = new __Value(() => __config.Get("cosDomain")); + /// + /// The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + /// `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + /// + public static string? CosDomain + { + get => _cosDomain.Get(); + set => _cosDomain.Set(value); + } + private static readonly __Value _domain = new __Value(() => __config.Get("domain")); /// /// The root domain of the API request, Default is `tencentcloudapi.com`. @@ -49,6 +84,16 @@ public static string? Domain set => _domain.Set(value); } + private static readonly __Value _enablePodOidc = new __Value(() => __config.GetBoolean("enablePodOidc")); + /// + /// Whether to enable pod oidc. + /// + public static bool? EnablePodOidc + { + get => _enablePodOidc.Get(); + set => _enablePodOidc.Set(value); + } + private static readonly __Value _profile = new __Value(() => __config.Get("profile")); /// /// The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment @@ -72,8 +117,8 @@ public static string? Protocol private static readonly __Value _region = new __Value(() => __config.Get("region") ?? Utilities.GetEnv("TENCENTCLOUD_REGION")); /// - /// This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - /// environment variables. The default input value is ap-guangzhou. + /// This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + /// default input value is ap-guangzhou. /// public static string? Region { @@ -83,8 +128,7 @@ public static string? Region private static readonly __Value _secretId = new __Value(() => __config.Get("secretId") ?? Utilities.GetEnv("TENCENTCLOUD_SECRET_ID")); /// - /// This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - /// environment variable. + /// This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. /// public static string? SecretId { @@ -94,8 +138,7 @@ public static string? SecretId private static readonly __Value _secretKey = new __Value(() => __config.Get("secretKey") ?? Utilities.GetEnv("TENCENTCLOUD_SECRET_KEY")); /// - /// This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - /// environment variable. + /// This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. /// public static string? SecretKey { @@ -148,6 +191,50 @@ public class AssumeRole /// public string SessionName { get; set; } } + + public class AssumeRoleWithSaml + { + /// + /// Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + /// + public string PrincipalArn { get; set; } + /// + /// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + /// + public string RoleArn { get; set; } + /// + /// SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + /// + public string SamlAssertion { get; set; } + /// + /// The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + /// + public int SessionDuration { get; set; } + /// + /// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + /// + public string SessionName { get; set; } + } + + public class AssumeRoleWithWebIdentity + { + /// + /// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + /// + public string RoleArn { get; set; } + /// + /// The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + /// + public int SessionDuration { get; set; } + /// + /// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + /// + public string SessionName { get; set; } + /// + /// OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + /// + public string WebIdentityToken { get; set; } + } } } } diff --git a/sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandArgs.cs b/sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandArgs.cs new file mode 100644 index 000000000..c9960b7d6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandArgs.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.As.Inputs +{ + + public sealed class LifecycleHookLifecycleCommandArgs : global::Pulumi.ResourceArgs + { + /// + /// Remote command ID. It is required to execute a command. + /// + [Input("commandId", required: true)] + public Input CommandId { get; set; } = null!; + + /// + /// Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + /// + [Input("parameters")] + public Input? Parameters { get; set; } + + public LifecycleHookLifecycleCommandArgs() + { + } + public static new LifecycleHookLifecycleCommandArgs Empty => new LifecycleHookLifecycleCommandArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandGetArgs.cs b/sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandGetArgs.cs new file mode 100644 index 000000000..1a5bebeb7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/LifecycleHookLifecycleCommandGetArgs.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.As.Inputs +{ + + public sealed class LifecycleHookLifecycleCommandGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Remote command ID. It is required to execute a command. + /// + [Input("commandId", required: true)] + public Input CommandId { get; set; } = null!; + + /// + /// Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + /// + [Input("parameters")] + public Input? Parameters { get; set; } + + public LifecycleHookLifecycleCommandGetArgs() + { + } + public static new LifecycleHookLifecycleCommandGetArgs Empty => new LifecycleHookLifecycleCommandGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsArgs.cs b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsArgs.cs new file mode 100644 index 000000000..2dd5dfed0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsArgs.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.As.Inputs +{ + + public sealed class StartInstanceRefreshRefreshSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values: <br><li>TRUE: Enable the check.</li> <li>FALSE: Do not enable the check. + /// + [Input("checkInstanceTargetHealth")] + public Input? CheckInstanceTargetHealth { get; set; } + + /// + /// Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("rollingUpdateSettings", required: true)] + public Input RollingUpdateSettings { get; set; } = null!; + + public StartInstanceRefreshRefreshSettingsArgs() + { + } + public static new StartInstanceRefreshRefreshSettingsArgs Empty => new StartInstanceRefreshRefreshSettingsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsGetArgs.cs b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsGetArgs.cs new file mode 100644 index 000000000..2278bdd53 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsGetArgs.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.As.Inputs +{ + + public sealed class StartInstanceRefreshRefreshSettingsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values: <br><li>TRUE: Enable the check.</li> <li>FALSE: Do not enable the check. + /// + [Input("checkInstanceTargetHealth")] + public Input? CheckInstanceTargetHealth { get; set; } + + /// + /// Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("rollingUpdateSettings", required: true)] + public Input RollingUpdateSettings { get; set; } = null!; + + public StartInstanceRefreshRefreshSettingsGetArgs() + { + } + public static new StartInstanceRefreshRefreshSettingsGetArgs Empty => new StartInstanceRefreshRefreshSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs.cs b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs.cs new file mode 100644 index 000000000..36bd92a6e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs.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.As.Inputs +{ + + public sealed class StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + /// + [Input("batchNumber", required: true)] + public Input BatchNumber { get; set; } = null!; + + /// + /// Pause policy between batches. Default value: Automatic. Valid values: <br><li>FIRST_BATCH_PAUSE: Pause after the first batch update completes.</li> <li>BATCH_INTERVAL_PAUSE: Pause between each batch update.</li> <li>AUTOMATIC: No pauses. + /// + [Input("batchPause")] + public Input? BatchPause { get; set; } + + public StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs() + { + } + public static new StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs Empty => new StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs.cs b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs.cs new file mode 100644 index 000000000..1b5798901 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Inputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs.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.As.Inputs +{ + + public sealed class StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + /// + [Input("batchNumber", required: true)] + public Input BatchNumber { get; set; } = null!; + + /// + /// Pause policy between batches. Default value: Automatic. Valid values: <br><li>FIRST_BATCH_PAUSE: Pause after the first batch update completes.</li> <li>BATCH_INTERVAL_PAUSE: Pause between each batch update.</li> <li>AUTOMATIC: No pauses. + /// + [Input("batchPause")] + public Input? BatchPause { get; set; } + + public StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs() + { + } + public static new StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs Empty => new StartInstanceRefreshRefreshSettingsRollingUpdateSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/As/LifecycleHook.cs b/sdk/dotnet/Tencentcloud/As/LifecycleHook.cs index 7a9030334..4d3154f60 100644 --- a/sdk/dotnet/Tencentcloud/As/LifecycleHook.cs +++ b/sdk/dotnet/Tencentcloud/As/LifecycleHook.cs @@ -146,6 +146,42 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.As /// }); /// ``` /// <!--End PulumiCodeChooser --> + /// + /// ### Use TAT Command + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.As.LifecycleHook("example", new() + /// { + /// DefaultResult = "CONTINUE", + /// HeartbeatTimeout = 300, + /// LifecycleHookName = "test", + /// LifecycleTransition = "INSTANCE_TERMINATING", + /// ScalingGroupId = tencentcloud_as_scaling_group.Example.Id, + /// LifecycleCommand = new Tencentcloud.As.Inputs.LifecycleHookLifecycleCommandArgs + /// { + /// CommandId = "cmd-xxxx", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// lifecycle hook can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:As/lifecycleHook:LifecycleHook example lifecycle_hook_id + /// ``` /// [TencentcloudResourceType("tencentcloud:As/lifecycleHook:LifecycleHook")] public partial class LifecycleHook : global::Pulumi.CustomResource @@ -162,6 +198,12 @@ public partial class LifecycleHook : global::Pulumi.CustomResource [Output("heartbeatTimeout")] public Output HeartbeatTimeout { get; private set; } = null!; + /// + /// Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + /// + [Output("lifecycleCommand")] + public Output LifecycleCommand { get; private set; } = null!; + /// /// The name of the lifecycle hook. /// @@ -187,7 +229,7 @@ public partial class LifecycleHook : global::Pulumi.CustomResource public Output NotificationQueueName { get; private set; } = null!; /// - /// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + /// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. /// [Output("notificationTargetType")] public Output NotificationTargetType { get; private set; } = null!; @@ -263,6 +305,12 @@ public sealed class LifecycleHookArgs : global::Pulumi.ResourceArgs [Input("heartbeatTimeout")] public Input? HeartbeatTimeout { get; set; } + /// + /// Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + /// + [Input("lifecycleCommand")] + public Input? LifecycleCommand { get; set; } + /// /// The name of the lifecycle hook. /// @@ -288,7 +336,7 @@ public sealed class LifecycleHookArgs : global::Pulumi.ResourceArgs public Input? NotificationQueueName { get; set; } /// - /// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + /// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. /// [Input("notificationTargetType")] public Input? NotificationTargetType { get; set; } @@ -325,6 +373,12 @@ public sealed class LifecycleHookState : global::Pulumi.ResourceArgs [Input("heartbeatTimeout")] public Input? HeartbeatTimeout { get; set; } + /// + /// Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + /// + [Input("lifecycleCommand")] + public Input? LifecycleCommand { get; set; } + /// /// The name of the lifecycle hook. /// @@ -350,7 +404,7 @@ public sealed class LifecycleHookState : global::Pulumi.ResourceArgs public Input? NotificationQueueName { get; set; } /// - /// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + /// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. /// [Input("notificationTargetType")] public Input? NotificationTargetType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/As/Outputs/GetScalingConfigsConfigurationListResult.cs b/sdk/dotnet/Tencentcloud/As/Outputs/GetScalingConfigsConfigurationListResult.cs index 57ea845c4..7b6072bcb 100644 --- a/sdk/dotnet/Tencentcloud/As/Outputs/GetScalingConfigsConfigurationListResult.cs +++ b/sdk/dotnet/Tencentcloud/As/Outputs/GetScalingConfigsConfigurationListResult.cs @@ -94,6 +94,10 @@ public sealed class GetScalingConfigsConfigurationListResult /// Base64-encoded User Data text. /// public readonly string UserData; + /// + /// Version Number. + /// + public readonly int VersionNumber; [OutputConstructor] private GetScalingConfigsConfigurationListResult( @@ -135,7 +139,9 @@ private GetScalingConfigsConfigurationListResult( string systemDiskType, - string userData) + string userData, + + int versionNumber) { ConfigurationId = configurationId; ConfigurationName = configurationName; @@ -157,6 +163,7 @@ private GetScalingConfigsConfigurationListResult( SystemDiskSize = systemDiskSize; SystemDiskType = systemDiskType; UserData = userData; + VersionNumber = versionNumber; } } } diff --git a/sdk/dotnet/Tencentcloud/As/Outputs/LifecycleHookLifecycleCommand.cs b/sdk/dotnet/Tencentcloud/As/Outputs/LifecycleHookLifecycleCommand.cs new file mode 100644 index 000000000..7a6cc0d64 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Outputs/LifecycleHookLifecycleCommand.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.As.Outputs +{ + + [OutputType] + public sealed class LifecycleHookLifecycleCommand + { + /// + /// Remote command ID. It is required to execute a command. + /// + public readonly string CommandId; + /// + /// Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + /// + public readonly string? Parameters; + + [OutputConstructor] + private LifecycleHookLifecycleCommand( + string commandId, + + string? parameters) + { + CommandId = commandId; + Parameters = parameters; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettings.cs b/sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettings.cs new file mode 100644 index 000000000..a7dd6fcd8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettings.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.As.Outputs +{ + + [OutputType] + public sealed class StartInstanceRefreshRefreshSettings + { + /// + /// Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values: <br><li>TRUE: Enable the check.</li> <li>FALSE: Do not enable the check. + /// + public readonly bool? CheckInstanceTargetHealth; + /// + /// Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly Outputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettings RollingUpdateSettings; + + [OutputConstructor] + private StartInstanceRefreshRefreshSettings( + bool? checkInstanceTargetHealth, + + Outputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettings rollingUpdateSettings) + { + CheckInstanceTargetHealth = checkInstanceTargetHealth; + RollingUpdateSettings = rollingUpdateSettings; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettings.cs b/sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettings.cs new file mode 100644 index 000000000..e2c59e800 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/Outputs/StartInstanceRefreshRefreshSettingsRollingUpdateSettings.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.As.Outputs +{ + + [OutputType] + public sealed class StartInstanceRefreshRefreshSettingsRollingUpdateSettings + { + /// + /// Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + /// + public readonly int BatchNumber; + /// + /// Pause policy between batches. Default value: Automatic. Valid values: <br><li>FIRST_BATCH_PAUSE: Pause after the first batch update completes.</li> <li>BATCH_INTERVAL_PAUSE: Pause between each batch update.</li> <li>AUTOMATIC: No pauses. + /// + public readonly string? BatchPause; + + [OutputConstructor] + private StartInstanceRefreshRefreshSettingsRollingUpdateSettings( + int batchNumber, + + string? batchPause) + { + BatchNumber = batchNumber; + BatchPause = batchPause; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/As/ScalingGroup.cs b/sdk/dotnet/Tencentcloud/As/ScalingGroup.cs index e39cd1d24..6a47046a1 100644 --- a/sdk/dotnet/Tencentcloud/As/ScalingGroup.cs +++ b/sdk/dotnet/Tencentcloud/As/ScalingGroup.cs @@ -81,6 +81,9 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.As /// { /// subnet.Id, /// }, + /// HealthCheckType = "CLB", + /// ReplaceLoadBalancerUnhealthy = true, + /// LbHealthCheckGracePeriod = 30, /// }); /// /// }); @@ -128,12 +131,24 @@ public partial class ScalingGroup : global::Pulumi.CustomResource [Output("forwardBalancerIds")] public Output> ForwardBalancerIds { get; private set; } = null!; + /// + /// Health check type of instances in a scaling group.<br><li>CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)<br><li>CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).<br>If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + /// + [Output("healthCheckType")] + public Output HealthCheckType { get; private set; } = null!; + /// /// Instance number of a scaling group. /// [Output("instanceCount")] public Output InstanceCount { get; private set; } = null!; + /// + /// Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.<br>Valid range: 0-7200, in seconds. Default value: `0`. + /// + [Output("lbHealthCheckGracePeriod")] + public Output LbHealthCheckGracePeriod { get; private set; } = null!; + /// /// ID list of traditional load balancers. /// @@ -307,6 +322,18 @@ public InputList ForwardBalancerIds set => _forwardBalancerIds = value; } + /// + /// Health check type of instances in a scaling group.<br><li>CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)<br><li>CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).<br>If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + /// + [Input("healthCheckType")] + public Input? HealthCheckType { get; set; } + + /// + /// Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.<br>Valid range: 0-7200, in seconds. Default value: `0`. + /// + [Input("lbHealthCheckGracePeriod")] + public Input? LbHealthCheckGracePeriod { get; set; } + [Input("loadBalancerIds")] private InputList? _loadBalancerIds; @@ -465,12 +492,24 @@ public InputList ForwardBalancerIds set => _forwardBalancerIds = value; } + /// + /// Health check type of instances in a scaling group.<br><li>CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)<br><li>CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).<br>If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + /// + [Input("healthCheckType")] + public Input? HealthCheckType { get; set; } + /// /// Instance number of a scaling group. /// [Input("instanceCount")] public Input? InstanceCount { get; set; } + /// + /// Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.<br>Valid range: 0-7200, in seconds. Default value: `0`. + /// + [Input("lbHealthCheckGracePeriod")] + public Input? LbHealthCheckGracePeriod { get; set; } + [Input("loadBalancerIds")] private InputList? _loadBalancerIds; diff --git a/sdk/dotnet/Tencentcloud/As/StartInstanceRefresh.cs b/sdk/dotnet/Tencentcloud/As/StartInstanceRefresh.cs new file mode 100644 index 000000000..ee1b6225f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/As/StartInstanceRefresh.cs @@ -0,0 +1,163 @@ +// *** 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.As +{ + /// + /// Provides a resource to create as instance refresh + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.As.StartInstanceRefresh("example", new() + /// { + /// AutoScalingGroupId = "asg-9dn1a5y6", + /// RefreshMode = "ROLLING_UPDATE_RESET", + /// RefreshSettings = new Tencentcloud.As.Inputs.StartInstanceRefreshRefreshSettingsArgs + /// { + /// CheckInstanceTargetHealth = false, + /// RollingUpdateSettings = new Tencentcloud.As.Inputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs + /// { + /// BatchNumber = 1, + /// BatchPause = "AUTOMATIC", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:As/startInstanceRefresh:StartInstanceRefresh")] + public partial class StartInstanceRefresh : global::Pulumi.CustomResource + { + /// + /// Scaling group ID. + /// + [Output("autoScalingGroupId")] + public Output AutoScalingGroupId { get; private set; } = null!; + + /// + /// Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + /// + [Output("refreshMode")] + public Output RefreshMode { get; private set; } = null!; + + /// + /// Refresh settings. + /// + [Output("refreshSettings")] + public Output RefreshSettings { get; private set; } = null!; + + + /// + /// Create a StartInstanceRefresh 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 StartInstanceRefresh(string name, StartInstanceRefreshArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:As/startInstanceRefresh:StartInstanceRefresh", name, args ?? new StartInstanceRefreshArgs(), MakeResourceOptions(options, "")) + { + } + + private StartInstanceRefresh(string name, Input id, StartInstanceRefreshState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:As/startInstanceRefresh:StartInstanceRefresh", 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 StartInstanceRefresh 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 StartInstanceRefresh Get(string name, Input id, StartInstanceRefreshState? state = null, CustomResourceOptions? options = null) + { + return new StartInstanceRefresh(name, id, state, options); + } + } + + public sealed class StartInstanceRefreshArgs : global::Pulumi.ResourceArgs + { + /// + /// Scaling group ID. + /// + [Input("autoScalingGroupId", required: true)] + public Input AutoScalingGroupId { get; set; } = null!; + + /// + /// Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + /// + [Input("refreshMode")] + public Input? RefreshMode { get; set; } + + /// + /// Refresh settings. + /// + [Input("refreshSettings", required: true)] + public Input RefreshSettings { get; set; } = null!; + + public StartInstanceRefreshArgs() + { + } + public static new StartInstanceRefreshArgs Empty => new StartInstanceRefreshArgs(); + } + + public sealed class StartInstanceRefreshState : global::Pulumi.ResourceArgs + { + /// + /// Scaling group ID. + /// + [Input("autoScalingGroupId")] + public Input? AutoScalingGroupId { get; set; } + + /// + /// Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + /// + [Input("refreshMode")] + public Input? RefreshMode { get; set; } + + /// + /// Refresh settings. + /// + [Input("refreshSettings")] + public Input? RefreshSettings { get; set; } + + public StartInstanceRefreshState() + { + } + public static new StartInstanceRefreshState Empty => new StartInstanceRefreshState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Audit/GetEvents.cs b/sdk/dotnet/Tencentcloud/Audit/GetEvents.cs new file mode 100644 index 000000000..cc4e4b682 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Audit/GetEvents.cs @@ -0,0 +1,258 @@ +// *** 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.Audit +{ + public static class GetEvents + { + /// + /// Use this data source to query the events list supported by the audit. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var events = Tencentcloud.Audit.GetEvents.Invoke(new() + /// { + /// EndTime = 1727437441, + /// IsReturnLocation = 1, + /// LookupAttributes = new[] + /// { + /// new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs + /// { + /// AttributeKey = "ResourceType", + /// AttributeValue = "cvm", + /// }, + /// new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs + /// { + /// AttributeKey = "OnlyRecordNotSeen", + /// AttributeValue = "0", + /// }, + /// new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs + /// { + /// AttributeKey = "EventPlatform", + /// AttributeValue = "0", + /// }, + /// }, + /// MaxResults = 50, + /// StartTime = 1727433841, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetEventsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Audit/getEvents:getEvents", args ?? new GetEventsArgs(), options.WithDefaults()); + + /// + /// Use this data source to query the events list supported by the audit. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var events = Tencentcloud.Audit.GetEvents.Invoke(new() + /// { + /// EndTime = 1727437441, + /// IsReturnLocation = 1, + /// LookupAttributes = new[] + /// { + /// new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs + /// { + /// AttributeKey = "ResourceType", + /// AttributeValue = "cvm", + /// }, + /// new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs + /// { + /// AttributeKey = "OnlyRecordNotSeen", + /// AttributeValue = "0", + /// }, + /// new Tencentcloud.Audit.Inputs.GetEventsLookupAttributeInputArgs + /// { + /// AttributeKey = "EventPlatform", + /// AttributeValue = "0", + /// }, + /// }, + /// MaxResults = 50, + /// StartTime = 1727433841, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetEventsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Audit/getEvents:getEvents", args ?? new GetEventsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEventsArgs : global::Pulumi.InvokeArgs + { + /// + /// End timestamp in seconds (the time range for query is less than 30 days). + /// + [Input("endTime", required: true)] + public int EndTime { get; set; } + + /// + /// Whether to return the IP location. `1`: yes, `0`: no. + /// + [Input("isReturnLocation")] + public int? IsReturnLocation { get; set; } + + [Input("lookupAttributes")] + private List? _lookupAttributes; + + /// + /// Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + /// + public List LookupAttributes + { + get => _lookupAttributes ?? (_lookupAttributes = new List()); + set => _lookupAttributes = value; + } + + /// + /// Max number of returned logs (up to 50). + /// + [Input("maxResults")] + public int? MaxResults { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// Start timestamp in seconds (cannot be 90 days after the current time). + /// + [Input("startTime", required: true)] + public int StartTime { get; set; } + + public GetEventsArgs() + { + } + public static new GetEventsArgs Empty => new GetEventsArgs(); + } + + public sealed class GetEventsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// End timestamp in seconds (the time range for query is less than 30 days). + /// + [Input("endTime", required: true)] + public Input EndTime { get; set; } = null!; + + /// + /// Whether to return the IP location. `1`: yes, `0`: no. + /// + [Input("isReturnLocation")] + public Input? IsReturnLocation { get; set; } + + [Input("lookupAttributes")] + private InputList? _lookupAttributes; + + /// + /// Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + /// + public InputList LookupAttributes + { + get => _lookupAttributes ?? (_lookupAttributes = new InputList()); + set => _lookupAttributes = value; + } + + /// + /// Max number of returned logs (up to 50). + /// + [Input("maxResults")] + public Input? MaxResults { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// Start timestamp in seconds (cannot be 90 days after the current time). + /// + [Input("startTime", required: true)] + public Input StartTime { get; set; } = null!; + + public GetEventsInvokeArgs() + { + } + public static new GetEventsInvokeArgs Empty => new GetEventsInvokeArgs(); + } + + + [OutputType] + public sealed class GetEventsResult + { + public readonly int EndTime; + /// + /// Logset. Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray AuditEvents; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly int? IsReturnLocation; + public readonly ImmutableArray LookupAttributes; + public readonly int? MaxResults; + public readonly string? ResultOutputFile; + public readonly int StartTime; + + [OutputConstructor] + private GetEventsResult( + int endTime, + + ImmutableArray events, + + string id, + + int? isReturnLocation, + + ImmutableArray lookupAttributes, + + int? maxResults, + + string? resultOutputFile, + + int startTime) + { + EndTime = endTime; + AuditEvents = events; + Id = id; + IsReturnLocation = isReturnLocation; + LookupAttributes = lookupAttributes; + MaxResults = maxResults; + ResultOutputFile = resultOutputFile; + StartTime = startTime; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttribute.cs b/sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttribute.cs new file mode 100644 index 000000000..84d00a377 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttribute.cs @@ -0,0 +1,35 @@ +// *** 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.Audit.Inputs +{ + + public sealed class GetEventsLookupAttributeArgs : global::Pulumi.InvokeArgs + { + /// + /// Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + [Input("attributeKey", required: true)] + public string AttributeKey { get; set; } = null!; + + /// + /// Value of `AttributeValue` + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + [Input("attributeValue")] + public string? AttributeValue { get; set; } + + public GetEventsLookupAttributeArgs() + { + } + public static new GetEventsLookupAttributeArgs Empty => new GetEventsLookupAttributeArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttributeArgs.cs b/sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttributeArgs.cs new file mode 100644 index 000000000..7a1d874df --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Audit/Inputs/GetEventsLookupAttributeArgs.cs @@ -0,0 +1,35 @@ +// *** 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.Audit.Inputs +{ + + public sealed class GetEventsLookupAttributeInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + [Input("attributeKey", required: true)] + public Input AttributeKey { get; set; } = null!; + + /// + /// Value of `AttributeValue` + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + [Input("attributeValue")] + public Input? AttributeValue { get; set; } + + public GetEventsLookupAttributeInputArgs() + { + } + public static new GetEventsLookupAttributeInputArgs Empty => new GetEventsLookupAttributeInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResourcesResult.cs b/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResourcesResult.cs new file mode 100644 index 000000000..e793db6e6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResourcesResult.cs @@ -0,0 +1,37 @@ +// *** 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.Audit.Outputs +{ + + [OutputType] + public sealed class GetEventsEventResourcesResult + { + /// + /// Resource name + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + public readonly string? ResourceName; + /// + /// Resource type. + /// + public readonly string? ResourceType; + + [OutputConstructor] + private GetEventsEventResourcesResult( + string? resourceName, + + string? resourceType) + { + ResourceName = resourceName; + ResourceType = resourceType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResult.cs b/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResult.cs new file mode 100644 index 000000000..647f0c5ff --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsEventResult.cs @@ -0,0 +1,143 @@ +// *** 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.Audit.Outputs +{ + + [OutputType] + public sealed class GetEventsEventResult + { + /// + /// Root account ID. + /// + public readonly int? AccountId; + /// + /// Log details. + /// + public readonly string? CloudAuditEvent; + /// + /// Authentication error code. + /// + public readonly int? ErrorCode; + /// + /// Log ID. + /// + public readonly string? EventId; + /// + /// Event name. + /// + public readonly string? EventName; + /// + /// Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field). + /// + public readonly string? EventNameCn; + /// + /// Event region. + /// + public readonly string? EventRegion; + /// + /// Request source. + /// + public readonly string? EventSource; + /// + /// Event Time. + /// + public readonly string? EventTime; + /// + /// IP location. + /// + public readonly string? Location; + /// + /// Request ID. + /// + public readonly string? RequestId; + /// + /// Resource region. + /// + public readonly string? ResourceRegion; + /// + /// Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field). + /// + public readonly string? ResourceTypeCn; + /// + /// Resource pair. + /// + public readonly Outputs.GetEventsEventResourcesResult? Resources; + /// + /// Certificate ID + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + public readonly string? SecretId; + /// + /// Source IP + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + public readonly string? SourceIpAddress; + /// + /// Username. + /// + public readonly string? Username; + + [OutputConstructor] + private GetEventsEventResult( + int? accountId, + + string? cloudAuditEvent, + + int? errorCode, + + string? eventId, + + string? eventName, + + string? eventNameCn, + + string? eventRegion, + + string? eventSource, + + string? eventTime, + + string? location, + + string? requestId, + + string? resourceRegion, + + string? resourceTypeCn, + + Outputs.GetEventsEventResourcesResult? resources, + + string? secretId, + + string? sourceIpAddress, + + string? username) + { + AccountId = accountId; + CloudAuditEvent = cloudAuditEvent; + ErrorCode = errorCode; + EventId = eventId; + EventName = eventName; + EventNameCn = eventNameCn; + EventRegion = eventRegion; + EventSource = eventSource; + EventTime = eventTime; + Location = location; + RequestId = requestId; + ResourceRegion = resourceRegion; + ResourceTypeCn = resourceTypeCn; + Resources = resources; + SecretId = secretId; + SourceIpAddress = sourceIpAddress; + Username = username; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsLookupAttributeResult.cs b/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsLookupAttributeResult.cs new file mode 100644 index 000000000..dabd4e9ac --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Audit/Outputs/GetEventsLookupAttributeResult.cs @@ -0,0 +1,38 @@ +// *** 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.Audit.Outputs +{ + + [OutputType] + public sealed class GetEventsLookupAttributeResult + { + /// + /// Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + public readonly string AttributeKey; + /// + /// Value of `AttributeValue` + /// Note: `null` may be returned for this field, indicating that no valid values can be obtained. + /// + public readonly string? AttributeValue; + + [OutputConstructor] + private GetEventsLookupAttributeResult( + string attributeKey, + + string? attributeValue) + { + AttributeKey = attributeKey; + AttributeValue = attributeValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Batch/ApplyAccountBaselines.cs b/sdk/dotnet/Tencentcloud/Batch/ApplyAccountBaselines.cs new file mode 100644 index 000000000..e45183ac9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Batch/ApplyAccountBaselines.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.Batch +{ + /// + /// Provides a resource to create a controlcenter batch apply account baselines + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Batch.ApplyAccountBaselines("example", new() + /// { + /// BaselineConfigItems = new[] + /// { + /// new Tencentcloud.Batch.Inputs.ApplyAccountBaselinesBaselineConfigItemArgs + /// { + /// Configuration = "{\"Images\":[{\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-mcdsiqrx\",\"ImageName\":\"demo1\"}, {\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-esxgkots\",\"ImageName\":\"demo2\"}]}", + /// Identifier = "TCC-AF_SHARE_IMAGE", + /// }, + /// }, + /// MemberUinLists = new[] + /// { + /// 10037652245, + /// 10037652240, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines")] + public partial class ApplyAccountBaselines : global::Pulumi.CustomResource + { + /// + /// List of baseline item configuration information. + /// + [Output("baselineConfigItems")] + public Output> BaselineConfigItems { get; private set; } = null!; + + /// + /// Member account UIN, which is also the UIN of the account to which the baseline is applied. + /// + [Output("memberUinLists")] + public Output> MemberUinLists { get; private set; } = null!; + + + /// + /// Create a ApplyAccountBaselines 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 ApplyAccountBaselines(string name, ApplyAccountBaselinesArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines", name, args ?? new ApplyAccountBaselinesArgs(), MakeResourceOptions(options, "")) + { + } + + private ApplyAccountBaselines(string name, Input id, ApplyAccountBaselinesState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines", 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 ApplyAccountBaselines 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 ApplyAccountBaselines Get(string name, Input id, ApplyAccountBaselinesState? state = null, CustomResourceOptions? options = null) + { + return new ApplyAccountBaselines(name, id, state, options); + } + } + + public sealed class ApplyAccountBaselinesArgs : global::Pulumi.ResourceArgs + { + [Input("baselineConfigItems", required: true)] + private InputList? _baselineConfigItems; + + /// + /// List of baseline item configuration information. + /// + public InputList BaselineConfigItems + { + get => _baselineConfigItems ?? (_baselineConfigItems = new InputList()); + set => _baselineConfigItems = value; + } + + [Input("memberUinLists", required: true)] + private InputList? _memberUinLists; + + /// + /// Member account UIN, which is also the UIN of the account to which the baseline is applied. + /// + public InputList MemberUinLists + { + get => _memberUinLists ?? (_memberUinLists = new InputList()); + set => _memberUinLists = value; + } + + public ApplyAccountBaselinesArgs() + { + } + public static new ApplyAccountBaselinesArgs Empty => new ApplyAccountBaselinesArgs(); + } + + public sealed class ApplyAccountBaselinesState : global::Pulumi.ResourceArgs + { + [Input("baselineConfigItems")] + private InputList? _baselineConfigItems; + + /// + /// List of baseline item configuration information. + /// + public InputList BaselineConfigItems + { + get => _baselineConfigItems ?? (_baselineConfigItems = new InputList()); + set => _baselineConfigItems = value; + } + + [Input("memberUinLists")] + private InputList? _memberUinLists; + + /// + /// Member account UIN, which is also the UIN of the account to which the baseline is applied. + /// + public InputList MemberUinLists + { + get => _memberUinLists ?? (_memberUinLists = new InputList()); + set => _memberUinLists = value; + } + + public ApplyAccountBaselinesState() + { + } + public static new ApplyAccountBaselinesState Empty => new ApplyAccountBaselinesState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemArgs.cs b/sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemArgs.cs new file mode 100644 index 000000000..2eb49d51f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemArgs.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.Batch.Inputs +{ + + public sealed class ApplyAccountBaselinesBaselineConfigItemArgs : global::Pulumi.ResourceArgs + { + /// + /// Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("configuration")] + public Input? Configuration { get; set; } + + /// + /// A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("identifier")] + public Input? Identifier { get; set; } + + public ApplyAccountBaselinesBaselineConfigItemArgs() + { + } + public static new ApplyAccountBaselinesBaselineConfigItemArgs Empty => new ApplyAccountBaselinesBaselineConfigItemArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemGetArgs.cs b/sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemGetArgs.cs new file mode 100644 index 000000000..d32e1b0fc --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Batch/Inputs/ApplyAccountBaselinesBaselineConfigItemGetArgs.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.Batch.Inputs +{ + + public sealed class ApplyAccountBaselinesBaselineConfigItemGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("configuration")] + public Input? Configuration { get; set; } + + /// + /// A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("identifier")] + public Input? Identifier { get; set; } + + public ApplyAccountBaselinesBaselineConfigItemGetArgs() + { + } + public static new ApplyAccountBaselinesBaselineConfigItemGetArgs Empty => new ApplyAccountBaselinesBaselineConfigItemGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Batch/Outputs/ApplyAccountBaselinesBaselineConfigItem.cs b/sdk/dotnet/Tencentcloud/Batch/Outputs/ApplyAccountBaselinesBaselineConfigItem.cs new file mode 100644 index 000000000..9ea320014 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Batch/Outputs/ApplyAccountBaselinesBaselineConfigItem.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.Batch.Outputs +{ + + [OutputType] + public sealed class ApplyAccountBaselinesBaselineConfigItem + { + /// + /// Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? Configuration; + /// + /// A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? Identifier; + + [OutputConstructor] + private ApplyAccountBaselinesBaselineConfigItem( + string? configuration, + + string? identifier) + { + Configuration = configuration; + Identifier = identifier; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Batch/README.md b/sdk/dotnet/Tencentcloud/Batch/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Batch/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Cbs/GetStorages.cs b/sdk/dotnet/Tencentcloud/Cbs/GetStorages.cs index be340fbfd..b5e8e7f96 100644 --- a/sdk/dotnet/Tencentcloud/Cbs/GetStorages.cs +++ b/sdk/dotnet/Tencentcloud/Cbs/GetStorages.cs @@ -17,6 +17,46 @@ public static class GetStorages /// /// ## Example Usage /// + /// ### Query all CBS storages + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cbs.GetStorages.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query CBS by storage id + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cbs.GetStorages.Invoke(new() + /// { + /// ResultOutputFile = "my-test-path", + /// StorageId = "disk-6goq404g", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query CBS by dedicated cluster id + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -26,10 +66,9 @@ public static class GetStorages /// /// return await Deployment.RunAsync(() => /// { - /// var storages = Tencentcloud.Cbs.GetStorages.Invoke(new() + /// var example = Tencentcloud.Cbs.GetStorages.Invoke(new() /// { - /// ResultOutputFile = "mytestpath", - /// StorageId = "disk-kdt0sq6m", + /// DedicatedClusterId = "cluster-262n63e8", /// }); /// /// }); @@ -53,6 +92,8 @@ public static class GetStorages /// { /// "POSTPAID_BY_HOUR", /// "PREPAID", + /// "CDCPAID", + /// "DEDICATED_CLUSTER_PAID", /// }, /// InstanceIps = new[] /// { @@ -69,7 +110,7 @@ public static class GetStorages /// }, /// TagKeys = new[] /// { - /// "foo", + /// "example", /// }, /// TagValues = new[] /// { @@ -90,6 +131,8 @@ public static Task InvokeAsync(GetStoragesArgs? args = null, /// /// ## Example Usage /// + /// ### Query all CBS storages + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -99,10 +142,47 @@ public static Task InvokeAsync(GetStoragesArgs? args = null, /// /// return await Deployment.RunAsync(() => /// { - /// var storages = Tencentcloud.Cbs.GetStorages.Invoke(new() + /// var example = Tencentcloud.Cbs.GetStorages.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query CBS by storage id + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cbs.GetStorages.Invoke(new() /// { - /// ResultOutputFile = "mytestpath", - /// StorageId = "disk-kdt0sq6m", + /// ResultOutputFile = "my-test-path", + /// StorageId = "disk-6goq404g", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query CBS by dedicated cluster id + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cbs.GetStorages.Invoke(new() + /// { + /// DedicatedClusterId = "cluster-262n63e8", /// }); /// /// }); @@ -126,6 +206,8 @@ public static Task InvokeAsync(GetStoragesArgs? args = null, /// { /// "POSTPAID_BY_HOUR", /// "PREPAID", + /// "CDCPAID", + /// "DEDICATED_CLUSTER_PAID", /// }, /// InstanceIps = new[] /// { @@ -142,7 +224,7 @@ public static Task InvokeAsync(GetStoragesArgs? args = null, /// }, /// TagKeys = new[] /// { - /// "foo", + /// "example", /// }, /// TagValues = new[] /// { @@ -172,7 +254,7 @@ public sealed class GetStoragesArgs : global::Pulumi.InvokeArgs private List? _chargeTypes; /// - /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). /// public List ChargeTypes { @@ -180,6 +262,12 @@ public List ChargeTypes set => _chargeTypes = value; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public string? DedicatedClusterId { get; set; } + [Input("instanceIps")] private List? _instanceIps; @@ -300,7 +388,7 @@ public sealed class GetStoragesInvokeArgs : global::Pulumi.InvokeArgs private InputList? _chargeTypes; /// - /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). /// public InputList ChargeTypes { @@ -308,6 +396,12 @@ public InputList ChargeTypes set => _chargeTypes = value; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + [Input("instanceIps")] private InputList? _instanceIps; @@ -429,6 +523,10 @@ public sealed class GetStoragesResult /// public readonly ImmutableArray ChargeTypes; /// + /// Exclusive cluster id. + /// + public readonly string? DedicatedClusterId; + /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; @@ -470,6 +568,8 @@ private GetStoragesResult( ImmutableArray chargeTypes, + string? dedicatedClusterId, + string id, ImmutableArray instanceIps, @@ -500,6 +600,7 @@ private GetStoragesResult( { AvailabilityZone = availabilityZone; ChargeTypes = chargeTypes; + DedicatedClusterId = dedicatedClusterId; Id = id; InstanceIps = instanceIps; InstanceNames = instanceNames; diff --git a/sdk/dotnet/Tencentcloud/Cbs/GetStoragesSet.cs b/sdk/dotnet/Tencentcloud/Cbs/GetStoragesSet.cs index 0638bd628..742846f63 100644 --- a/sdk/dotnet/Tencentcloud/Cbs/GetStoragesSet.cs +++ b/sdk/dotnet/Tencentcloud/Cbs/GetStoragesSet.cs @@ -17,6 +17,8 @@ public static class GetStoragesSet /// /// ## Example Usage /// + /// ### Query CBS by storage set by zone + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -26,7 +28,7 @@ public static class GetStoragesSet /// /// return await Deployment.RunAsync(() => /// { - /// var storages = Tencentcloud.Cbs.GetStoragesSet.Invoke(new() + /// var example = Tencentcloud.Cbs.GetStoragesSet.Invoke(new() /// { /// AvailabilityZone = "ap-guangzhou-3", /// }); @@ -43,6 +45,8 @@ public static Task InvokeAsync(GetStoragesSetArgs? args = /// /// ## Example Usage /// + /// ### Query CBS by storage set by zone + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -52,7 +56,7 @@ public static Task InvokeAsync(GetStoragesSetArgs? args = /// /// return await Deployment.RunAsync(() => /// { - /// var storages = Tencentcloud.Cbs.GetStoragesSet.Invoke(new() + /// var example = Tencentcloud.Cbs.GetStoragesSet.Invoke(new() /// { /// AvailabilityZone = "ap-guangzhou-3", /// }); @@ -78,7 +82,7 @@ public sealed class GetStoragesSetArgs : global::Pulumi.InvokeArgs private List? _chargeTypes; /// - /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). /// public List ChargeTypes { @@ -86,6 +90,12 @@ public List ChargeTypes set => _chargeTypes = value; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public string? DedicatedClusterId { get; set; } + [Input("instanceIps")] private List? _instanceIps; @@ -206,7 +216,7 @@ public sealed class GetStoragesSetInvokeArgs : global::Pulumi.InvokeArgs private InputList? _chargeTypes; /// - /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). /// public InputList ChargeTypes { @@ -214,6 +224,12 @@ public InputList ChargeTypes set => _chargeTypes = value; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + [Input("instanceIps")] private InputList? _instanceIps; @@ -335,6 +351,10 @@ public sealed class GetStoragesSetResult /// public readonly ImmutableArray ChargeTypes; /// + /// Exclusive cluster id. + /// + public readonly string? DedicatedClusterId; + /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; @@ -376,6 +396,8 @@ private GetStoragesSetResult( ImmutableArray chargeTypes, + string? dedicatedClusterId, + string id, ImmutableArray instanceIps, @@ -406,6 +428,7 @@ private GetStoragesSetResult( { AvailabilityZone = availabilityZone; ChargeTypes = chargeTypes; + DedicatedClusterId = dedicatedClusterId; Id = id; InstanceIps = instanceIps; InstanceNames = instanceNames; diff --git a/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesSetStorageListResult.cs b/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesSetStorageListResult.cs index 7e3746057..9079d0217 100644 --- a/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesSetStorageListResult.cs +++ b/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesSetStorageListResult.cs @@ -23,7 +23,7 @@ public sealed class GetStoragesSetStorageListResult /// public readonly string AvailabilityZone; /// - /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). /// public readonly string ChargeType; /// @@ -31,6 +31,10 @@ public sealed class GetStoragesSetStorageListResult /// public readonly string CreateTime; /// + /// Exclusive cluster id. + /// + public readonly string DedicatedClusterId; + /// /// Indicates whether CBS is encrypted. /// public readonly bool Encrypt; @@ -89,6 +93,8 @@ private GetStoragesSetStorageListResult( string createTime, + string dedicatedClusterId, + bool encrypt, string instanceId, @@ -117,6 +123,7 @@ private GetStoragesSetStorageListResult( AvailabilityZone = availabilityZone; ChargeType = chargeType; CreateTime = createTime; + DedicatedClusterId = dedicatedClusterId; Encrypt = encrypt; InstanceId = instanceId; PrepaidRenewFlag = prepaidRenewFlag; diff --git a/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesStorageListResult.cs b/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesStorageListResult.cs index 96d419b8d..e286d6752 100644 --- a/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesStorageListResult.cs +++ b/sdk/dotnet/Tencentcloud/Cbs/Outputs/GetStoragesStorageListResult.cs @@ -23,7 +23,7 @@ public sealed class GetStoragesStorageListResult /// public readonly string AvailabilityZone; /// - /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + /// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). /// public readonly string ChargeType; /// @@ -31,6 +31,10 @@ public sealed class GetStoragesStorageListResult /// public readonly string CreateTime; /// + /// Exclusive cluster id. + /// + public readonly string DedicatedClusterId; + /// /// Indicates whether CBS is encrypted. /// public readonly bool Encrypt; @@ -89,6 +93,8 @@ private GetStoragesStorageListResult( string createTime, + string dedicatedClusterId, + bool encrypt, string instanceId, @@ -117,6 +123,7 @@ private GetStoragesStorageListResult( AvailabilityZone = availabilityZone; ChargeType = chargeType; CreateTime = createTime; + DedicatedClusterId = dedicatedClusterId; Encrypt = encrypt; InstanceId = instanceId; PrepaidRenewFlag = prepaidRenewFlag; diff --git a/sdk/dotnet/Tencentcloud/Cbs/Storage.cs b/sdk/dotnet/Tencentcloud/Cbs/Storage.cs index 0b3349e8f..ed3730bf2 100644 --- a/sdk/dotnet/Tencentcloud/Cbs/Storage.cs +++ b/sdk/dotnet/Tencentcloud/Cbs/Storage.cs @@ -11,10 +11,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cbs { /// - /// Provides a resource to create a CBS. + /// Provides a resource to create a CBS storage. /// /// ## Example Usage /// + /// ### Create a standard CBS storage + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -24,17 +26,48 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cbs /// /// return await Deployment.RunAsync(() => /// { - /// var storage = new Tencentcloud.Cbs.Storage("storage", new() + /// var example = new Tencentcloud.Cbs.Storage("example", new() /// { /// AvailabilityZone = "ap-guangzhou-3", /// Encrypt = false, /// ProjectId = 0, - /// StorageName = "mystorage", + /// StorageName = "tf-example", + /// StorageSize = 100, + /// StorageType = "CLOUD_SSD", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a dedicated cluster CBS storage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Cbs.Storage("example", new() + /// { + /// AvailabilityZone = "ap-guangzhou-4", + /// ChargeType = "DEDICATED_CLUSTER_PAID", + /// DedicatedClusterId = "cluster-262n63e8", + /// Encrypt = false, + /// ProjectId = 0, + /// StorageName = "tf-example", /// StorageSize = 100, /// StorageType = "CLOUD_SSD", /// Tags = /// { - /// { "test", "tf" }, + /// { "createBy", "terraform" }, /// }, /// }); /// @@ -47,7 +80,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cbs /// CBS storage can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Cbs/storage:Storage storage disk-41s6jwy4 + /// $ pulumi import tencentcloud:Cbs/storage:Storage example disk-41s6jwy4 /// ``` /// [TencentcloudResourceType("tencentcloud:Cbs/storage:Storage")] @@ -66,11 +99,17 @@ public partial class Storage : global::Pulumi.CustomResource public Output AvailabilityZone { get; private set; } = null!; /// - /// The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + /// The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. /// [Output("chargeType")] public Output ChargeType { get; private set; } = null!; + /// + /// Exclusive cluster id. + /// + [Output("dedicatedClusterId")] + public Output DedicatedClusterId { get; private set; } = null!; + /// /// The quota of backup points of cloud disk. /// @@ -209,11 +248,17 @@ public sealed class StorageArgs : global::Pulumi.ResourceArgs public Input AvailabilityZone { get; set; } = null!; /// - /// The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + /// The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. /// [Input("chargeType")] public Input? ChargeType { get; set; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// The quota of backup points of cloud disk. /// @@ -319,11 +364,17 @@ public sealed class StorageState : global::Pulumi.ResourceArgs public Input? AvailabilityZone { get; set; } /// - /// The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + /// The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. /// [Input("chargeType")] public Input? ChargeType { get; set; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// The quota of backup points of cloud disk. /// diff --git a/sdk/dotnet/Tencentcloud/Cbs/StorageSet.cs b/sdk/dotnet/Tencentcloud/Cbs/StorageSet.cs index 15b7d8be1..095e518df 100644 --- a/sdk/dotnet/Tencentcloud/Cbs/StorageSet.cs +++ b/sdk/dotnet/Tencentcloud/Cbs/StorageSet.cs @@ -15,6 +15,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cbs /// /// ## Example Usage /// + /// ### Create 3 standard CBS storages + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -24,13 +26,41 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cbs /// /// return await Deployment.RunAsync(() => /// { - /// var storage = new Tencentcloud.Cbs.StorageSet("storage", new() + /// var example = new Tencentcloud.Cbs.StorageSet("example", new() /// { /// AvailabilityZone = "ap-guangzhou-3", - /// DiskCount = 10, + /// DiskCount = 3, /// Encrypt = false, /// ProjectId = 0, - /// StorageName = "mystorage", + /// StorageName = "tf-example", + /// StorageSize = 100, + /// StorageType = "CLOUD_SSD", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create 3 dedicated cluster CBS storages + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Cbs.StorageSet("example", new() + /// { + /// AvailabilityZone = "ap-guangzhou-4", + /// ChargeType = "DEDICATED_CLUSTER_PAID", + /// DedicatedClusterId = "cluster-262n63e8", + /// DiskCount = 3, + /// Encrypt = false, + /// ProjectId = 0, + /// StorageName = "tf-example", /// StorageSize = 100, /// StorageType = "CLOUD_SSD", /// }); @@ -55,11 +85,17 @@ public partial class StorageSet : global::Pulumi.CustomResource public Output AvailabilityZone { get; private set; } = null!; /// - /// The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + /// The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. /// [Output("chargeType")] public Output ChargeType { get; private set; } = null!; + /// + /// Exclusive cluster id. + /// + [Output("dedicatedClusterId")] + public Output DedicatedClusterId { get; private set; } = null!; + /// /// The number of disks to be purchased. Default 1. /// @@ -174,11 +210,17 @@ public sealed class StorageSetArgs : global::Pulumi.ResourceArgs public Input AvailabilityZone { get; set; } = null!; /// - /// The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + /// The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. /// [Input("chargeType")] public Input? ChargeType { get; set; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// The number of disks to be purchased. Default 1. /// @@ -248,11 +290,17 @@ public sealed class StorageSetState : global::Pulumi.ResourceArgs public Input? AvailabilityZone { get; set; } /// - /// The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + /// The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. /// [Input("chargeType")] public Input? ChargeType { get; set; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// The number of disks to be purchased. Default 1. /// diff --git a/sdk/dotnet/Tencentcloud/Ccn/Attachment.cs b/sdk/dotnet/Tencentcloud/Ccn/Attachment.cs index a934236b3..8937e2738 100644 --- a/sdk/dotnet/Tencentcloud/Ccn/Attachment.cs +++ b/sdk/dotnet/Tencentcloud/Ccn/Attachment.cs @@ -15,6 +15,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// /// ## Example Usage /// + /// ### Only Attachment instance + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -26,40 +28,117 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// { /// var config = new Config(); /// var region = config.Get("region") ?? "ap-guangzhou"; - /// var otheruin = config.Get("otheruin") ?? "123353"; - /// var otherccn = config.Get("otherccn") ?? "ccn-151ssaga"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// var otherUin = config.Get("otherUin") ?? "100031344528"; + /// var otherCcn = config.Get("otherCcn") ?? "ccn-qhgojahx"; + /// // create vpc /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { - /// CidrBlock = "10.0.0.0/16", - /// DnsServers = new[] - /// { - /// "119.29.29.29", - /// "8.8.8.8", - /// }, + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", /// IsMulticast = false, /// }); /// - /// var main = new Tencentcloud.Ccn.Instance("main", new() + /// // create ccn + /// var example = new Tencentcloud.Ccn.Instance("example", new() /// { - /// Description = "ci-temp-test-ccn-des", + /// Description = "desc.", /// Qos = "AG", + /// ChargeType = "PREPAID", + /// BandwidthLimitType = "INTER_REGION_LIMIT", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, /// }); /// + /// // attachment instance /// var attachment = new Tencentcloud.Ccn.Attachment("attachment", new() /// { - /// CcnId = main.Id, - /// InstanceType = "VPC", + /// CcnId = example.Id, /// InstanceId = vpc.Id, + /// InstanceType = "VPC", /// InstanceRegion = region, /// }); /// + /// // attachment other instance /// var otherAccount = new Tencentcloud.Ccn.Attachment("otherAccount", new() /// { - /// CcnId = otherccn, + /// CcnId = otherCcn, + /// InstanceId = vpc.Id, /// InstanceType = "VPC", + /// InstanceRegion = region, + /// CcnUin = otherUin, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Attachment instance & route table + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.Get("region") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create ccn + /// var exampleInstance = new Tencentcloud.Ccn.Instance("exampleInstance", new() + /// { + /// Description = "desc.", + /// Qos = "AG", + /// ChargeType = "PREPAID", + /// BandwidthLimitType = "INTER_REGION_LIMIT", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// // create ccn route table + /// var exampleRouteTable = new Tencentcloud.Ccn.RouteTable("exampleRouteTable", new() + /// { + /// CcnId = exampleInstance.Id, + /// Description = "desc.", + /// }); + /// + /// // attachment instance & route table + /// var attachment = new Tencentcloud.Ccn.Attachment("attachment", new() + /// { + /// CcnId = exampleInstance.Id, /// InstanceId = vpc.Id, + /// InstanceType = "VPC", /// InstanceRegion = region, - /// CcnUin = otheruin, + /// RouteTableId = exampleRouteTable.Id, /// }); /// /// }); @@ -123,6 +202,12 @@ public partial class Attachment : global::Pulumi.CustomResource [Output("routeIds")] public Output> RouteIds { get; private set; } = null!; + /// + /// Ccn instance route table ID. + /// + [Output("routeTableId")] + public Output RouteTableId { get; private set; } = null!; + /// /// States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. /// @@ -212,6 +297,12 @@ public sealed class AttachmentArgs : global::Pulumi.ResourceArgs [Input("instanceType", required: true)] public Input InstanceType { get; set; } = null!; + /// + /// Ccn instance route table ID. + /// + [Input("routeTableId")] + public Input? RouteTableId { get; set; } + public AttachmentArgs() { } @@ -286,6 +377,12 @@ public InputList RouteIds set => _routeIds = value; } + /// + /// Ccn instance route table ID. + /// + [Input("routeTableId")] + public Input? RouteTableId { get; set; } + /// /// States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. /// diff --git a/sdk/dotnet/Tencentcloud/Ccn/GetRoutes.cs b/sdk/dotnet/Tencentcloud/Ccn/GetRoutes.cs new file mode 100644 index 000000000..f99b44d6f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/GetRoutes.cs @@ -0,0 +1,234 @@ +// *** 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.Ccn +{ + public static class GetRoutes + { + /// + /// Use this data source to query detailed information of CCN routes. + /// + /// ## Example Usage + /// + /// ### Query CCN instance all routes + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var routes = Tencentcloud.Ccn.GetRoutes.Invoke(new() + /// { + /// CcnId = "ccn-gr7nynbd", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query CCN instance routes by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var routes = Tencentcloud.Ccn.GetRoutes.Invoke(new() + /// { + /// CcnId = "ccn-gr7nynbd", + /// Filters = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.GetRoutesFilterInputArgs + /// { + /// Name = "route-table-id", + /// Values = new[] + /// { + /// "ccnrtb-jpf7bzn3", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetRoutesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Ccn/getRoutes:getRoutes", args ?? new GetRoutesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of CCN routes. + /// + /// ## Example Usage + /// + /// ### Query CCN instance all routes + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var routes = Tencentcloud.Ccn.GetRoutes.Invoke(new() + /// { + /// CcnId = "ccn-gr7nynbd", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query CCN instance routes by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var routes = Tencentcloud.Ccn.GetRoutes.Invoke(new() + /// { + /// CcnId = "ccn-gr7nynbd", + /// Filters = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.GetRoutesFilterInputArgs + /// { + /// Name = "route-table-id", + /// Values = new[] + /// { + /// "ccnrtb-jpf7bzn3", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetRoutesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Ccn/getRoutes:getRoutes", args ?? new GetRoutesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRoutesArgs : global::Pulumi.InvokeArgs + { + /// + /// ID of the CCN to be queried. + /// + [Input("ccnId", required: true)] + public string CcnId { get; set; } = null!; + + [Input("filters")] + private List? _filters; + + /// + /// Filter conditions. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetRoutesArgs() + { + } + public static new GetRoutesArgs Empty => new GetRoutesArgs(); + } + + public sealed class GetRoutesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// ID of the CCN to be queried. + /// + [Input("ccnId", required: true)] + public Input CcnId { get; set; } = null!; + + [Input("filters")] + private InputList? _filters; + + /// + /// Filter conditions. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetRoutesInvokeArgs() + { + } + public static new GetRoutesInvokeArgs Empty => new GetRoutesInvokeArgs(); + } + + + [OutputType] + public sealed class GetRoutesResult + { + public readonly string CcnId; + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + /// + /// CCN route list. + /// + public readonly ImmutableArray RouteLists; + + [OutputConstructor] + private GetRoutesResult( + string ccnId, + + ImmutableArray filters, + + string id, + + string? resultOutputFile, + + ImmutableArray routeLists) + { + CcnId = ccnId; + Filters = filters; + Id = id; + ResultOutputFile = resultOutputFile; + RouteLists = routeLists; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilter.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilter.cs new file mode 100644 index 000000000..b3b12fae0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilter.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.Ccn.Inputs +{ + + public sealed class GetRoutesFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// Filter value of the field. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetRoutesFilterArgs() + { + } + public static new GetRoutesFilterArgs Empty => new GetRoutesFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilterArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilterArgs.cs new file mode 100644 index 000000000..71bdfbb1a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/GetRoutesFilterArgs.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.Ccn.Inputs +{ + + public sealed class GetRoutesFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Filter value of the field. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetRoutesFilterInputArgs() + { + } + public static new GetRoutesFilterInputArgs Empty => new GetRoutesFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceArgs.cs new file mode 100644 index 000000000..e84409cb5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableAssociateInstanceConfigInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Instances ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + /// + [Input("instanceType", required: true)] + public Input InstanceType { get; set; } = null!; + + public RouteTableAssociateInstanceConfigInstanceArgs() + { + } + public static new RouteTableAssociateInstanceConfigInstanceArgs Empty => new RouteTableAssociateInstanceConfigInstanceArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceGetArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceGetArgs.cs new file mode 100644 index 000000000..a8e598c3c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableAssociateInstanceConfigInstanceGetArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableAssociateInstanceConfigInstanceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Instances ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + /// + [Input("instanceType", required: true)] + public Input InstanceType { get; set; } = null!; + + public RouteTableAssociateInstanceConfigInstanceGetArgs() + { + } + public static new RouteTableAssociateInstanceConfigInstanceGetArgs Empty => new RouteTableAssociateInstanceConfigInstanceGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyArgs.cs new file mode 100644 index 000000000..0ff24a127 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableBroadcastPoliciesPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Routing behavior, `accept` allows, `drop` rejects. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + [Input("broadcastConditions", required: true)] + private InputList? _broadcastConditions; + + /// + /// propagation conditions. + /// + public InputList BroadcastConditions + { + get => _broadcastConditions ?? (_broadcastConditions = new InputList()); + set => _broadcastConditions = value; + } + + /// + /// Policy description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + [Input("routeConditions", required: true)] + private InputList? _routeConditions; + + /// + /// Routing conditions. + /// + public InputList RouteConditions + { + get => _routeConditions ?? (_routeConditions = new InputList()); + set => _routeConditions = value; + } + + public RouteTableBroadcastPoliciesPolicyArgs() + { + } + public static new RouteTableBroadcastPoliciesPolicyArgs Empty => new RouteTableBroadcastPoliciesPolicyArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs.cs new file mode 100644 index 000000000..4fd950836 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + [Input("matchPattern", required: true)] + public Input MatchPattern { get; set; } = null!; + + /// + /// condition type. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// List of conditional values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs() + { + } + public static new RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs Empty => new RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs.cs new file mode 100644 index 000000000..52f6a1f9b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + [Input("matchPattern", required: true)] + public Input MatchPattern { get; set; } = null!; + + /// + /// condition type. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// List of conditional values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs() + { + } + public static new RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs Empty => new RouteTableBroadcastPoliciesPolicyBroadcastConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyGetArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyGetArgs.cs new file mode 100644 index 000000000..a98b08024 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyGetArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableBroadcastPoliciesPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Routing behavior, `accept` allows, `drop` rejects. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + [Input("broadcastConditions", required: true)] + private InputList? _broadcastConditions; + + /// + /// propagation conditions. + /// + public InputList BroadcastConditions + { + get => _broadcastConditions ?? (_broadcastConditions = new InputList()); + set => _broadcastConditions = value; + } + + /// + /// Policy description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + [Input("routeConditions", required: true)] + private InputList? _routeConditions; + + /// + /// Routing conditions. + /// + public InputList RouteConditions + { + get => _routeConditions ?? (_routeConditions = new InputList()); + set => _routeConditions = value; + } + + public RouteTableBroadcastPoliciesPolicyGetArgs() + { + } + public static new RouteTableBroadcastPoliciesPolicyGetArgs Empty => new RouteTableBroadcastPoliciesPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionArgs.cs new file mode 100644 index 000000000..6599c77df --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableBroadcastPoliciesPolicyRouteConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + [Input("matchPattern", required: true)] + public Input MatchPattern { get; set; } = null!; + + /// + /// condition type. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// List of conditional values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RouteTableBroadcastPoliciesPolicyRouteConditionArgs() + { + } + public static new RouteTableBroadcastPoliciesPolicyRouteConditionArgs Empty => new RouteTableBroadcastPoliciesPolicyRouteConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs.cs new file mode 100644 index 000000000..69b4f29b1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + [Input("matchPattern", required: true)] + public Input MatchPattern { get; set; } = null!; + + /// + /// condition type. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// List of conditional values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs() + { + } + public static new RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs Empty => new RouteTableBroadcastPoliciesPolicyRouteConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyArgs.cs new file mode 100644 index 000000000..f99e02a90 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableInputPoliciesPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Routing behavior, `accept` allows, `drop` rejects. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Policy description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + [Input("routeConditions", required: true)] + private InputList? _routeConditions; + + /// + /// Routing conditions. + /// + public InputList RouteConditions + { + get => _routeConditions ?? (_routeConditions = new InputList()); + set => _routeConditions = value; + } + + public RouteTableInputPoliciesPolicyArgs() + { + } + public static new RouteTableInputPoliciesPolicyArgs Empty => new RouteTableInputPoliciesPolicyArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyGetArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyGetArgs.cs new file mode 100644 index 000000000..0efc02375 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyGetArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableInputPoliciesPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Routing behavior, `accept` allows, `drop` rejects. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Policy description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + [Input("routeConditions", required: true)] + private InputList? _routeConditions; + + /// + /// Routing conditions. + /// + public InputList RouteConditions + { + get => _routeConditions ?? (_routeConditions = new InputList()); + set => _routeConditions = value; + } + + public RouteTableInputPoliciesPolicyGetArgs() + { + } + public static new RouteTableInputPoliciesPolicyGetArgs Empty => new RouteTableInputPoliciesPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionArgs.cs new file mode 100644 index 000000000..9ed32e723 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableInputPoliciesPolicyRouteConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + [Input("matchPattern", required: true)] + public Input MatchPattern { get; set; } = null!; + + /// + /// condition type. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// List of conditional values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RouteTableInputPoliciesPolicyRouteConditionArgs() + { + } + public static new RouteTableInputPoliciesPolicyRouteConditionArgs Empty => new RouteTableInputPoliciesPolicyRouteConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionGetArgs.cs new file mode 100644 index 000000000..d3ebcb7c6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableInputPoliciesPolicyRouteConditionGetArgs.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.Ccn.Inputs +{ + + public sealed class RouteTableInputPoliciesPolicyRouteConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + [Input("matchPattern", required: true)] + public Input MatchPattern { get; set; } = null!; + + /// + /// condition type. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// List of conditional values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RouteTableInputPoliciesPolicyRouteConditionGetArgs() + { + } + public static new RouteTableInputPoliciesPolicyRouteConditionGetArgs Empty => new RouteTableInputPoliciesPolicyRouteConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyArgs.cs new file mode 100644 index 000000000..d8d87e6ec --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Ccn.Inputs +{ + + public sealed class RouteTableSelectionPoliciesSelectionPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + /// + [Input("instanceType", required: true)] + public Input InstanceType { get; set; } = null!; + + /// + /// route table ID. + /// + [Input("routeTableId", required: true)] + public Input RouteTableId { get; set; } = null!; + + /// + /// Source CIDR. + /// + [Input("sourceCidrBlock", required: true)] + public Input SourceCidrBlock { get; set; } = null!; + + public RouteTableSelectionPoliciesSelectionPolicyArgs() + { + } + public static new RouteTableSelectionPoliciesSelectionPolicyArgs Empty => new RouteTableSelectionPoliciesSelectionPolicyArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyGetArgs.cs b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyGetArgs.cs new file mode 100644 index 000000000..c23a3d114 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Inputs/RouteTableSelectionPoliciesSelectionPolicyGetArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Ccn.Inputs +{ + + public sealed class RouteTableSelectionPoliciesSelectionPolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// description. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + /// + [Input("instanceType", required: true)] + public Input InstanceType { get; set; } = null!; + + /// + /// route table ID. + /// + [Input("routeTableId", required: true)] + public Input RouteTableId { get; set; } = null!; + + /// + /// Source CIDR. + /// + [Input("sourceCidrBlock", required: true)] + public Input SourceCidrBlock { get; set; } = null!; + + public RouteTableSelectionPoliciesSelectionPolicyGetArgs() + { + } + public static new RouteTableSelectionPoliciesSelectionPolicyGetArgs Empty => new RouteTableSelectionPoliciesSelectionPolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Instance.cs b/sdk/dotnet/Tencentcloud/Ccn/Instance.cs index 971033fd4..cd833cc6d 100644 --- a/sdk/dotnet/Tencentcloud/Ccn/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Ccn/Instance.cs @@ -26,12 +26,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// /// return await Deployment.RunAsync(() => /// { - /// var main = new Tencentcloud.Ccn.Instance("main", new() + /// var example = new Tencentcloud.Ccn.Instance("example", new() /// { /// BandwidthLimitType = "INTER_REGION_LIMIT", /// ChargeType = "PREPAID", - /// Description = "ci-temp-test-ccn-des", + /// Description = "desc.", /// Qos = "AG", + /// RouteEcmpFlag = true, + /// RouteOverlapFlag = true, + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, /// }); /// /// }); @@ -49,12 +55,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// /// return await Deployment.RunAsync(() => /// { - /// var main = new Tencentcloud.Ccn.Instance("main", new() + /// var example = new Tencentcloud.Ccn.Instance("example", new() /// { /// BandwidthLimitType = "OUTER_REGION_LIMIT", /// ChargeType = "POSTPAID", - /// Description = "ci-temp-test-ccn-des", + /// Description = "desc.", /// Qos = "AG", + /// RouteEcmpFlag = false, + /// RouteOverlapFlag = false, + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, /// }); /// /// }); @@ -72,11 +84,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// /// return await Deployment.RunAsync(() => /// { - /// var main = new Tencentcloud.Ccn.Instance("main", new() + /// var example = new Tencentcloud.Ccn.Instance("example", new() /// { /// BandwidthLimitType = "INTER_REGION_LIMIT", /// ChargeType = "POSTPAID", - /// Description = "ci-temp-test-ccn-des", + /// Description = "desc.", /// Qos = "AG", /// }); /// @@ -89,7 +101,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// Ccn instance can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Ccn/instance:Instance test ccn-id + /// $ pulumi import tencentcloud:Ccn/instance:Instance example ccn-al70jo89 /// ``` /// [TencentcloudResourceType("tencentcloud:Ccn/instance:Instance")] @@ -137,6 +149,18 @@ public partial class Instance : global::Pulumi.CustomResource [Output("qos")] public Output Qos { get; private set; } = null!; + /// + /// Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + /// + [Output("routeEcmpFlag")] + public Output RouteEcmpFlag { get; private set; } = null!; + + /// + /// Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + /// + [Output("routeOverlapFlag")] + public Output RouteOverlapFlag { get; private set; } = null!; + /// /// States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. /// @@ -226,6 +250,18 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("qos")] public Input? Qos { get; set; } + /// + /// Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + /// + [Input("routeEcmpFlag")] + public Input? RouteEcmpFlag { get; set; } + + /// + /// Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + /// + [Input("routeOverlapFlag")] + public Input? RouteOverlapFlag { get; set; } + [Input("tags")] private InputMap? _tags; @@ -288,6 +324,18 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("qos")] public Input? Qos { get; set; } + /// + /// Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + /// + [Input("routeEcmpFlag")] + public Input? RouteEcmpFlag { get; set; } + + /// + /// Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + /// + [Input("routeOverlapFlag")] + public Input? RouteOverlapFlag { get; set; } + /// /// States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. /// diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesFilterResult.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesFilterResult.cs new file mode 100644 index 000000000..a90fec1e9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesFilterResult.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.Ccn.Outputs +{ + + [OutputType] + public sealed class GetRoutesFilterResult + { + /// + /// Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + /// + public readonly string Name; + /// + /// Filter value of the field. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetRoutesFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesRouteListResult.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesRouteListResult.cs new file mode 100644 index 000000000..9f8d8bacf --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/GetRoutesRouteListResult.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.Ccn.Outputs +{ + + [OutputType] + public sealed class GetRoutesRouteListResult + { + /// + /// Destination. + /// + public readonly string DestinationCidrBlock; + /// + /// Is routing enabled. + /// + public readonly bool Enabled; + /// + /// Extension status of routing. + /// + public readonly string ExtraState; + /// + /// Next hop extension name (associated instance extension name). + /// + public readonly string InstanceExtraName; + /// + /// Next jump (associated instance ID). + /// + public readonly string InstanceId; + /// + /// Next jump (associated instance name). + /// + public readonly string InstanceName; + /// + /// Next jump (associated instance region). + /// + public readonly string InstanceRegion; + /// + /// Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. + /// + public readonly string InstanceType; + /// + /// The UIN (root account) to which the associated instance belongs. + /// + public readonly string InstanceUin; + /// + /// Is it dynamic routing. + /// + public readonly bool IsBgp; + /// + /// route ID. + /// + public readonly string RouteId; + /// + /// Routing priority. + /// + public readonly int RoutePriority; + /// + /// update time. + /// + public readonly string UpdateTime; + + [OutputConstructor] + private GetRoutesRouteListResult( + string destinationCidrBlock, + + bool enabled, + + string extraState, + + string instanceExtraName, + + string instanceId, + + string instanceName, + + string instanceRegion, + + string instanceType, + + string instanceUin, + + bool isBgp, + + string routeId, + + int routePriority, + + string updateTime) + { + DestinationCidrBlock = destinationCidrBlock; + Enabled = enabled; + ExtraState = extraState; + InstanceExtraName = instanceExtraName; + InstanceId = instanceId; + InstanceName = instanceName; + InstanceRegion = instanceRegion; + InstanceType = instanceType; + InstanceUin = instanceUin; + IsBgp = isBgp; + RouteId = routeId; + RoutePriority = routePriority; + UpdateTime = updateTime; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableAssociateInstanceConfigInstance.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableAssociateInstanceConfigInstance.cs new file mode 100644 index 000000000..1359f2c1f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableAssociateInstanceConfigInstance.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.Ccn.Outputs +{ + + [OutputType] + public sealed class RouteTableAssociateInstanceConfigInstance + { + /// + /// Instances ID. + /// + public readonly string InstanceId; + /// + /// Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + /// + public readonly string InstanceType; + + [OutputConstructor] + private RouteTableAssociateInstanceConfigInstance( + string instanceId, + + string instanceType) + { + InstanceId = instanceId; + InstanceType = instanceType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicy.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicy.cs new file mode 100644 index 000000000..43bb1f910 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicy.cs @@ -0,0 +1,50 @@ +// *** 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.Ccn.Outputs +{ + + [OutputType] + public sealed class RouteTableBroadcastPoliciesPolicy + { + /// + /// Routing behavior, `accept` allows, `drop` rejects. + /// + public readonly string Action; + /// + /// propagation conditions. + /// + public readonly ImmutableArray BroadcastConditions; + /// + /// Policy description. + /// + public readonly string Description; + /// + /// Routing conditions. + /// + public readonly ImmutableArray RouteConditions; + + [OutputConstructor] + private RouteTableBroadcastPoliciesPolicy( + string action, + + ImmutableArray broadcastConditions, + + string description, + + ImmutableArray routeConditions) + { + Action = action; + BroadcastConditions = broadcastConditions; + Description = description; + RouteConditions = routeConditions; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyBroadcastCondition.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyBroadcastCondition.cs new file mode 100644 index 000000000..ecf24cb04 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyBroadcastCondition.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.Ccn.Outputs +{ + + [OutputType] + public sealed class RouteTableBroadcastPoliciesPolicyBroadcastCondition + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + public readonly int MatchPattern; + /// + /// condition type. + /// + public readonly string Name; + /// + /// List of conditional values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private RouteTableBroadcastPoliciesPolicyBroadcastCondition( + int matchPattern, + + string name, + + ImmutableArray values) + { + MatchPattern = matchPattern; + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyRouteCondition.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyRouteCondition.cs new file mode 100644 index 000000000..cc8a23476 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableBroadcastPoliciesPolicyRouteCondition.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.Ccn.Outputs +{ + + [OutputType] + public sealed class RouteTableBroadcastPoliciesPolicyRouteCondition + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + public readonly int MatchPattern; + /// + /// condition type. + /// + public readonly string Name; + /// + /// List of conditional values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private RouteTableBroadcastPoliciesPolicyRouteCondition( + int matchPattern, + + string name, + + ImmutableArray values) + { + MatchPattern = matchPattern; + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicy.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicy.cs new file mode 100644 index 000000000..83055f162 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicy.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.Ccn.Outputs +{ + + [OutputType] + public sealed class RouteTableInputPoliciesPolicy + { + /// + /// Routing behavior, `accept` allows, `drop` rejects. + /// + public readonly string Action; + /// + /// Policy description. + /// + public readonly string Description; + /// + /// Routing conditions. + /// + public readonly ImmutableArray RouteConditions; + + [OutputConstructor] + private RouteTableInputPoliciesPolicy( + string action, + + string description, + + ImmutableArray routeConditions) + { + Action = action; + Description = description; + RouteConditions = routeConditions; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicyRouteCondition.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicyRouteCondition.cs new file mode 100644 index 000000000..0fd7e975c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableInputPoliciesPolicyRouteCondition.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.Ccn.Outputs +{ + + [OutputType] + public sealed class RouteTableInputPoliciesPolicyRouteCondition + { + /// + /// Matching mode, `1` precise matching, `0` fuzzy matching. + /// + public readonly int MatchPattern; + /// + /// condition type. + /// + public readonly string Name; + /// + /// List of conditional values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private RouteTableInputPoliciesPolicyRouteCondition( + int matchPattern, + + string name, + + ImmutableArray values) + { + MatchPattern = matchPattern; + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableSelectionPoliciesSelectionPolicy.cs b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableSelectionPoliciesSelectionPolicy.cs new file mode 100644 index 000000000..d07e8f5bb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/Outputs/RouteTableSelectionPoliciesSelectionPolicy.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.Ccn.Outputs +{ + + [OutputType] + public sealed class RouteTableSelectionPoliciesSelectionPolicy + { + /// + /// description. + /// + public readonly string Description; + /// + /// Instance ID. + /// + public readonly string InstanceId; + /// + /// Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + /// + public readonly string InstanceType; + /// + /// route table ID. + /// + public readonly string RouteTableId; + /// + /// Source CIDR. + /// + public readonly string SourceCidrBlock; + + [OutputConstructor] + private RouteTableSelectionPoliciesSelectionPolicy( + string description, + + string instanceId, + + string instanceType, + + string routeTableId, + + string sourceCidrBlock) + { + Description = description; + InstanceId = instanceId; + InstanceType = instanceType; + RouteTableId = routeTableId; + SourceCidrBlock = sourceCidrBlock; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/RouteTable.cs b/sdk/dotnet/Tencentcloud/Ccn/RouteTable.cs new file mode 100644 index 000000000..348a7c9ae --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/RouteTable.cs @@ -0,0 +1,218 @@ +// *** 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.Ccn +{ + /// + /// Provides a resource to create a CCN Route table. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.Get("region") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create ccn + /// var exampleInstance = new Tencentcloud.Ccn.Instance("exampleInstance", new() + /// { + /// Description = "desc.", + /// Qos = "AG", + /// ChargeType = "PREPAID", + /// BandwidthLimitType = "INTER_REGION_LIMIT", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// // create ccn route table + /// var exampleRouteTable = new Tencentcloud.Ccn.RouteTable("exampleRouteTable", new() + /// { + /// CcnId = exampleInstance.Id, + /// Description = "desc.", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// Ccn instance can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Ccn/routeTable:RouteTable example ccnrtb-r5hrr417 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Ccn/routeTable:RouteTable")] + public partial class RouteTable : global::Pulumi.CustomResource + { + /// + /// CCN Instance ID. + /// + [Output("ccnId")] + public Output CcnId { get; private set; } = null!; + + /// + /// create time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Description of CCN Route table. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// True: default routing table False: non default routing table. + /// + [Output("isDefaultTable")] + public Output IsDefaultTable { get; private set; } = null!; + + /// + /// CCN Route table name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a RouteTable 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 RouteTable(string name, RouteTableArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTable:RouteTable", name, args ?? new RouteTableArgs(), MakeResourceOptions(options, "")) + { + } + + private RouteTable(string name, Input id, RouteTableState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTable:RouteTable", 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 RouteTable 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 RouteTable Get(string name, Input id, RouteTableState? state = null, CustomResourceOptions? options = null) + { + return new RouteTable(name, id, state, options); + } + } + + public sealed class RouteTableArgs : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId", required: true)] + public Input CcnId { get; set; } = null!; + + /// + /// Description of CCN Route table. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// CCN Route table name. + /// + [Input("name")] + public Input? Name { get; set; } + + public RouteTableArgs() + { + } + public static new RouteTableArgs Empty => new RouteTableArgs(); + } + + public sealed class RouteTableState : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId")] + public Input? CcnId { get; set; } + + /// + /// create time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Description of CCN Route table. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// True: default routing table False: non default routing table. + /// + [Input("isDefaultTable")] + public Input? IsDefaultTable { get; set; } + + /// + /// CCN Route table name. + /// + [Input("name")] + public Input? Name { get; set; } + + public RouteTableState() + { + } + public static new RouteTableState Empty => new RouteTableState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/RouteTableAssociateInstanceConfig.cs b/sdk/dotnet/Tencentcloud/Ccn/RouteTableAssociateInstanceConfig.cs new file mode 100644 index 000000000..d2688aa60 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/RouteTableAssociateInstanceConfig.cs @@ -0,0 +1,237 @@ +// *** 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.Ccn +{ + /// + /// Provides a resource to create a CCN Route table associate instance config. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.Get("region") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create ccn + /// var exampleInstance = new Tencentcloud.Ccn.Instance("exampleInstance", new() + /// { + /// Description = "desc.", + /// Qos = "AG", + /// ChargeType = "PREPAID", + /// BandwidthLimitType = "INTER_REGION_LIMIT", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// // create ccn route table + /// var exampleRouteTable = new Tencentcloud.Ccn.RouteTable("exampleRouteTable", new() + /// { + /// CcnId = exampleInstance.Id, + /// Description = "desc.", + /// }); + /// + /// // attachment instance + /// var attachment = new Tencentcloud.Ccn.Attachment("attachment", new() + /// { + /// CcnId = exampleInstance.Id, + /// InstanceId = vpc.Id, + /// InstanceType = "VPC", + /// InstanceRegion = region, + /// RouteTableId = exampleRouteTable.Id, + /// }); + /// + /// // route table associate instance + /// var exampleRouteTableAssociateInstanceConfig = new Tencentcloud.Ccn.RouteTableAssociateInstanceConfig("exampleRouteTableAssociateInstanceConfig", new() + /// { + /// CcnId = exampleInstance.Id, + /// RouteTableId = exampleRouteTable.Id, + /// Instances = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.RouteTableAssociateInstanceConfigInstanceArgs + /// { + /// InstanceId = vpc.Id, + /// InstanceType = "VPC", + /// }, + /// }, + /// }, new CustomResourceOptions + /// { + /// DependsOn = + /// { + /// attachment, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// Ccn instance can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig")] + public partial class RouteTableAssociateInstanceConfig : global::Pulumi.CustomResource + { + /// + /// ID of the CCN. + /// + [Output("ccnId")] + public Output CcnId { get; private set; } = null!; + + /// + /// Instances list. + /// + [Output("instances")] + public Output> Instances { get; private set; } = null!; + + /// + /// Ccn instance route table ID. + /// + [Output("routeTableId")] + public Output RouteTableId { get; private set; } = null!; + + + /// + /// Create a RouteTableAssociateInstanceConfig 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 RouteTableAssociateInstanceConfig(string name, RouteTableAssociateInstanceConfigArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig", name, args ?? new RouteTableAssociateInstanceConfigArgs(), MakeResourceOptions(options, "")) + { + } + + private RouteTableAssociateInstanceConfig(string name, Input id, RouteTableAssociateInstanceConfigState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig", 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 RouteTableAssociateInstanceConfig 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 RouteTableAssociateInstanceConfig Get(string name, Input id, RouteTableAssociateInstanceConfigState? state = null, CustomResourceOptions? options = null) + { + return new RouteTableAssociateInstanceConfig(name, id, state, options); + } + } + + public sealed class RouteTableAssociateInstanceConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// ID of the CCN. + /// + [Input("ccnId", required: true)] + public Input CcnId { get; set; } = null!; + + [Input("instances", required: true)] + private InputList? _instances; + + /// + /// Instances list. + /// + public InputList Instances + { + get => _instances ?? (_instances = new InputList()); + set => _instances = value; + } + + /// + /// Ccn instance route table ID. + /// + [Input("routeTableId", required: true)] + public Input RouteTableId { get; set; } = null!; + + public RouteTableAssociateInstanceConfigArgs() + { + } + public static new RouteTableAssociateInstanceConfigArgs Empty => new RouteTableAssociateInstanceConfigArgs(); + } + + public sealed class RouteTableAssociateInstanceConfigState : global::Pulumi.ResourceArgs + { + /// + /// ID of the CCN. + /// + [Input("ccnId")] + public Input? CcnId { get; set; } + + [Input("instances")] + private InputList? _instances; + + /// + /// Instances list. + /// + public InputList Instances + { + get => _instances ?? (_instances = new InputList()); + set => _instances = value; + } + + /// + /// Ccn instance route table ID. + /// + [Input("routeTableId")] + public Input? RouteTableId { get; set; } + + public RouteTableAssociateInstanceConfigState() + { + } + public static new RouteTableAssociateInstanceConfigState Empty => new RouteTableAssociateInstanceConfigState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/RouteTableBroadcastPolicies.cs b/sdk/dotnet/Tencentcloud/Ccn/RouteTableBroadcastPolicies.cs new file mode 100644 index 000000000..39aac7059 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/RouteTableBroadcastPolicies.cs @@ -0,0 +1,257 @@ +// *** 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.Ccn +{ + /// + /// Provides a resource to create a CCN Route table broadcast policies. + /// + /// > **NOTE:** Use this resource to manage all broadcast policies under the routing table of CCN instances. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.Get("region") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create ccn + /// var exampleInstance = new Tencentcloud.Ccn.Instance("exampleInstance", new() + /// { + /// Description = "desc.", + /// Qos = "AG", + /// ChargeType = "PREPAID", + /// BandwidthLimitType = "INTER_REGION_LIMIT", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// // create ccn route table + /// var exampleRouteTable = new Tencentcloud.Ccn.RouteTable("exampleRouteTable", new() + /// { + /// CcnId = exampleInstance.Id, + /// Description = "desc.", + /// }); + /// + /// // attachment instance + /// var attachment = new Tencentcloud.Ccn.Attachment("attachment", new() + /// { + /// CcnId = exampleInstance.Id, + /// InstanceId = vpc.Id, + /// InstanceType = "VPC", + /// InstanceRegion = region, + /// RouteTableId = exampleRouteTable.Id, + /// }); + /// + /// // create route table broadcast policy + /// var exampleRouteTableBroadcastPolicies = new Tencentcloud.Ccn.RouteTableBroadcastPolicies("exampleRouteTableBroadcastPolicies", new() + /// { + /// CcnId = exampleInstance.Id, + /// RouteTableId = exampleRouteTable.Id, + /// Policies = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.RouteTableBroadcastPoliciesPolicyArgs + /// { + /// Action = "accept", + /// Description = "desc.", + /// RouteConditions = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.RouteTableBroadcastPoliciesPolicyRouteConditionArgs + /// { + /// Name = "instance-region", + /// Values = new[] + /// { + /// "ap-guangzhou", + /// }, + /// MatchPattern = 1, + /// }, + /// }, + /// BroadcastConditions = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs + /// { + /// Name = "instance-region", + /// Values = new[] + /// { + /// "ap-shanghai", + /// }, + /// MatchPattern = 1, + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// Ccn instance can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies")] + public partial class RouteTableBroadcastPolicies : global::Pulumi.CustomResource + { + /// + /// CCN Instance ID. + /// + [Output("ccnId")] + public Output CcnId { get; private set; } = null!; + + /// + /// Routing propagation strategy. + /// + [Output("policies")] + public Output> Policies { get; private set; } = null!; + + /// + /// CCN Route table ID. + /// + [Output("routeTableId")] + public Output RouteTableId { get; private set; } = null!; + + + /// + /// Create a RouteTableBroadcastPolicies 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 RouteTableBroadcastPolicies(string name, RouteTableBroadcastPoliciesArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies", name, args ?? new RouteTableBroadcastPoliciesArgs(), MakeResourceOptions(options, "")) + { + } + + private RouteTableBroadcastPolicies(string name, Input id, RouteTableBroadcastPoliciesState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies", 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 RouteTableBroadcastPolicies 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 RouteTableBroadcastPolicies Get(string name, Input id, RouteTableBroadcastPoliciesState? state = null, CustomResourceOptions? options = null) + { + return new RouteTableBroadcastPolicies(name, id, state, options); + } + } + + public sealed class RouteTableBroadcastPoliciesArgs : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId", required: true)] + public Input CcnId { get; set; } = null!; + + [Input("policies", required: true)] + private InputList? _policies; + + /// + /// Routing propagation strategy. + /// + public InputList Policies + { + get => _policies ?? (_policies = new InputList()); + set => _policies = value; + } + + /// + /// CCN Route table ID. + /// + [Input("routeTableId", required: true)] + public Input RouteTableId { get; set; } = null!; + + public RouteTableBroadcastPoliciesArgs() + { + } + public static new RouteTableBroadcastPoliciesArgs Empty => new RouteTableBroadcastPoliciesArgs(); + } + + public sealed class RouteTableBroadcastPoliciesState : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId")] + public Input? CcnId { get; set; } + + [Input("policies")] + private InputList? _policies; + + /// + /// Routing propagation strategy. + /// + public InputList Policies + { + get => _policies ?? (_policies = new InputList()); + set => _policies = value; + } + + /// + /// CCN Route table ID. + /// + [Input("routeTableId")] + public Input? RouteTableId { get; set; } + + public RouteTableBroadcastPoliciesState() + { + } + public static new RouteTableBroadcastPoliciesState Empty => new RouteTableBroadcastPoliciesState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/RouteTableInputPolicies.cs b/sdk/dotnet/Tencentcloud/Ccn/RouteTableInputPolicies.cs new file mode 100644 index 000000000..74a1b272e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/RouteTableInputPolicies.cs @@ -0,0 +1,245 @@ +// *** 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.Ccn +{ + /// + /// Provides a resource to create a CCN Route table input policies. + /// + /// > **NOTE:** Use this resource to manage all input policies under the routing table of CCN instances. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.Get("region") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create ccn + /// var exampleInstance = new Tencentcloud.Ccn.Instance("exampleInstance", new() + /// { + /// Description = "desc.", + /// Qos = "AG", + /// ChargeType = "PREPAID", + /// BandwidthLimitType = "INTER_REGION_LIMIT", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// // create ccn route table + /// var exampleRouteTable = new Tencentcloud.Ccn.RouteTable("exampleRouteTable", new() + /// { + /// CcnId = exampleInstance.Id, + /// Description = "desc.", + /// }); + /// + /// // attachment instance + /// var attachment = new Tencentcloud.Ccn.Attachment("attachment", new() + /// { + /// CcnId = exampleInstance.Id, + /// InstanceId = vpc.Id, + /// InstanceType = "VPC", + /// InstanceRegion = region, + /// RouteTableId = exampleRouteTable.Id, + /// }); + /// + /// // create route table input policy + /// var exampleRouteTableInputPolicies = new Tencentcloud.Ccn.RouteTableInputPolicies("exampleRouteTableInputPolicies", new() + /// { + /// CcnId = exampleInstance.Id, + /// RouteTableId = exampleRouteTable.Id, + /// Policies = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.RouteTableInputPoliciesPolicyArgs + /// { + /// Action = "accept", + /// Description = "desc.", + /// RouteConditions = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.RouteTableInputPoliciesPolicyRouteConditionArgs + /// { + /// Name = "instance-region", + /// Values = new[] + /// { + /// region, + /// }, + /// MatchPattern = 1, + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// Ccn instance can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies")] + public partial class RouteTableInputPolicies : global::Pulumi.CustomResource + { + /// + /// CCN Instance ID. + /// + [Output("ccnId")] + public Output CcnId { get; private set; } = null!; + + /// + /// Routing reception strategy. + /// + [Output("policies")] + public Output> Policies { get; private set; } = null!; + + /// + /// CCN Route table ID. + /// + [Output("routeTableId")] + public Output RouteTableId { get; private set; } = null!; + + + /// + /// Create a RouteTableInputPolicies 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 RouteTableInputPolicies(string name, RouteTableInputPoliciesArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies", name, args ?? new RouteTableInputPoliciesArgs(), MakeResourceOptions(options, "")) + { + } + + private RouteTableInputPolicies(string name, Input id, RouteTableInputPoliciesState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies", 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 RouteTableInputPolicies 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 RouteTableInputPolicies Get(string name, Input id, RouteTableInputPoliciesState? state = null, CustomResourceOptions? options = null) + { + return new RouteTableInputPolicies(name, id, state, options); + } + } + + public sealed class RouteTableInputPoliciesArgs : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId", required: true)] + public Input CcnId { get; set; } = null!; + + [Input("policies")] + private InputList? _policies; + + /// + /// Routing reception strategy. + /// + public InputList Policies + { + get => _policies ?? (_policies = new InputList()); + set => _policies = value; + } + + /// + /// CCN Route table ID. + /// + [Input("routeTableId", required: true)] + public Input RouteTableId { get; set; } = null!; + + public RouteTableInputPoliciesArgs() + { + } + public static new RouteTableInputPoliciesArgs Empty => new RouteTableInputPoliciesArgs(); + } + + public sealed class RouteTableInputPoliciesState : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId")] + public Input? CcnId { get; set; } + + [Input("policies")] + private InputList? _policies; + + /// + /// Routing reception strategy. + /// + public InputList Policies + { + get => _policies ?? (_policies = new InputList()); + set => _policies = value; + } + + /// + /// CCN Route table ID. + /// + [Input("routeTableId")] + public Input? RouteTableId { get; set; } + + public RouteTableInputPoliciesState() + { + } + public static new RouteTableInputPoliciesState Empty => new RouteTableInputPoliciesState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/RouteTableSelectionPolicies.cs b/sdk/dotnet/Tencentcloud/Ccn/RouteTableSelectionPolicies.cs new file mode 100644 index 000000000..fd4cc2a01 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Ccn/RouteTableSelectionPolicies.cs @@ -0,0 +1,217 @@ +// *** 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.Ccn +{ + /// + /// Provides a resource to create a CCN Route table selection policies. + /// + /// > **NOTE:** Use this resource to manage all selection policies under the routing table of CCN instances. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.Get("region") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create ccn + /// var exampleInstance = new Tencentcloud.Ccn.Instance("exampleInstance", new() + /// { + /// Description = "desc.", + /// Qos = "AG", + /// ChargeType = "PREPAID", + /// BandwidthLimitType = "INTER_REGION_LIMIT", + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// // create ccn route table + /// var exampleRouteTable = new Tencentcloud.Ccn.RouteTable("exampleRouteTable", new() + /// { + /// CcnId = exampleInstance.Id, + /// Description = "desc.", + /// }); + /// + /// // attachment instance + /// var attachment = new Tencentcloud.Ccn.Attachment("attachment", new() + /// { + /// CcnId = exampleInstance.Id, + /// InstanceId = vpc.Id, + /// InstanceType = "VPC", + /// InstanceRegion = region, + /// RouteTableId = exampleRouteTable.Id, + /// }); + /// + /// // create route table selection policy + /// var exampleRouteTableSelectionPolicies = new Tencentcloud.Ccn.RouteTableSelectionPolicies("exampleRouteTableSelectionPolicies", new() + /// { + /// CcnId = exampleInstance.Id, + /// SelectionPolicies = new[] + /// { + /// new Tencentcloud.Ccn.Inputs.RouteTableSelectionPoliciesSelectionPolicyArgs + /// { + /// InstanceType = "VPC", + /// InstanceId = vpc.Id, + /// SourceCidrBlock = "192.168.100.0/24", + /// RouteTableId = exampleRouteTable.Id, + /// Description = "desc.", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// Ccn instance can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies example ccn-gr7nynbd + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies")] + public partial class RouteTableSelectionPolicies : global::Pulumi.CustomResource + { + /// + /// CCN Instance ID. + /// + [Output("ccnId")] + public Output CcnId { get; private set; } = null!; + + /// + /// Select strategy information set. + /// + [Output("selectionPolicies")] + public Output> SelectionPolicies { get; private set; } = null!; + + + /// + /// Create a RouteTableSelectionPolicies 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 RouteTableSelectionPolicies(string name, RouteTableSelectionPoliciesArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies", name, args ?? new RouteTableSelectionPoliciesArgs(), MakeResourceOptions(options, "")) + { + } + + private RouteTableSelectionPolicies(string name, Input id, RouteTableSelectionPoliciesState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies", 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 RouteTableSelectionPolicies 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 RouteTableSelectionPolicies Get(string name, Input id, RouteTableSelectionPoliciesState? state = null, CustomResourceOptions? options = null) + { + return new RouteTableSelectionPolicies(name, id, state, options); + } + } + + public sealed class RouteTableSelectionPoliciesArgs : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId", required: true)] + public Input CcnId { get; set; } = null!; + + [Input("selectionPolicies", required: true)] + private InputList? _selectionPolicies; + + /// + /// Select strategy information set. + /// + public InputList SelectionPolicies + { + get => _selectionPolicies ?? (_selectionPolicies = new InputList()); + set => _selectionPolicies = value; + } + + public RouteTableSelectionPoliciesArgs() + { + } + public static new RouteTableSelectionPoliciesArgs Empty => new RouteTableSelectionPoliciesArgs(); + } + + public sealed class RouteTableSelectionPoliciesState : global::Pulumi.ResourceArgs + { + /// + /// CCN Instance ID. + /// + [Input("ccnId")] + public Input? CcnId { get; set; } + + [Input("selectionPolicies")] + private InputList? _selectionPolicies; + + /// + /// Select strategy information set. + /// + public InputList SelectionPolicies + { + get => _selectionPolicies ?? (_selectionPolicies = new InputList()); + set => _selectionPolicies = value; + } + + public RouteTableSelectionPoliciesState() + { + } + public static new RouteTableSelectionPoliciesState Empty => new RouteTableSelectionPoliciesState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Ccn/Routes.cs b/sdk/dotnet/Tencentcloud/Ccn/Routes.cs index 3d8f0185d..c3e64fb0d 100644 --- a/sdk/dotnet/Tencentcloud/Ccn/Routes.cs +++ b/sdk/dotnet/Tencentcloud/Ccn/Routes.cs @@ -11,7 +11,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn { /// - /// Provides a resource to create a vpc ccn_routes + /// Provides a resource to create a vpc ccn_routes switch /// /// ## Example Usage /// @@ -24,11 +24,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// /// return await Deployment.RunAsync(() => /// { - /// var ccnRoutes = new Tencentcloud.Ccn.Routes("ccnRoutes", new() + /// var example = new Tencentcloud.Ccn.Routes("example", new() /// { - /// CcnId = "ccn-39lqkygf", - /// RouteId = "ccnr-3o0dfyuw", - /// Switch = "on", + /// CcnId = "ccn-gr7nynbd", + /// RouteId = "ccnrtb-jpf7bzn3", + /// Switch = "off", /// }); /// /// }); @@ -40,7 +40,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Ccn /// vpc ccn_routes can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccnId#routesId + /// $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccn-gr7nynbd#ccnr-5uhewx1s /// ``` /// [TencentcloudResourceType("tencentcloud:Ccn/routes:Routes")] diff --git a/sdk/dotnet/Tencentcloud/Cdc/DedicatedCluster.cs b/sdk/dotnet/Tencentcloud/Cdc/DedicatedCluster.cs new file mode 100644 index 000000000..a45eb54be --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/DedicatedCluster.cs @@ -0,0 +1,192 @@ +// *** 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.Cdc +{ + /// + /// Provides a resource to create a CDC dedicated cluster + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // create cdc site + /// var exampleSite = new Tencentcloud.Cdc.Site("exampleSite", new() + /// { + /// Country = "China", + /// Province = "Guangdong Province", + /// City = "Guangzhou", + /// AddressLine = "Tencent Building", + /// Description = "desc.", + /// }); + /// + /// // create cdc dedicated cluster + /// var exampleDedicatedCluster = new Tencentcloud.Cdc.DedicatedCluster("exampleDedicatedCluster", new() + /// { + /// SiteId = exampleSite.Id, + /// Zone = "ap-guangzhou-6", + /// Description = "desc.", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// CDC dedicated cluster can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Cdc/dedicatedCluster:DedicatedCluster example cluster-d574omhk + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Cdc/dedicatedCluster:DedicatedCluster")] + public partial class DedicatedCluster : global::Pulumi.CustomResource + { + /// + /// Dedicated Cluster Description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Dedicated Cluster Name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Dedicated Cluster Site ID. + /// + [Output("siteId")] + public Output SiteId { get; private set; } = null!; + + /// + /// Dedicated Cluster Zone. + /// + [Output("zone")] + public Output Zone { get; private set; } = null!; + + + /// + /// Create a DedicatedCluster 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 DedicatedCluster(string name, DedicatedClusterArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Cdc/dedicatedCluster:DedicatedCluster", name, args ?? new DedicatedClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private DedicatedCluster(string name, Input id, DedicatedClusterState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Cdc/dedicatedCluster:DedicatedCluster", 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 DedicatedCluster 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 DedicatedCluster Get(string name, Input id, DedicatedClusterState? state = null, CustomResourceOptions? options = null) + { + return new DedicatedCluster(name, id, state, options); + } + } + + public sealed class DedicatedClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// Dedicated Cluster Description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Dedicated Cluster Name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Dedicated Cluster Site ID. + /// + [Input("siteId", required: true)] + public Input SiteId { get; set; } = null!; + + /// + /// Dedicated Cluster Zone. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public DedicatedClusterArgs() + { + } + public static new DedicatedClusterArgs Empty => new DedicatedClusterArgs(); + } + + public sealed class DedicatedClusterState : global::Pulumi.ResourceArgs + { + /// + /// Dedicated Cluster Description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Dedicated Cluster Name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Dedicated Cluster Site ID. + /// + [Input("siteId")] + public Input? SiteId { get; set; } + + /// + /// Dedicated Cluster Zone. + /// + [Input("zone")] + public Input? Zone { get; set; } + + public DedicatedClusterState() + { + } + public static new DedicatedClusterState Empty => new DedicatedClusterState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterHosts.cs b/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterHosts.cs new file mode 100644 index 000000000..93ca34ab7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterHosts.cs @@ -0,0 +1,140 @@ +// *** 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.Cdc +{ + public static class GetDedicatedClusterHosts + { + /// + /// Use this data source to query detailed information of CDC dedicated cluster hosts + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var hosts = Tencentcloud.Cdc.GetDedicatedClusterHosts.Invoke(new() + /// { + /// DedicatedClusterId = "cluster-262n63e8", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetDedicatedClusterHostsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Cdc/getDedicatedClusterHosts:getDedicatedClusterHosts", args ?? new GetDedicatedClusterHostsArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of CDC dedicated cluster hosts + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var hosts = Tencentcloud.Cdc.GetDedicatedClusterHosts.Invoke(new() + /// { + /// DedicatedClusterId = "cluster-262n63e8", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetDedicatedClusterHostsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Cdc/getDedicatedClusterHosts:getDedicatedClusterHosts", args ?? new GetDedicatedClusterHostsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDedicatedClusterHostsArgs : global::Pulumi.InvokeArgs + { + /// + /// Dedicated Cluster ID. + /// + [Input("dedicatedClusterId", required: true)] + public string DedicatedClusterId { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetDedicatedClusterHostsArgs() + { + } + public static new GetDedicatedClusterHostsArgs Empty => new GetDedicatedClusterHostsArgs(); + } + + public sealed class GetDedicatedClusterHostsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Dedicated Cluster ID. + /// + [Input("dedicatedClusterId", required: true)] + public Input DedicatedClusterId { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetDedicatedClusterHostsInvokeArgs() + { + } + public static new GetDedicatedClusterHostsInvokeArgs Empty => new GetDedicatedClusterHostsInvokeArgs(); + } + + + [OutputType] + public sealed class GetDedicatedClusterHostsResult + { + public readonly string DedicatedClusterId; + /// + /// Dedicated Cluster Host Info. + /// + public readonly ImmutableArray HostInfoSets; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetDedicatedClusterHostsResult( + string dedicatedClusterId, + + ImmutableArray hostInfoSets, + + string id, + + string? resultOutputFile) + { + DedicatedClusterId = dedicatedClusterId; + HostInfoSets = hostInfoSets; + Id = id; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterInstanceTypes.cs b/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterInstanceTypes.cs new file mode 100644 index 000000000..9e26558d1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterInstanceTypes.cs @@ -0,0 +1,140 @@ +// *** 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.Cdc +{ + public static class GetDedicatedClusterInstanceTypes + { + /// + /// Use this data source to query detailed information of CDC dedicated cluster instance types + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var types = Tencentcloud.Cdc.GetDedicatedClusterInstanceTypes.Invoke(new() + /// { + /// DedicatedClusterId = "cluster-262n63e8", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetDedicatedClusterInstanceTypesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Cdc/getDedicatedClusterInstanceTypes:getDedicatedClusterInstanceTypes", args ?? new GetDedicatedClusterInstanceTypesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of CDC dedicated cluster instance types + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var types = Tencentcloud.Cdc.GetDedicatedClusterInstanceTypes.Invoke(new() + /// { + /// DedicatedClusterId = "cluster-262n63e8", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetDedicatedClusterInstanceTypesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Cdc/getDedicatedClusterInstanceTypes:getDedicatedClusterInstanceTypes", args ?? new GetDedicatedClusterInstanceTypesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDedicatedClusterInstanceTypesArgs : global::Pulumi.InvokeArgs + { + /// + /// Dedicated Cluster ID. + /// + [Input("dedicatedClusterId", required: true)] + public string DedicatedClusterId { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetDedicatedClusterInstanceTypesArgs() + { + } + public static new GetDedicatedClusterInstanceTypesArgs Empty => new GetDedicatedClusterInstanceTypesArgs(); + } + + public sealed class GetDedicatedClusterInstanceTypesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Dedicated Cluster ID. + /// + [Input("dedicatedClusterId", required: true)] + public Input DedicatedClusterId { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetDedicatedClusterInstanceTypesInvokeArgs() + { + } + public static new GetDedicatedClusterInstanceTypesInvokeArgs Empty => new GetDedicatedClusterInstanceTypesInvokeArgs(); + } + + + [OutputType] + public sealed class GetDedicatedClusterInstanceTypesResult + { + public readonly string DedicatedClusterId; + /// + /// Dedicated Cluster Supported InstanceType. + /// + public readonly ImmutableArray DedicatedClusterInstanceTypeSets; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetDedicatedClusterInstanceTypesResult( + string dedicatedClusterId, + + ImmutableArray dedicatedClusterInstanceTypeSets, + + string id, + + string? resultOutputFile) + { + DedicatedClusterId = dedicatedClusterId; + DedicatedClusterInstanceTypeSets = dedicatedClusterInstanceTypeSets; + Id = id; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterOrders.cs b/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterOrders.cs new file mode 100644 index 000000000..6f083e8cb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/GetDedicatedClusterOrders.cs @@ -0,0 +1,240 @@ +// *** 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.Cdc +{ + public static class GetDedicatedClusterOrders + { + /// + /// Use this data source to query detailed information of CDC dedicated cluster orders + /// + /// ## Example Usage + /// + /// ### Query all orders + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var orders = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query orders by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var orders1 = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(new() + /// { + /// DedicatedClusterIds = new[] + /// { + /// "cluster-262n63e8", + /// }, + /// }); + /// + /// var orders3 = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(new() + /// { + /// ActionType = "CREATE", + /// Status = "PENDING", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetDedicatedClusterOrdersArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Cdc/getDedicatedClusterOrders:getDedicatedClusterOrders", args ?? new GetDedicatedClusterOrdersArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of CDC dedicated cluster orders + /// + /// ## Example Usage + /// + /// ### Query all orders + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var orders = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query orders by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var orders1 = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(new() + /// { + /// DedicatedClusterIds = new[] + /// { + /// "cluster-262n63e8", + /// }, + /// }); + /// + /// var orders3 = Tencentcloud.Cdc.GetDedicatedClusterOrders.Invoke(new() + /// { + /// ActionType = "CREATE", + /// Status = "PENDING", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetDedicatedClusterOrdersInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Cdc/getDedicatedClusterOrders:getDedicatedClusterOrders", args ?? new GetDedicatedClusterOrdersInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDedicatedClusterOrdersArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + /// + [Input("actionType")] + public string? ActionType { get; set; } + + [Input("dedicatedClusterIds")] + private List? _dedicatedClusterIds; + + /// + /// Filter by Dedicated Cluster ID. + /// + public List DedicatedClusterIds + { + get => _dedicatedClusterIds ?? (_dedicatedClusterIds = new List()); + set => _dedicatedClusterIds = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + /// + [Input("status")] + public string? Status { get; set; } + + public GetDedicatedClusterOrdersArgs() + { + } + public static new GetDedicatedClusterOrdersArgs Empty => new GetDedicatedClusterOrdersArgs(); + } + + public sealed class GetDedicatedClusterOrdersInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + /// + [Input("actionType")] + public Input? ActionType { get; set; } + + [Input("dedicatedClusterIds")] + private InputList? _dedicatedClusterIds; + + /// + /// Filter by Dedicated Cluster ID. + /// + public InputList DedicatedClusterIds + { + get => _dedicatedClusterIds ?? (_dedicatedClusterIds = new InputList()); + set => _dedicatedClusterIds = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + /// + [Input("status")] + public Input? Status { get; set; } + + public GetDedicatedClusterOrdersInvokeArgs() + { + } + public static new GetDedicatedClusterOrdersInvokeArgs Empty => new GetDedicatedClusterOrdersInvokeArgs(); + } + + + [OutputType] + public sealed class GetDedicatedClusterOrdersResult + { + public readonly string? ActionType; + public readonly ImmutableArray DedicatedClusterIds; + /// + /// Filter by Dedicated Cluster Order. + /// + public readonly ImmutableArray DedicatedClusterOrderSets; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + public readonly string? Status; + + [OutputConstructor] + private GetDedicatedClusterOrdersResult( + string? actionType, + + ImmutableArray dedicatedClusterIds, + + ImmutableArray dedicatedClusterOrderSets, + + string id, + + string? resultOutputFile, + + string? status) + { + ActionType = actionType; + DedicatedClusterIds = dedicatedClusterIds; + DedicatedClusterOrderSets = dedicatedClusterOrderSets; + Id = id; + ResultOutputFile = resultOutputFile; + Status = status; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterHostsHostInfoSetResult.cs b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterHostsHostInfoSetResult.cs new file mode 100644 index 000000000..fbc138666 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterHostsHostInfoSetResult.cs @@ -0,0 +1,99 @@ +// *** 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.Cdc.Outputs +{ + + [OutputType] + public sealed class GetDedicatedClusterHostsHostInfoSetResult + { + /// + /// Dedicated Cluster Host CPU Available Count. + /// + public readonly int CpuAvailable; + /// + /// Dedicated Cluster Host CPU Total Count. + /// + public readonly int CpuTotal; + /// + /// Dedicated Cluster Host Expire Time. + /// + public readonly string ExpireTime; + /// + /// Dedicated Cluster Host ID. + /// + public readonly string HostId; + /// + /// Dedicated Cluster Host Ip (Deprecated). + /// + public readonly string HostIp; + /// + /// Dedicated Cluster Host Status. + /// + public readonly string HostStatus; + /// + /// Dedicated Cluster Host Type. + /// + public readonly string HostType; + /// + /// Dedicated Cluster Host Memory Available Count (GB). + /// + public readonly int MemAvailable; + /// + /// Dedicated Cluster Host Memory Total Count (GB). + /// + public readonly int MemTotal; + /// + /// Dedicated Cluster Host Run Time. + /// + public readonly string RunTime; + /// + /// Dedicated Cluster Service Type. + /// + public readonly string ServiceType; + + [OutputConstructor] + private GetDedicatedClusterHostsHostInfoSetResult( + int cpuAvailable, + + int cpuTotal, + + string expireTime, + + string hostId, + + string hostIp, + + string hostStatus, + + string hostType, + + int memAvailable, + + int memTotal, + + string runTime, + + string serviceType) + { + CpuAvailable = cpuAvailable; + CpuTotal = cpuTotal; + ExpireTime = expireTime; + HostId = hostId; + HostIp = hostIp; + HostStatus = hostStatus; + HostType = hostType; + MemAvailable = memAvailable; + MemTotal = memTotal; + RunTime = runTime; + ServiceType = serviceType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult.cs b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult.cs new file mode 100644 index 000000000..f870b782a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult.cs @@ -0,0 +1,127 @@ +// *** 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.Cdc.Outputs +{ + + [OutputType] + public sealed class GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult + { + /// + /// Instance CPU. + /// + public readonly int Cpu; + /// + /// Instance CPU Type. + /// + public readonly string CpuType; + /// + /// Instance Fpga. + /// + public readonly int Fpga; + /// + /// Instance GPU. + /// + public readonly int Gpu; + /// + /// Instance Bandwidth. + /// + public readonly double InstanceBandwidth; + /// + /// Instance Family. + /// + public readonly string InstanceFamily; + /// + /// Instance Pps. + /// + public readonly int InstancePps; + /// + /// Instance Type. + /// + public readonly string InstanceType; + /// + /// Instance Memory. + /// + public readonly int Memory; + /// + /// Instance Type. + /// + public readonly int NetworkCard; + /// + /// Instance Remark. + /// + public readonly string Remark; + /// + /// Instance Status. + /// + public readonly string Status; + /// + /// Instance Storage Block Amount. + /// + public readonly int StorageBlockAmount; + /// + /// Instance Type Name. + /// + public readonly string TypeName; + /// + /// Zone Name. + /// + public readonly string Zone; + + [OutputConstructor] + private GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult( + int cpu, + + string cpuType, + + int fpga, + + int gpu, + + double instanceBandwidth, + + string instanceFamily, + + int instancePps, + + string instanceType, + + int memory, + + int networkCard, + + string remark, + + string status, + + int storageBlockAmount, + + string typeName, + + string zone) + { + Cpu = cpu; + CpuType = cpuType; + Fpga = fpga; + Gpu = gpu; + InstanceBandwidth = instanceBandwidth; + InstanceFamily = instanceFamily; + InstancePps = instancePps; + InstanceType = instanceType; + Memory = memory; + NetworkCard = networkCard; + Remark = remark; + Status = status; + StorageBlockAmount = storageBlockAmount; + TypeName = typeName; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult.cs b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult.cs new file mode 100644 index 000000000..33756411b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult.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.Cdc.Outputs +{ + + [OutputType] + public sealed class GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult + { + /// + /// Dedicated Cluster Compute Format. + /// + public readonly string ComputeFormat; + /// + /// Dedicated Cluster SubOrder Count. + /// + public readonly int Count; + /// + /// Dedicated Cluster Order Create time. + /// + public readonly string CreateTime; + /// + /// Dedicated Cluster Type ID. + /// + public readonly string DedicatedClusterTypeId; + /// + /// Dedicated Cluster Type Description. + /// + public readonly string Description; + /// + /// Dedicated Cluster Type Name. + /// + public readonly string Name; + /// + /// Dedicated Cluster Supported PowerDraw. + /// + public readonly double PowerDraw; + /// + /// Dedicated Cluster SubOrder ID. + /// + public readonly string SubOrderId; + /// + /// Dedicated Cluster SubOrder Pay Status. + /// + public readonly int SubOrderPayStatus; + /// + /// Dedicated Cluster Order Status. + /// + public readonly string SubOrderStatus; + /// + /// Dedicated Cluster Supported Instance Family. + /// + public readonly ImmutableArray SupportedInstanceFamilies; + /// + /// Dedicated Cluster Storage Type. + /// + public readonly ImmutableArray SupportedStorageTypes; + /// + /// Dedicated Cluster Supported Uplink Speed. + /// + public readonly ImmutableArray SupportedUplinkSpeeds; + /// + /// Dedicated Cluster Total CPU. + /// + public readonly int TotalCpu; + /// + /// Dedicated Cluster Total GPU. + /// + public readonly int TotalGpu; + /// + /// Dedicated Cluster Total Memory. + /// + public readonly int TotalMem; + /// + /// Dedicated Cluster Type Family. + /// + public readonly string TypeFamily; + /// + /// Dedicated Cluster Type Name. + /// + public readonly string TypeName; + /// + /// Dedicated Cluster Supported Weight. + /// + public readonly int Weight; + + [OutputConstructor] + private GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult( + string computeFormat, + + int count, + + string createTime, + + string dedicatedClusterTypeId, + + string description, + + string name, + + double powerDraw, + + string subOrderId, + + int subOrderPayStatus, + + string subOrderStatus, + + ImmutableArray supportedInstanceFamilies, + + ImmutableArray supportedStorageTypes, + + ImmutableArray supportedUplinkSpeeds, + + int totalCpu, + + int totalGpu, + + int totalMem, + + string typeFamily, + + string typeName, + + int weight) + { + ComputeFormat = computeFormat; + Count = count; + CreateTime = createTime; + DedicatedClusterTypeId = dedicatedClusterTypeId; + Description = description; + Name = name; + PowerDraw = powerDraw; + SubOrderId = subOrderId; + SubOrderPayStatus = subOrderPayStatus; + SubOrderStatus = subOrderStatus; + SupportedInstanceFamilies = supportedInstanceFamilies; + SupportedStorageTypes = supportedStorageTypes; + SupportedUplinkSpeeds = supportedUplinkSpeeds; + TotalCpu = totalCpu; + TotalGpu = totalGpu; + TotalMem = totalMem; + TypeFamily = typeFamily; + TypeName = typeName; + Weight = weight; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetResult.cs b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetResult.cs new file mode 100644 index 000000000..ade8d3466 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/Outputs/GetDedicatedClusterOrdersDedicatedClusterOrderSetResult.cs @@ -0,0 +1,162 @@ +// *** 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.Cdc.Outputs +{ + + [OutputType] + public sealed class GetDedicatedClusterOrdersDedicatedClusterOrderSetResult + { + /// + /// Dedicated Cluster Order Action Type. + /// + public readonly string Action; + /// + /// Dedicated Cluster CPU. + /// + public readonly int Cpu; + /// + /// Dedicated Cluster Order Create time. + /// + public readonly string CreateTime; + /// + /// Dedicated Cluster ID. + /// + public readonly string DedicatedClusterId; + /// + /// Dedicated Cluster Order ID. + /// + public readonly string DedicatedClusterOrderId; + /// + /// Dedicated Cluster Order Item List. + /// + public readonly ImmutableArray DedicatedClusterOrderItems; + /// + /// Dedicated Cluster Type ID. + /// + public readonly string DedicatedClusterTypeId; + /// + /// Dedicated Cluster GPU. + /// + public readonly int Gpu; + /// + /// Dedicated Cluster Memory. + /// + public readonly int Mem; + /// + /// Dedicated Cluster Order Status. + /// + public readonly string OrderStatus; + /// + /// Dedicated Cluster Order Type. + /// + public readonly string OrderType; + /// + /// Dedicated Cluster Order Pay Status. + /// + public readonly int PayStatus; + /// + /// Dedicated Cluster Order Pay Type. + /// + public readonly string PayType; + /// + /// Dedicated Cluster Supported PowerDraw. + /// + public readonly double PowerDraw; + /// + /// Dedicated Cluster Supported Instance Family. + /// + public readonly ImmutableArray SupportedInstanceFamilies; + /// + /// Dedicated Cluster Storage Type. + /// + public readonly ImmutableArray SupportedStorageTypes; + /// + /// Dedicated Cluster Supported Uplink Speed. + /// + public readonly ImmutableArray SupportedUplinkSpeeds; + /// + /// Dedicated Cluster Order Pay Time Span. + /// + public readonly int TimeSpan; + /// + /// Dedicated Cluster Order Pay Time Unit. + /// + public readonly string TimeUnit; + /// + /// Dedicated Cluster Supported Weight. + /// + public readonly int Weight; + + [OutputConstructor] + private GetDedicatedClusterOrdersDedicatedClusterOrderSetResult( + string action, + + int cpu, + + string createTime, + + string dedicatedClusterId, + + string dedicatedClusterOrderId, + + ImmutableArray dedicatedClusterOrderItems, + + string dedicatedClusterTypeId, + + int gpu, + + int mem, + + string orderStatus, + + string orderType, + + int payStatus, + + string payType, + + double powerDraw, + + ImmutableArray supportedInstanceFamilies, + + ImmutableArray supportedStorageTypes, + + ImmutableArray supportedUplinkSpeeds, + + int timeSpan, + + string timeUnit, + + int weight) + { + Action = action; + Cpu = cpu; + CreateTime = createTime; + DedicatedClusterId = dedicatedClusterId; + DedicatedClusterOrderId = dedicatedClusterOrderId; + DedicatedClusterOrderItems = dedicatedClusterOrderItems; + DedicatedClusterTypeId = dedicatedClusterTypeId; + Gpu = gpu; + Mem = mem; + OrderStatus = orderStatus; + OrderType = orderType; + PayStatus = payStatus; + PayType = payType; + PowerDraw = powerDraw; + SupportedInstanceFamilies = supportedInstanceFamilies; + SupportedStorageTypes = supportedStorageTypes; + SupportedUplinkSpeeds = supportedUplinkSpeeds; + TimeSpan = timeSpan; + TimeUnit = timeUnit; + Weight = weight; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdc/README.md b/sdk/dotnet/Tencentcloud/Cdc/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Cdc/Site.cs b/sdk/dotnet/Tencentcloud/Cdc/Site.cs new file mode 100644 index 000000000..7aab0c524 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdc/Site.cs @@ -0,0 +1,530 @@ +// *** 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.Cdc +{ + /// + /// Provides a resource to create a CDC site + /// + /// ## Example Usage + /// + /// ### Create a basic CDC site + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Cdc.Site("example", new() + /// { + /// AddressLine = "Tencent Building", + /// City = "Guangzhou", + /// Country = "China", + /// Description = "desc.", + /// Province = "Guangdong Province", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a complete CDC site + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Cdc.Site("example", new() + /// { + /// AddressLine = "Shenzhen Tencent Building", + /// BreakerRequirement = true, + /// City = "Guangzhou", + /// ConditionRequirement = true, + /// Country = "China", + /// Description = "desc.", + /// DimensionRequirement = true, + /// FiberType = "MM", + /// MaxWeight = 100, + /// NeedHelp = true, + /// OpticalStandard = "MM", + /// OptionalAddressLine = "Shenzhen Tencent Building of Binhai", + /// PowerConnectors = "380VAC3P", + /// PowerDrawKva = 10, + /// PowerFeedDrop = "DOWN", + /// Province = "Guangdong Province", + /// RedundantNetworking = true, + /// RedundantPower = true, + /// UplinkCount = 2, + /// UplinkSpeedGbps = 10, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// CDC site can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Cdc/site:Site example site-43qcf1ag + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Cdc/site:Site")] + public partial class Site : global::Pulumi.CustomResource + { + /// + /// Site Detail Address. + /// + [Output("addressLine")] + public Output AddressLine { get; private set; } = null!; + + /// + /// Whether there is an upstream circuit breaker. + /// + [Output("breakerRequirement")] + public Output BreakerRequirement { get; private set; } = null!; + + /// + /// Site City. + /// + [Output("city")] + public Output City { get; private set; } = null!; + + /// + /// Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + /// + [Output("conditionRequirement")] + public Output ConditionRequirement { get; private set; } = null!; + + /// + /// Site Country. + /// + [Output("country")] + public Output Country { get; private set; } = null!; + + /// + /// Site Description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + /// + [Output("dimensionRequirement")] + public Output DimensionRequirement { get; private set; } = null!; + + /// + /// Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + /// + [Output("fiberType")] + public Output FiberType { get; private set; } = null!; + + /// + /// Site Max Weight capacity (KG). + /// + [Output("maxWeight")] + public Output MaxWeight { get; private set; } = null!; + + /// + /// Site Name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Whether you need help from Tencent Cloud for rack installation. + /// + [Output("needHelp")] + public Output NeedHelp { get; private set; } = null!; + + /// + /// Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + /// + [Output("opticalStandard")] + public Output OpticalStandard { get; private set; } = null!; + + /// + /// Detailed address of the site area (to be added). + /// + [Output("optionalAddressLine")] + public Output OptionalAddressLine { get; private set; } = null!; + + /// + /// Site Power Connectors. Example: 380VAC3P. + /// + [Output("powerConnectors")] + public Output PowerConnectors { get; private set; } = null!; + + /// + /// Site Power DrawKva (KW). + /// + [Output("powerDrawKva")] + public Output PowerDrawKva { get; private set; } = null!; + + /// + /// Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + /// + [Output("powerFeedDrop")] + public Output PowerFeedDrop { get; private set; } = null!; + + /// + /// Site Province. + /// + [Output("province")] + public Output Province { get; private set; } = null!; + + /// + /// Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + /// + [Output("redundantNetworking")] + public Output RedundantNetworking { get; private set; } = null!; + + /// + /// Whether there is power redundancy. + /// + [Output("redundantPower")] + public Output RedundantPower { get; private set; } = null!; + + /// + /// Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + /// + [Output("uplinkCount")] + public Output UplinkCount { get; private set; } = null!; + + /// + /// Uplink speed from the network to Tencent Cloud Region. + /// + [Output("uplinkSpeedGbps")] + public Output UplinkSpeedGbps { get; private set; } = null!; + + + /// + /// Create a Site 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 Site(string name, SiteArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Cdc/site:Site", name, args ?? new SiteArgs(), MakeResourceOptions(options, "")) + { + } + + private Site(string name, Input id, SiteState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Cdc/site:Site", 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 Site 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 Site Get(string name, Input id, SiteState? state = null, CustomResourceOptions? options = null) + { + return new Site(name, id, state, options); + } + } + + public sealed class SiteArgs : global::Pulumi.ResourceArgs + { + /// + /// Site Detail Address. + /// + [Input("addressLine", required: true)] + public Input AddressLine { get; set; } = null!; + + /// + /// Whether there is an upstream circuit breaker. + /// + [Input("breakerRequirement")] + public Input? BreakerRequirement { get; set; } + + /// + /// Site City. + /// + [Input("city", required: true)] + public Input City { get; set; } = null!; + + /// + /// Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + /// + [Input("conditionRequirement")] + public Input? ConditionRequirement { get; set; } + + /// + /// Site Country. + /// + [Input("country", required: true)] + public Input Country { get; set; } = null!; + + /// + /// Site Description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + /// + [Input("dimensionRequirement")] + public Input? DimensionRequirement { get; set; } + + /// + /// Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + /// + [Input("fiberType")] + public Input? FiberType { get; set; } + + /// + /// Site Max Weight capacity (KG). + /// + [Input("maxWeight")] + public Input? MaxWeight { get; set; } + + /// + /// Site Name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Whether you need help from Tencent Cloud for rack installation. + /// + [Input("needHelp")] + public Input? NeedHelp { get; set; } + + /// + /// Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + /// + [Input("opticalStandard")] + public Input? OpticalStandard { get; set; } + + /// + /// Detailed address of the site area (to be added). + /// + [Input("optionalAddressLine")] + public Input? OptionalAddressLine { get; set; } + + /// + /// Site Power Connectors. Example: 380VAC3P. + /// + [Input("powerConnectors")] + public Input? PowerConnectors { get; set; } + + /// + /// Site Power DrawKva (KW). + /// + [Input("powerDrawKva")] + public Input? PowerDrawKva { get; set; } + + /// + /// Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + /// + [Input("powerFeedDrop")] + public Input? PowerFeedDrop { get; set; } + + /// + /// Site Province. + /// + [Input("province", required: true)] + public Input Province { get; set; } = null!; + + /// + /// Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + /// + [Input("redundantNetworking")] + public Input? RedundantNetworking { get; set; } + + /// + /// Whether there is power redundancy. + /// + [Input("redundantPower")] + public Input? RedundantPower { get; set; } + + /// + /// Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + /// + [Input("uplinkCount")] + public Input? UplinkCount { get; set; } + + /// + /// Uplink speed from the network to Tencent Cloud Region. + /// + [Input("uplinkSpeedGbps")] + public Input? UplinkSpeedGbps { get; set; } + + public SiteArgs() + { + } + public static new SiteArgs Empty => new SiteArgs(); + } + + public sealed class SiteState : global::Pulumi.ResourceArgs + { + /// + /// Site Detail Address. + /// + [Input("addressLine")] + public Input? AddressLine { get; set; } + + /// + /// Whether there is an upstream circuit breaker. + /// + [Input("breakerRequirement")] + public Input? BreakerRequirement { get; set; } + + /// + /// Site City. + /// + [Input("city")] + public Input? City { get; set; } + + /// + /// Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + /// + [Input("conditionRequirement")] + public Input? ConditionRequirement { get; set; } + + /// + /// Site Country. + /// + [Input("country")] + public Input? Country { get; set; } + + /// + /// Site Description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + /// + [Input("dimensionRequirement")] + public Input? DimensionRequirement { get; set; } + + /// + /// Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + /// + [Input("fiberType")] + public Input? FiberType { get; set; } + + /// + /// Site Max Weight capacity (KG). + /// + [Input("maxWeight")] + public Input? MaxWeight { get; set; } + + /// + /// Site Name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Whether you need help from Tencent Cloud for rack installation. + /// + [Input("needHelp")] + public Input? NeedHelp { get; set; } + + /// + /// Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + /// + [Input("opticalStandard")] + public Input? OpticalStandard { get; set; } + + /// + /// Detailed address of the site area (to be added). + /// + [Input("optionalAddressLine")] + public Input? OptionalAddressLine { get; set; } + + /// + /// Site Power Connectors. Example: 380VAC3P. + /// + [Input("powerConnectors")] + public Input? PowerConnectors { get; set; } + + /// + /// Site Power DrawKva (KW). + /// + [Input("powerDrawKva")] + public Input? PowerDrawKva { get; set; } + + /// + /// Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + /// + [Input("powerFeedDrop")] + public Input? PowerFeedDrop { get; set; } + + /// + /// Site Province. + /// + [Input("province")] + public Input? Province { get; set; } + + /// + /// Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + /// + [Input("redundantNetworking")] + public Input? RedundantNetworking { get; set; } + + /// + /// Whether there is power redundancy. + /// + [Input("redundantPower")] + public Input? RedundantPower { get; set; } + + /// + /// Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + /// + [Input("uplinkCount")] + public Input? UplinkCount { get; set; } + + /// + /// Uplink speed from the network to Tencent Cloud Region. + /// + [Input("uplinkSpeedGbps")] + public Input? UplinkSpeedGbps { get; set; } + + public SiteState() + { + } + public static new SiteState Empty => new SiteState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdn/Domain.cs b/sdk/dotnet/Tencentcloud/Cdn/Domain.cs index c847ae051..3cc13441d 100644 --- a/sdk/dotnet/Tencentcloud/Cdn/Domain.cs +++ b/sdk/dotnet/Tencentcloud/Cdn/Domain.cs @@ -371,6 +371,12 @@ public partial class Domain : global::Pulumi.CustomResource [Output("ossPrivateAccess")] public Output OssPrivateAccess { get; private set; } = null!; + /// + /// Object storage back-to-source authentication of other vendors. + /// + [Output("othersPrivateAccess")] + public Output OthersPrivateAccess { get; private set; } = null!; + /// /// Maximum post size configuration. /// @@ -664,6 +670,12 @@ public sealed class DomainArgs : global::Pulumi.ResourceArgs [Input("ossPrivateAccess")] public Input? OssPrivateAccess { get; set; } + /// + /// Object storage back-to-source authentication of other vendors. + /// + [Input("othersPrivateAccess")] + public Input? OthersPrivateAccess { get; set; } + [Input("postMaxSizes")] private InputList? _postMaxSizes; @@ -954,6 +966,12 @@ public sealed class DomainState : global::Pulumi.ResourceArgs [Input("ossPrivateAccess")] public Input? OssPrivateAccess { get; set; } + /// + /// Object storage back-to-source authentication of other vendors. + /// + [Input("othersPrivateAccess")] + public Input? OthersPrivateAccess { get; set; } + [Input("postMaxSizes")] private InputList? _postMaxSizes; diff --git a/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginArgs.cs b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginArgs.cs index 1eef65078..a8c6005b8 100644 --- a/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginArgs.cs @@ -26,7 +26,7 @@ public InputList BackupOriginLists } /// - /// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + /// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name. /// [Input("backupOriginType")] public Input? BackupOriginType { get; set; } @@ -62,7 +62,7 @@ public InputList OriginLists public Input? OriginPullProtocol { get; set; } /// - /// Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + /// Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. /// [Input("originType", required: true)] public Input OriginType { get; set; } = null!; diff --git a/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginGetArgs.cs index 0db4cfd15..57abc7419 100644 --- a/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOriginGetArgs.cs @@ -26,7 +26,7 @@ public InputList BackupOriginLists } /// - /// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + /// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name. /// [Input("backupOriginType")] public Input? BackupOriginType { get; set; } @@ -62,7 +62,7 @@ public InputList OriginLists public Input? OriginPullProtocol { get; set; } /// - /// Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + /// Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. /// [Input("originType", required: true)] public Input OriginType { get; set; } = null!; diff --git a/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessArgs.cs b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessArgs.cs new file mode 100644 index 000000000..d73769549 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessArgs.cs @@ -0,0 +1,71 @@ +// *** 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.Cdn.Inputs +{ + + public sealed class DomainOthersPrivateAccessArgs : global::Pulumi.ResourceArgs + { + [Input("accessKey")] + private Input? _accessKey; + + /// + /// Access ID. + /// + public Input? AccessKey + { + get => _accessKey; + set + { + var emptySecret = Output.CreateSecret(0); + _accessKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Bucket. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// Region. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("secretKey")] + private Input? _secretKey; + + /// + /// Key. + /// + public Input? SecretKey + { + get => _secretKey; + set + { + var emptySecret = Output.CreateSecret(0); + _secretKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Configuration switch, available values: `on`, `off` (default). + /// + [Input("switch", required: true)] + public Input Switch { get; set; } = null!; + + public DomainOthersPrivateAccessArgs() + { + } + public static new DomainOthersPrivateAccessArgs Empty => new DomainOthersPrivateAccessArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessGetArgs.cs new file mode 100644 index 000000000..e07cd2342 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdn/Inputs/DomainOthersPrivateAccessGetArgs.cs @@ -0,0 +1,71 @@ +// *** 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.Cdn.Inputs +{ + + public sealed class DomainOthersPrivateAccessGetArgs : global::Pulumi.ResourceArgs + { + [Input("accessKey")] + private Input? _accessKey; + + /// + /// Access ID. + /// + public Input? AccessKey + { + get => _accessKey; + set + { + var emptySecret = Output.CreateSecret(0); + _accessKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Bucket. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// Region. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("secretKey")] + private Input? _secretKey; + + /// + /// Key. + /// + public Input? SecretKey + { + get => _secretKey; + set + { + var emptySecret = Output.CreateSecret(0); + _secretKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Configuration switch, available values: `on`, `off` (default). + /// + [Input("switch", required: true)] + public Input Switch { get; set; } = null!; + + public DomainOthersPrivateAccessGetArgs() + { + } + public static new DomainOthersPrivateAccessGetArgs Empty => new DomainOthersPrivateAccessGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOrigin.cs b/sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOrigin.cs index e7759efe6..6a77e53b8 100644 --- a/sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOrigin.cs +++ b/sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOrigin.cs @@ -19,7 +19,7 @@ public sealed class DomainOrigin /// public readonly ImmutableArray BackupOriginLists; /// - /// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + /// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name. /// public readonly string? BackupOriginType; /// @@ -39,7 +39,7 @@ public sealed class DomainOrigin /// public readonly string? OriginPullProtocol; /// - /// Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + /// Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. /// public readonly string OriginType; /// diff --git a/sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOthersPrivateAccess.cs b/sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOthersPrivateAccess.cs new file mode 100644 index 000000000..f6cc4c07b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdn/Outputs/DomainOthersPrivateAccess.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.Cdn.Outputs +{ + + [OutputType] + public sealed class DomainOthersPrivateAccess + { + /// + /// Access ID. + /// + public readonly string? AccessKey; + /// + /// Bucket. + /// + public readonly string? Bucket; + /// + /// Region. + /// + public readonly string? Region; + /// + /// Key. + /// + public readonly string? SecretKey; + /// + /// Configuration switch, available values: `on`, `off` (default). + /// + public readonly string Switch; + + [OutputConstructor] + private DomainOthersPrivateAccess( + string? accessKey, + + string? bucket, + + string? region, + + string? secretKey, + + string @switch) + { + AccessKey = accessKey; + Bucket = bucket; + Region = region; + SecretKey = secretKey; + Switch = @switch; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/GetInstances.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/GetInstances.cs new file mode 100644 index 000000000..dbf91a7d2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/GetInstances.cs @@ -0,0 +1,238 @@ +// *** 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.Cdwdoris +{ + public static class GetInstances + { + /// + /// Use this data source to query detailed information of cdwdoris instances + /// + /// ## Example Usage + /// + /// ### Query all cdwdoris instances + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cdwdoris.GetInstances.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query cdwdoris instances by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cdwdoris.GetInstances.Invoke(new() + /// { + /// SearchTags = new[] + /// { + /// new Tencentcloud.Cdwdoris.Inputs.GetInstancesSearchTagInputArgs + /// { + /// AllValue = 0, + /// TagKey = "createBy", + /// TagValue = "Terraform", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetInstancesArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Cdwdoris/getInstances:getInstances", args ?? new GetInstancesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of cdwdoris instances + /// + /// ## Example Usage + /// + /// ### Query all cdwdoris instances + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cdwdoris.GetInstances.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query cdwdoris instances by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Cdwdoris.GetInstances.Invoke(new() + /// { + /// SearchTags = new[] + /// { + /// new Tencentcloud.Cdwdoris.Inputs.GetInstancesSearchTagInputArgs + /// { + /// AllValue = 0, + /// TagKey = "createBy", + /// TagValue = "Terraform", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetInstancesInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Cdwdoris/getInstances:getInstances", args ?? new GetInstancesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetInstancesArgs : global::Pulumi.InvokeArgs + { + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// The name of the cluster ID for the search. + /// + [Input("searchInstanceId")] + public string? SearchInstanceId { get; set; } + + /// + /// The cluster name for the search. + /// + [Input("searchInstanceName")] + public string? SearchInstanceName { get; set; } + + [Input("searchTags")] + private List? _searchTags; + + /// + /// Search tag list. + /// + public List SearchTags + { + get => _searchTags ?? (_searchTags = new List()); + set => _searchTags = value; + } + + public GetInstancesArgs() + { + } + public static new GetInstancesArgs Empty => new GetInstancesArgs(); + } + + public sealed class GetInstancesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// The name of the cluster ID for the search. + /// + [Input("searchInstanceId")] + public Input? SearchInstanceId { get; set; } + + /// + /// The cluster name for the search. + /// + [Input("searchInstanceName")] + public Input? SearchInstanceName { get; set; } + + [Input("searchTags")] + private InputList? _searchTags; + + /// + /// Search tag list. + /// + public InputList SearchTags + { + get => _searchTags ?? (_searchTags = new InputList()); + set => _searchTags = value; + } + + public GetInstancesInvokeArgs() + { + } + public static new GetInstancesInvokeArgs Empty => new GetInstancesInvokeArgs(); + } + + + [OutputType] + public sealed class GetInstancesResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Quantities of instances array. + /// + public readonly ImmutableArray InstancesLists; + public readonly string? ResultOutputFile; + public readonly string? SearchInstanceId; + public readonly string? SearchInstanceName; + public readonly ImmutableArray SearchTags; + + [OutputConstructor] + private GetInstancesResult( + string id, + + ImmutableArray instancesLists, + + string? resultOutputFile, + + string? searchInstanceId, + + string? searchInstanceName, + + ImmutableArray searchTags) + { + Id = id; + InstancesLists = instancesLists; + ResultOutputFile = resultOutputFile; + SearchInstanceId = searchInstanceId; + SearchInstanceName = searchInstanceName; + SearchTags = searchTags; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTag.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTag.cs new file mode 100644 index 000000000..165d4893c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTag.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.Cdwdoris.Inputs +{ + + public sealed class GetInstancesSearchTagArgs : global::Pulumi.InvokeArgs + { + /// + /// 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + /// + [Input("allValue")] + public int? AllValue { get; set; } + + /// + /// Tag key. + /// + [Input("tagKey")] + public string? TagKey { get; set; } + + /// + /// Tag value. + /// + [Input("tagValue")] + public string? TagValue { get; set; } + + public GetInstancesSearchTagArgs() + { + } + public static new GetInstancesSearchTagArgs Empty => new GetInstancesSearchTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTagArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTagArgs.cs new file mode 100644 index 000000000..d26436db0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/GetInstancesSearchTagArgs.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.Cdwdoris.Inputs +{ + + public sealed class GetInstancesSearchTagInputArgs : global::Pulumi.ResourceArgs + { + /// + /// 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + /// + [Input("allValue")] + public Input? AllValue { get; set; } + + /// + /// Tag key. + /// + [Input("tagKey")] + public Input? TagKey { get; set; } + + /// + /// Tag value. + /// + [Input("tagValue")] + public Input? TagValue { get; set; } + + public GetInstancesSearchTagInputArgs() + { + } + public static new GetInstancesSearchTagInputArgs Empty => new GetInstancesSearchTagInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecArgs.cs new file mode 100644 index 000000000..d3c0f0d03 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceBeSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Quantities. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// Cloud disk size. + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Specification name. + /// + [Input("specName", required: true)] + public Input SpecName { get; set; } = null!; + + public InstanceBeSpecArgs() + { + } + public static new InstanceBeSpecArgs Empty => new InstanceBeSpecArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecGetArgs.cs new file mode 100644 index 000000000..73e82626f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceBeSpecGetArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceBeSpecGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Quantities. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// Cloud disk size. + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Specification name. + /// + [Input("specName", required: true)] + public Input SpecName { get; set; } = null!; + + public InstanceBeSpecGetArgs() + { + } + public static new InstanceBeSpecGetArgs Empty => new InstanceBeSpecGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesArgs.cs new file mode 100644 index 000000000..8ef3e995a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceChargePropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("chargeType")] + public Input? ChargeType { get; set; } + + /// + /// Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("renewFlag")] + public Input? RenewFlag { get; set; } + + /// + /// Billing duration Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("timeSpan")] + public Input? TimeSpan { get; set; } + + /// + /// Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("timeUnit")] + public Input? TimeUnit { get; set; } + + public InstanceChargePropertiesArgs() + { + } + public static new InstanceChargePropertiesArgs Empty => new InstanceChargePropertiesArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesGetArgs.cs new file mode 100644 index 000000000..942dd8f4a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceChargePropertiesGetArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceChargePropertiesGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("chargeType")] + public Input? ChargeType { get; set; } + + /// + /// Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("renewFlag")] + public Input? RenewFlag { get; set; } + + /// + /// Billing duration Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("timeSpan")] + public Input? TimeSpan { get; set; } + + /// + /// Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("timeUnit")] + public Input? TimeUnit { get; set; } + + public InstanceChargePropertiesGetArgs() + { + } + public static new InstanceChargePropertiesGetArgs Empty => new InstanceChargePropertiesGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecArgs.cs new file mode 100644 index 000000000..5e13e38fe --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceFeSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Quantities. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// Cloud disk size. + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Specification name. + /// + [Input("specName", required: true)] + public Input SpecName { get; set; } = null!; + + public InstanceFeSpecArgs() + { + } + public static new InstanceFeSpecArgs Empty => new InstanceFeSpecArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecGetArgs.cs new file mode 100644 index 000000000..b44998432 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceFeSpecGetArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceFeSpecGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Quantities. + /// + [Input("count", required: true)] + public Input Count { get; set; } = null!; + + /// + /// Cloud disk size. + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Specification name. + /// + [Input("specName", required: true)] + public Input SpecName { get; set; } = null!; + + public InstanceFeSpecGetArgs() + { + } + public static new InstanceFeSpecGetArgs Empty => new InstanceFeSpecGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagArgs.cs new file mode 100644 index 000000000..3b863e164 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceTagArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("tagKey", required: true)] + public Input TagKey { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("tagValue", required: true)] + public Input TagValue { get; set; } = null!; + + public InstanceTagArgs() + { + } + public static new InstanceTagArgs Empty => new InstanceTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagGetArgs.cs new file mode 100644 index 000000000..c0229814b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceTagGetArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("tagKey", required: true)] + public Input TagKey { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("tagValue", required: true)] + public Input TagValue { get; set; } = null!; + + public InstanceTagGetArgs() + { + } + public static new InstanceTagGetArgs Empty => new InstanceTagGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosArgs.cs new file mode 100644 index 000000000..7a7aa40d7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceUserMultiZoneInfosArgs : global::Pulumi.ResourceArgs + { + /// + /// Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + /// + /// The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("subnetIpNum")] + public Input? SubnetIpNum { get; set; } + + /// + /// Availability zone Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("zone")] + public Input? Zone { get; set; } + + public InstanceUserMultiZoneInfosArgs() + { + } + public static new InstanceUserMultiZoneInfosArgs Empty => new InstanceUserMultiZoneInfosArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosGetArgs.cs new file mode 100644 index 000000000..c8a5484eb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/InstanceUserMultiZoneInfosGetArgs.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.Cdwdoris.Inputs +{ + + public sealed class InstanceUserMultiZoneInfosGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + /// + /// The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("subnetIpNum")] + public Input? SubnetIpNum { get; set; } + + /// + /// Availability zone Note: This field may return null, indicating that no valid values can be obtained. + /// + [Input("zone")] + public Input? Zone { get; set; } + + public InstanceUserMultiZoneInfosGetArgs() + { + } + public static new InstanceUserMultiZoneInfosGetArgs Empty => new InstanceUserMultiZoneInfosGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupArgs.cs new file mode 100644 index 000000000..e6ebdd9ff --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Cdwdoris.Inputs +{ + + public sealed class WorkloadGroupWorkloadGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("cpuHardLimit")] + public Input? CpuHardLimit { get; set; } + + /// + /// CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("cpuShare")] + public Input? CpuShare { get; set; } + + /// + /// Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("enableMemoryOverCommit")] + public Input? EnableMemoryOverCommit { get; set; } + + /// + /// Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("memoryLimit")] + public Input? MemoryLimit { get; set; } + + /// + /// Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("workloadGroupName")] + public Input? WorkloadGroupName { get; set; } + + public WorkloadGroupWorkloadGroupArgs() + { + } + public static new WorkloadGroupWorkloadGroupArgs Empty => new WorkloadGroupWorkloadGroupArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupGetArgs.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupGetArgs.cs new file mode 100644 index 000000000..fd6abbe6d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Inputs/WorkloadGroupWorkloadGroupGetArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Cdwdoris.Inputs +{ + + public sealed class WorkloadGroupWorkloadGroupGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("cpuHardLimit")] + public Input? CpuHardLimit { get; set; } + + /// + /// CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("cpuShare")] + public Input? CpuShare { get; set; } + + /// + /// Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("enableMemoryOverCommit")] + public Input? EnableMemoryOverCommit { get; set; } + + /// + /// Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("memoryLimit")] + public Input? MemoryLimit { get; set; } + + /// + /// Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("workloadGroupName")] + public Input? WorkloadGroupName { get; set; } + + public WorkloadGroupWorkloadGroupGetArgs() + { + } + public static new WorkloadGroupWorkloadGroupGetArgs Empty => new WorkloadGroupWorkloadGroupGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Instance.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Instance.cs new file mode 100644 index 000000000..04e396c1f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Instance.cs @@ -0,0 +1,607 @@ +// *** 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.Cdwdoris +{ + /// + /// Provides a resource to create a cdwdoris instance + /// + /// ## Example Usage + /// + /// ### Create a POSTPAID instance + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-6"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "security group desc.", + /// Tags = + /// { + /// { "createBy", "Terraform" }, + /// }, + /// }); + /// + /// // create POSTPAID instance + /// var exampleInstance = new Tencentcloud.Cdwdoris.Instance("exampleInstance", new() + /// { + /// Zone = availabilityZone, + /// UserVpcId = vpc.Id, + /// UserSubnetId = subnet.Id, + /// ProductVersion = "2.1", + /// InstanceName = "tf-example", + /// DorisUserPwd = "Password@test", + /// HaFlag = false, + /// CaseSensitive = 0, + /// EnableMultiZones = false, + /// WorkloadGroupStatus = "open", + /// SecurityGroupIds = new[] + /// { + /// exampleGroup.Id, + /// }, + /// ChargeProperties = new Tencentcloud.Cdwdoris.Inputs.InstanceChargePropertiesArgs + /// { + /// ChargeType = "POSTPAID_BY_HOUR", + /// }, + /// FeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceFeSpecArgs + /// { + /// SpecName = "S_4_16_P", + /// Count = 3, + /// DiskSize = 200, + /// }, + /// BeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceBeSpecArgs + /// { + /// SpecName = "S_4_16_P", + /// Count = 3, + /// DiskSize = 200, + /// }, + /// Tags = new[] + /// { + /// new Tencentcloud.Cdwdoris.Inputs.InstanceTagArgs + /// { + /// TagKey = "createBy", + /// TagValue = "Terraform", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a POSTPAID instance + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-6"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "security group desc.", + /// Tags = + /// { + /// { "createBy", "Terraform" }, + /// }, + /// }); + /// + /// // create PREPAID instance + /// var exampleInstance = new Tencentcloud.Cdwdoris.Instance("exampleInstance", new() + /// { + /// Zone = availabilityZone, + /// UserVpcId = vpc.Id, + /// UserSubnetId = subnet.Id, + /// ProductVersion = "2.1", + /// InstanceName = "tf-example", + /// DorisUserPwd = "Password@test", + /// HaFlag = false, + /// CaseSensitive = 0, + /// EnableMultiZones = false, + /// WorkloadGroupStatus = "close", + /// SecurityGroupIds = new[] + /// { + /// exampleGroup.Id, + /// }, + /// ChargeProperties = new Tencentcloud.Cdwdoris.Inputs.InstanceChargePropertiesArgs + /// { + /// ChargeType = "PREPAID", + /// TimeSpan = 1, + /// TimeUnit = "m", + /// }, + /// FeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceFeSpecArgs + /// { + /// SpecName = "S_4_16_P", + /// Count = 3, + /// DiskSize = 200, + /// }, + /// BeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceBeSpecArgs + /// { + /// SpecName = "S_4_16_P", + /// Count = 3, + /// DiskSize = 200, + /// }, + /// Tags = new[] + /// { + /// new Tencentcloud.Cdwdoris.Inputs.InstanceTagArgs + /// { + /// TagKey = "createBy", + /// TagValue = "Terraform", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Cdwdoris/instance:Instance")] + public partial class Instance : global::Pulumi.CustomResource + { + /// + /// BE specifications. + /// + [Output("beSpec")] + public Output BeSpec { get; private set; } = null!; + + /// + /// Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + /// + [Output("caseSensitive")] + public Output CaseSensitive { get; private set; } = null!; + + /// + /// Payment type. + /// + [Output("chargeProperties")] + public Output ChargeProperties { get; private set; } = null!; + + /// + /// Database password. + /// + [Output("dorisUserPwd")] + public Output DorisUserPwd { get; private set; } = null!; + + /// + /// Whether to enable multi-availability zone. + /// + [Output("enableMultiZones")] + public Output EnableMultiZones { get; private set; } = null!; + + /// + /// FE specifications. + /// + [Output("feSpec")] + public Output FeSpec { get; private set; } = null!; + + /// + /// Whether it is highly available. + /// + [Output("haFlag")] + public Output HaFlag { get; private set; } = null!; + + /// + /// High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + /// + [Output("haType")] + public Output HaType { get; private set; } = null!; + + /// + /// Instance name. + /// + [Output("instanceName")] + public Output InstanceName { get; private set; } = null!; + + /// + /// Product version number. + /// + [Output("productVersion")] + public Output ProductVersion { get; private set; } = null!; + + /// + /// Security Group Id list. + /// + [Output("securityGroupIds")] + public Output> SecurityGroupIds { get; private set; } = null!; + + /// + /// Tag list. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + /// + [Output("userMultiZoneInfos")] + public Output UserMultiZoneInfos { get; private set; } = null!; + + /// + /// User subnet ID. + /// + [Output("userSubnetId")] + public Output UserSubnetId { get; private set; } = null!; + + /// + /// User VPCID. + /// + [Output("userVpcId")] + public Output UserVpcId { get; private set; } = null!; + + /// + /// Whether to enable resource group. `open` - enable, `close` - disable. + /// + [Output("workloadGroupStatus")] + public Output WorkloadGroupStatus { get; private set; } = null!; + + /// + /// Availability zone. + /// + [Output("zone")] + public Output Zone { get; private set; } = null!; + + + /// + /// Create a Instance 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 Instance(string name, InstanceArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Cdwdoris/instance:Instance", name, args ?? new InstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private Instance(string name, Input id, InstanceState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Cdwdoris/instance:Instance", 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", + AdditionalSecretOutputs = + { + "dorisUserPwd", + }, + }; + 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 Instance 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 Instance Get(string name, Input id, InstanceState? state = null, CustomResourceOptions? options = null) + { + return new Instance(name, id, state, options); + } + } + + public sealed class InstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// BE specifications. + /// + [Input("beSpec", required: true)] + public Input BeSpec { get; set; } = null!; + + /// + /// Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + /// + [Input("caseSensitive")] + public Input? CaseSensitive { get; set; } + + /// + /// Payment type. + /// + [Input("chargeProperties", required: true)] + public Input ChargeProperties { get; set; } = null!; + + [Input("dorisUserPwd", required: true)] + private Input? _dorisUserPwd; + + /// + /// Database password. + /// + public Input? DorisUserPwd + { + get => _dorisUserPwd; + set + { + var emptySecret = Output.CreateSecret(0); + _dorisUserPwd = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Whether to enable multi-availability zone. + /// + [Input("enableMultiZones")] + public Input? EnableMultiZones { get; set; } + + /// + /// FE specifications. + /// + [Input("feSpec", required: true)] + public Input FeSpec { get; set; } = null!; + + /// + /// Whether it is highly available. + /// + [Input("haFlag", required: true)] + public Input HaFlag { get; set; } = null!; + + /// + /// High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + /// + [Input("haType")] + public Input? HaType { get; set; } + + /// + /// Instance name. + /// + [Input("instanceName", required: true)] + public Input InstanceName { get; set; } = null!; + + /// + /// Product version number. + /// + [Input("productVersion", required: true)] + public Input ProductVersion { get; set; } = null!; + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Security Group Id list. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("tags")] + private InputList? _tags; + + /// + /// Tag list. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + /// + [Input("userMultiZoneInfos")] + public Input? UserMultiZoneInfos { get; set; } + + /// + /// User subnet ID. + /// + [Input("userSubnetId", required: true)] + public Input UserSubnetId { get; set; } = null!; + + /// + /// User VPCID. + /// + [Input("userVpcId", required: true)] + public Input UserVpcId { get; set; } = null!; + + /// + /// Whether to enable resource group. `open` - enable, `close` - disable. + /// + [Input("workloadGroupStatus", required: true)] + public Input WorkloadGroupStatus { get; set; } = null!; + + /// + /// Availability zone. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public InstanceArgs() + { + } + public static new InstanceArgs Empty => new InstanceArgs(); + } + + public sealed class InstanceState : global::Pulumi.ResourceArgs + { + /// + /// BE specifications. + /// + [Input("beSpec")] + public Input? BeSpec { get; set; } + + /// + /// Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + /// + [Input("caseSensitive")] + public Input? CaseSensitive { get; set; } + + /// + /// Payment type. + /// + [Input("chargeProperties")] + public Input? ChargeProperties { get; set; } + + [Input("dorisUserPwd")] + private Input? _dorisUserPwd; + + /// + /// Database password. + /// + public Input? DorisUserPwd + { + get => _dorisUserPwd; + set + { + var emptySecret = Output.CreateSecret(0); + _dorisUserPwd = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Whether to enable multi-availability zone. + /// + [Input("enableMultiZones")] + public Input? EnableMultiZones { get; set; } + + /// + /// FE specifications. + /// + [Input("feSpec")] + public Input? FeSpec { get; set; } + + /// + /// Whether it is highly available. + /// + [Input("haFlag")] + public Input? HaFlag { get; set; } + + /// + /// High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + /// + [Input("haType")] + public Input? HaType { get; set; } + + /// + /// Instance name. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + /// + /// Product version number. + /// + [Input("productVersion")] + public Input? ProductVersion { get; set; } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Security Group Id list. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("tags")] + private InputList? _tags; + + /// + /// Tag list. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + /// + [Input("userMultiZoneInfos")] + public Input? UserMultiZoneInfos { get; set; } + + /// + /// User subnet ID. + /// + [Input("userSubnetId")] + public Input? UserSubnetId { get; set; } + + /// + /// User VPCID. + /// + [Input("userVpcId")] + public Input? UserVpcId { get; set; } + + /// + /// Whether to enable resource group. `open` - enable, `close` - disable. + /// + [Input("workloadGroupStatus")] + public Input? WorkloadGroupStatus { get; set; } + + /// + /// Availability zone. + /// + [Input("zone")] + public Input? Zone { get; set; } + + public InstanceState() + { + } + public static new InstanceState Empty => new InstanceState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryAttachCbsSpecResult.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryAttachCbsSpecResult.cs new file mode 100644 index 000000000..4bb6a1f99 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryAttachCbsSpecResult.cs @@ -0,0 +1,50 @@ +// *** 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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class GetInstancesInstancesListCoreSummaryAttachCbsSpecResult + { + /// + /// Total number of disks. + /// + public readonly int? DiskCount; + /// + /// Description. + /// + public readonly string? DiskDesc; + /// + /// Disk capacity, in GB. + /// + public readonly int? DiskSize; + /// + /// Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + /// + public readonly string? DiskType; + + [OutputConstructor] + private GetInstancesInstancesListCoreSummaryAttachCbsSpecResult( + int? diskCount, + + string? diskDesc, + + int? diskSize, + + string? diskType) + { + DiskCount = diskCount; + DiskDesc = diskDesc; + DiskSize = diskSize; + DiskType = diskType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryResult.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryResult.cs new file mode 100644 index 000000000..db6d4c335 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListCoreSummaryResult.cs @@ -0,0 +1,120 @@ +// *** 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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class GetInstancesInstancesListCoreSummaryResult + { + /// + /// Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly Outputs.GetInstancesInstancesListCoreSummaryAttachCbsSpecResult AttachCbsSpec; + /// + /// Number of CPU cores, in counts. + /// + public readonly int Core; + /// + /// Disk size, in GB. + /// + public readonly int Disk; + /// + /// Disk size. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int DiskCount; + /// + /// Disk description. + /// + public readonly string DiskDesc; + /// + /// Disk type. + /// + public readonly string DiskType; + /// + /// Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int Encrypt; + /// + /// Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int MaxDiskSize; + /// + /// Memory size, in GB. + /// + public readonly int Memory; + /// + /// Number of nodes. + /// + public readonly int NodeSize; + /// + /// Model, such as S1. + /// + public readonly string Spec; + /// + /// Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int SpecCore; + /// + /// Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int SpecMemory; + /// + /// Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string SubProductType; + + [OutputConstructor] + private GetInstancesInstancesListCoreSummaryResult( + Outputs.GetInstancesInstancesListCoreSummaryAttachCbsSpecResult attachCbsSpec, + + int core, + + int disk, + + int diskCount, + + string diskDesc, + + string diskType, + + int encrypt, + + int maxDiskSize, + + int memory, + + int nodeSize, + + string spec, + + int specCore, + + int specMemory, + + string subProductType) + { + AttachCbsSpec = attachCbsSpec; + Core = core; + Disk = disk; + DiskCount = diskCount; + DiskDesc = diskDesc; + DiskType = diskType; + Encrypt = encrypt; + MaxDiskSize = maxDiskSize; + Memory = memory; + NodeSize = nodeSize; + Spec = spec; + SpecCore = specCore; + SpecMemory = specMemory; + SubProductType = subProductType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryAttachCbsSpecResult.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryAttachCbsSpecResult.cs new file mode 100644 index 000000000..86db13317 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryAttachCbsSpecResult.cs @@ -0,0 +1,50 @@ +// *** 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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class GetInstancesInstancesListMasterSummaryAttachCbsSpecResult + { + /// + /// Total number of disks. + /// + public readonly int? DiskCount; + /// + /// Description. + /// + public readonly string? DiskDesc; + /// + /// Disk capacity, in GB. + /// + public readonly int? DiskSize; + /// + /// Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + /// + public readonly string? DiskType; + + [OutputConstructor] + private GetInstancesInstancesListMasterSummaryAttachCbsSpecResult( + int? diskCount, + + string? diskDesc, + + int? diskSize, + + string? diskType) + { + DiskCount = diskCount; + DiskDesc = diskDesc; + DiskSize = diskSize; + DiskType = diskType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryResult.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryResult.cs new file mode 100644 index 000000000..b7f7bc391 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListMasterSummaryResult.cs @@ -0,0 +1,120 @@ +// *** 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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class GetInstancesInstancesListMasterSummaryResult + { + /// + /// Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly Outputs.GetInstancesInstancesListMasterSummaryAttachCbsSpecResult AttachCbsSpec; + /// + /// Number of CPU cores, in counts. + /// + public readonly int Core; + /// + /// Disk size, in GB. + /// + public readonly int Disk; + /// + /// Disk size. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int DiskCount; + /// + /// Disk description. + /// + public readonly string DiskDesc; + /// + /// Disk type. + /// + public readonly string DiskType; + /// + /// Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int Encrypt; + /// + /// Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int MaxDiskSize; + /// + /// Memory size, in GB. + /// + public readonly int Memory; + /// + /// Number of nodes. + /// + public readonly int NodeSize; + /// + /// Model, such as S1. + /// + public readonly string Spec; + /// + /// Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int SpecCore; + /// + /// Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int SpecMemory; + /// + /// Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string SubProductType; + + [OutputConstructor] + private GetInstancesInstancesListMasterSummaryResult( + Outputs.GetInstancesInstancesListMasterSummaryAttachCbsSpecResult attachCbsSpec, + + int core, + + int disk, + + int diskCount, + + string diskDesc, + + string diskType, + + int encrypt, + + int maxDiskSize, + + int memory, + + int nodeSize, + + string spec, + + int specCore, + + int specMemory, + + string subProductType) + { + AttachCbsSpec = attachCbsSpec; + Core = core; + Disk = disk; + DiskCount = diskCount; + DiskDesc = diskDesc; + DiskType = diskType; + Encrypt = encrypt; + MaxDiskSize = maxDiskSize; + Memory = memory; + NodeSize = nodeSize; + Spec = spec; + SpecCore = specCore; + SpecMemory = specMemory; + SubProductType = subProductType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListResult.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListResult.cs new file mode 100644 index 000000000..441c5a88d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListResult.cs @@ -0,0 +1,344 @@ +// *** 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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class GetInstancesInstancesListResult + { + /// + /// Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string AccessInfo; + /// + /// Bound security group information. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray BindSGs; + /// + /// Minor versions. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string BuildVersion; + /// + /// cbs. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly bool CanAttachCbs; + /// + /// Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int CaseSensitive; + /// + /// Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Characteristics; + /// + /// Logset ID. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string ClsLogSetId; + /// + /// Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string ClsTopicId; + /// + /// Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Components; + /// + /// COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string CoolDownBucket; + /// + /// Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly Outputs.GetInstancesInstancesListCoreSummaryResult CoreSummary; + /// + /// COS bucket. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string CosBucketName; + /// + /// Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int CosMoveFactor; + /// + /// Creation time. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string CreateTime; + /// + /// Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Eip; + /// + /// Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int EnableCoolDown; + /// + /// Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly bool EnableMultiZones; + /// + /// Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int EnableXmlConfig; + /// + /// Expiration time. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string ExpireTime; + /// + /// Error process description information. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string FlowMsg; + /// + /// The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string GraceShutdownWaitSeconds; + /// + /// High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Ha; + /// + /// High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int HaType; + /// + /// Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly bool HasClsTopic; + /// + /// Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int Id; + /// + /// Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string InstanceId; + /// + /// Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string InstanceName; + /// + /// Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly bool IsWhiteSGs; + /// + /// external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Kind; + /// + /// Data node description information. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly Outputs.GetInstancesInstancesListMasterSummaryResult MasterSummary; + /// + /// Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Monitor; + /// + /// Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string PayMode; + /// + /// Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Region; + /// + /// Region. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string RegionDesc; + /// + /// Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int RegionId; + /// + /// Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly bool RenewFlag; + /// + /// Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string RestartTimeout; + /// + /// Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Status; + /// + /// Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string StatusDesc; + /// + /// Subnet name. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string SubnetId; + /// + /// Tag list. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly ImmutableArray Tags; + /// + /// User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string UserNetworkInfos; + /// + /// Version. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Version; + /// + /// VPC name. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string VpcId; + /// + /// Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Zone; + /// + /// Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string ZoneDesc; + + [OutputConstructor] + private GetInstancesInstancesListResult( + string accessInfo, + + ImmutableArray bindSGs, + + string buildVersion, + + bool canAttachCbs, + + int caseSensitive, + + ImmutableArray characteristics, + + string clsLogSetId, + + string clsTopicId, + + string components, + + string coolDownBucket, + + Outputs.GetInstancesInstancesListCoreSummaryResult coreSummary, + + string cosBucketName, + + int cosMoveFactor, + + string createTime, + + string eip, + + int enableCoolDown, + + bool enableMultiZones, + + int enableXmlConfig, + + string expireTime, + + string flowMsg, + + string graceShutdownWaitSeconds, + + string ha, + + int haType, + + bool hasClsTopic, + + int id, + + string instanceId, + + string instanceName, + + bool isWhiteSGs, + + string kind, + + Outputs.GetInstancesInstancesListMasterSummaryResult masterSummary, + + string monitor, + + string payMode, + + string region, + + string regionDesc, + + int regionId, + + bool renewFlag, + + string restartTimeout, + + string status, + + string statusDesc, + + string subnetId, + + ImmutableArray tags, + + string userNetworkInfos, + + string version, + + string vpcId, + + string zone, + + string zoneDesc) + { + AccessInfo = accessInfo; + BindSGs = bindSGs; + BuildVersion = buildVersion; + CanAttachCbs = canAttachCbs; + CaseSensitive = caseSensitive; + Characteristics = characteristics; + ClsLogSetId = clsLogSetId; + ClsTopicId = clsTopicId; + Components = components; + CoolDownBucket = coolDownBucket; + CoreSummary = coreSummary; + CosBucketName = cosBucketName; + CosMoveFactor = cosMoveFactor; + CreateTime = createTime; + Eip = eip; + EnableCoolDown = enableCoolDown; + EnableMultiZones = enableMultiZones; + EnableXmlConfig = enableXmlConfig; + ExpireTime = expireTime; + FlowMsg = flowMsg; + GraceShutdownWaitSeconds = graceShutdownWaitSeconds; + Ha = ha; + HaType = haType; + HasClsTopic = hasClsTopic; + Id = id; + InstanceId = instanceId; + InstanceName = instanceName; + IsWhiteSGs = isWhiteSGs; + Kind = kind; + MasterSummary = masterSummary; + Monitor = monitor; + PayMode = payMode; + Region = region; + RegionDesc = regionDesc; + RegionId = regionId; + RenewFlag = renewFlag; + RestartTimeout = restartTimeout; + Status = status; + StatusDesc = statusDesc; + SubnetId = subnetId; + Tags = tags; + UserNetworkInfos = userNetworkInfos; + Version = version; + VpcId = vpcId; + Zone = zone; + ZoneDesc = zoneDesc; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListTagResult.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListTagResult.cs new file mode 100644 index 000000000..97297ec22 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesInstancesListTagResult.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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class GetInstancesInstancesListTagResult + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private GetInstancesInstancesListTagResult( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesSearchTagResult.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesSearchTagResult.cs new file mode 100644 index 000000000..18ff96733 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/GetInstancesSearchTagResult.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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class GetInstancesSearchTagResult + { + /// + /// 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + /// + public readonly int? AllValue; + /// + /// Tag key. + /// + public readonly string? TagKey; + /// + /// Tag value. + /// + public readonly string? TagValue; + + [OutputConstructor] + private GetInstancesSearchTagResult( + int? allValue, + + string? tagKey, + + string? tagValue) + { + AllValue = allValue; + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceBeSpec.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceBeSpec.cs new file mode 100644 index 000000000..a96a48c5a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceBeSpec.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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class InstanceBeSpec + { + /// + /// Quantities. + /// + public readonly int Count; + /// + /// Cloud disk size. + /// + public readonly int DiskSize; + /// + /// Specification name. + /// + public readonly string SpecName; + + [OutputConstructor] + private InstanceBeSpec( + int count, + + int diskSize, + + string specName) + { + Count = count; + DiskSize = diskSize; + SpecName = specName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceChargeProperties.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceChargeProperties.cs new file mode 100644 index 000000000..e1b07e09f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceChargeProperties.cs @@ -0,0 +1,50 @@ +// *** 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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class InstanceChargeProperties + { + /// + /// Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? ChargeType; + /// + /// Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int? RenewFlag; + /// + /// Billing duration Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int? TimeSpan; + /// + /// Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? TimeUnit; + + [OutputConstructor] + private InstanceChargeProperties( + string? chargeType, + + int? renewFlag, + + int? timeSpan, + + string? timeUnit) + { + ChargeType = chargeType; + RenewFlag = renewFlag; + TimeSpan = timeSpan; + TimeUnit = timeUnit; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceFeSpec.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceFeSpec.cs new file mode 100644 index 000000000..3aa006ec5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceFeSpec.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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class InstanceFeSpec + { + /// + /// Quantities. + /// + public readonly int Count; + /// + /// Cloud disk size. + /// + public readonly int DiskSize; + /// + /// Specification name. + /// + public readonly string SpecName; + + [OutputConstructor] + private InstanceFeSpec( + int count, + + int diskSize, + + string specName) + { + Count = count; + DiskSize = diskSize; + SpecName = specName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceTag.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceTag.cs new file mode 100644 index 000000000..19ca3feb5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceTag.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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class InstanceTag + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private InstanceTag( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceUserMultiZoneInfos.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceUserMultiZoneInfos.cs new file mode 100644 index 000000000..fb14f07bb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/InstanceUserMultiZoneInfos.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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class InstanceUserMultiZoneInfos + { + /// + /// Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? SubnetId; + /// + /// The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int? SubnetIpNum; + /// + /// Availability zone Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string? Zone; + + [OutputConstructor] + private InstanceUserMultiZoneInfos( + string? subnetId, + + int? subnetIpNum, + + string? zone) + { + SubnetId = subnetId; + SubnetIpNum = subnetIpNum; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/WorkloadGroupWorkloadGroup.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/WorkloadGroupWorkloadGroup.cs new file mode 100644 index 000000000..d47326e76 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/Outputs/WorkloadGroupWorkloadGroup.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.Cdwdoris.Outputs +{ + + [OutputType] + public sealed class WorkloadGroupWorkloadGroup + { + /// + /// Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? CpuHardLimit; + /// + /// CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly int? CpuShare; + /// + /// Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly bool? EnableMemoryOverCommit; + /// + /// Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly int? MemoryLimit; + /// + /// Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? WorkloadGroupName; + + [OutputConstructor] + private WorkloadGroupWorkloadGroup( + string? cpuHardLimit, + + int? cpuShare, + + bool? enableMemoryOverCommit, + + int? memoryLimit, + + string? workloadGroupName) + { + CpuHardLimit = cpuHardLimit; + CpuShare = cpuShare; + EnableMemoryOverCommit = enableMemoryOverCommit; + MemoryLimit = memoryLimit; + WorkloadGroupName = workloadGroupName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/README.md b/sdk/dotnet/Tencentcloud/Cdwdoris/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Cdwdoris/WorkloadGroup.cs b/sdk/dotnet/Tencentcloud/Cdwdoris/WorkloadGroup.cs new file mode 100644 index 000000000..18c835621 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cdwdoris/WorkloadGroup.cs @@ -0,0 +1,210 @@ +// *** 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.Cdwdoris +{ + /// + /// Provides a resource to create a cdwdoris workload group + /// + /// > **NOTE:** To use this resource, The `workload_group_status` field of `tencentcloud.Cdwdoris.Instance` needs to be set to true. + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-6"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create instance + /// var exampleInstance = new Tencentcloud.Cdwdoris.Instance("exampleInstance", new() + /// { + /// Zone = availabilityZone, + /// UserVpcId = vpc.Id, + /// UserSubnetId = subnet.Id, + /// ProductVersion = "2.1", + /// InstanceName = "tf-example", + /// DorisUserPwd = "Password@test", + /// HaFlag = false, + /// CaseSensitive = 0, + /// EnableMultiZones = false, + /// WorkloadGroupStatus = "open", + /// ChargeProperties = new Tencentcloud.Cdwdoris.Inputs.InstanceChargePropertiesArgs + /// { + /// ChargeType = "POSTPAID_BY_HOUR", + /// }, + /// FeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceFeSpecArgs + /// { + /// SpecName = "S_4_16_P", + /// Count = 3, + /// DiskSize = 200, + /// }, + /// BeSpec = new Tencentcloud.Cdwdoris.Inputs.InstanceBeSpecArgs + /// { + /// SpecName = "S_4_16_P", + /// Count = 3, + /// DiskSize = 200, + /// }, + /// Tags = new[] + /// { + /// new Tencentcloud.Cdwdoris.Inputs.InstanceTagArgs + /// { + /// TagKey = "createBy", + /// TagValue = "Terraform", + /// }, + /// }, + /// }); + /// + /// // create workload group + /// var exampleWorkloadGroup = new Tencentcloud.Cdwdoris.WorkloadGroup("exampleWorkloadGroup", new() + /// { + /// InstanceId = exampleInstance.Id, + /// CdwdorisWorkloadGroup = new Tencentcloud.Cdwdoris.Inputs.WorkloadGroupWorkloadGroupArgs + /// { + /// WorkloadGroupName = "example", + /// CpuShare = 1024, + /// MemoryLimit = 20, + /// EnableMemoryOverCommit = true, + /// CpuHardLimit = "30%", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// cdwdoris workload group can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup example cdwdoris-rhbflamd#tf-example + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup")] + public partial class WorkloadGroup : global::Pulumi.CustomResource + { + /// + /// Instance id. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Resource group configuration. + /// + [Output("workloadGroup")] + public Output CdwdorisWorkloadGroup { get; private set; } = null!; + + + /// + /// Create a WorkloadGroup 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 WorkloadGroup(string name, WorkloadGroupArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup", name, args ?? new WorkloadGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private WorkloadGroup(string name, Input id, WorkloadGroupState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup", 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 WorkloadGroup 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 WorkloadGroup Get(string name, Input id, WorkloadGroupState? state = null, CustomResourceOptions? options = null) + { + return new WorkloadGroup(name, id, state, options); + } + } + + public sealed class WorkloadGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance id. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Resource group configuration. + /// + [Input("workloadGroup")] + public Input? CdwdorisWorkloadGroup { get; set; } + + public WorkloadGroupArgs() + { + } + public static new WorkloadGroupArgs Empty => new WorkloadGroupArgs(); + } + + public sealed class WorkloadGroupState : global::Pulumi.ResourceArgs + { + /// + /// Instance id. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Resource group configuration. + /// + [Input("workloadGroup")] + public Input? CdwdorisWorkloadGroup { get; set; } + + public WorkloadGroupState() + { + } + public static new WorkloadGroupState Empty => new WorkloadGroupState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Clb/Attachment.cs b/sdk/dotnet/Tencentcloud/Clb/Attachment.cs index e1aad93b6..8305fa4f8 100644 --- a/sdk/dotnet/Tencentcloud/Clb/Attachment.cs +++ b/sdk/dotnet/Tencentcloud/Clb/Attachment.cs @@ -17,8 +17,6 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// ## Example Usage /// - /// ### Bind a Cvm instance - /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -28,7 +26,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var foo = new Tencentcloud.Clb.Attachment("foo", new() + /// var example = new Tencentcloud.Clb.Attachment("example", new() /// { /// ClbId = "lb-k2zjp9lv", /// ListenerId = "lbl-hh141sn9", @@ -48,7 +46,35 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### Bind multiple Cvm instances + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Clb.Attachment("example", new() + /// { + /// ClbId = "lb-k2zjp9lv", + /// Domain = "test.com", + /// ListenerId = "lbl-hh141sn9", + /// Targets = new[] + /// { + /// new Tencentcloud.Clb.Inputs.AttachmentTargetArgs + /// { + /// InstanceId = "ins-1flbqyp8", + /// Port = 80, + /// Weight = 10, + /// }, + /// }, + /// Url = "/", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -59,7 +85,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var foo = new Tencentcloud.Clb.Attachment("foo", new() + /// var example = new Tencentcloud.Clb.Attachment("example", new() /// { /// ClbId = "lb-k2zjp9lv", /// ListenerId = "lbl-hh141sn9", @@ -85,7 +111,41 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### Bind backend target is ENI + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Clb.Attachment("example", new() + /// { + /// ClbId = "lb-k2zjp9lv", + /// Domain = "test.com", + /// ListenerId = "lbl-hh141sn9", + /// Targets = new[] + /// { + /// new Tencentcloud.Clb.Inputs.AttachmentTargetArgs + /// { + /// InstanceId = "ins-1flbqyp8", + /// Port = 80, + /// Weight = 10, + /// }, + /// new Tencentcloud.Clb.Inputs.AttachmentTargetArgs + /// { + /// InstanceId = "ins-ekloqpa1", + /// Port = 81, + /// Weight = 10, + /// }, + /// }, + /// Url = "/", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -96,7 +156,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var foo = new Tencentcloud.Clb.Attachment("foo", new() + /// var example = new Tencentcloud.Clb.Attachment("example", new() /// { /// ClbId = "lb-k2zjp9lv", /// ListenerId = "lbl-hh141sn9", @@ -105,8 +165,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// { /// new Tencentcloud.Clb.Inputs.AttachmentTargetArgs /// { - /// EniIp = "example-ip", - /// Port = 23, + /// EniIp = "172.16.16.52", + /// Port = 8090, /// Weight = 50, /// }, /// }, @@ -116,12 +176,48 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// ``` /// <!--End PulumiCodeChooser --> /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Clb.Attachment("example", new() + /// { + /// ClbId = "lb-k2zjp9lv", + /// Domain = "test.com", + /// ListenerId = "lbl-hh141sn9", + /// Targets = new[] + /// { + /// new Tencentcloud.Clb.Inputs.AttachmentTargetArgs + /// { + /// EniIp = "172.16.16.52", + /// Port = 8090, + /// Weight = 50, + /// }, + /// }, + /// Url = "/", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// CLB attachment can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Clb/attachment:Attachment foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + /// $ pulumi import tencentcloud:Clb/attachment:Attachment example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + /// ``` + /// + /// Or + /// + /// ```sh + /// $ pulumi import tencentcloud:Clb/attachment:Attachment example test.com,/#lbl-hh141sn9#lb-7a0t6zqb /// ``` /// [TencentcloudResourceType("tencentcloud:Clb/attachment:Attachment")] @@ -133,6 +229,12 @@ public partial class Attachment : global::Pulumi.CustomResource [Output("clbId")] public Output ClbId { get; private set; } = null!; + /// + /// Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + /// + [Output("domain")] + public Output Domain { get; private set; } = null!; + /// /// ID of the CLB listener. /// @@ -157,6 +259,12 @@ public partial class Attachment : global::Pulumi.CustomResource [Output("targets")] public Output> Targets { get; private set; } = null!; + /// + /// URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + /// /// Create a Attachment resource with the given unique name, arguments, and options. @@ -210,6 +318,12 @@ public sealed class AttachmentArgs : global::Pulumi.ResourceArgs [Input("clbId", required: true)] public Input ClbId { get; set; } = null!; + /// + /// Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + /// + [Input("domain")] + public Input? Domain { get; set; } + /// /// ID of the CLB listener. /// @@ -234,6 +348,12 @@ public InputList Targets set => _targets = value; } + /// + /// URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + /// + [Input("url")] + public Input? Url { get; set; } + public AttachmentArgs() { } @@ -248,6 +368,12 @@ public sealed class AttachmentState : global::Pulumi.ResourceArgs [Input("clbId")] public Input? ClbId { get; set; } + /// + /// Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + /// + [Input("domain")] + public Input? Domain { get; set; } + /// /// ID of the CLB listener. /// @@ -278,6 +404,12 @@ public InputList Targets set => _targets = value; } + /// + /// URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + /// + [Input("url")] + public Input? Url { get; set; } + public AttachmentState() { } diff --git a/sdk/dotnet/Tencentcloud/Clb/Instance.cs b/sdk/dotnet/Tencentcloud/Clb/Instance.cs index c85b2df44..ba47050f7 100644 --- a/sdk/dotnet/Tencentcloud/Clb/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Clb/Instance.cs @@ -15,7 +15,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// ## Example Usage /// - /// ### INTERNAL CLB + /// ### Create INTERNAL CLB /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -26,24 +26,42 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var internalClb = new Tencentcloud.Clb.Instance("internalClb", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create clb + /// var example = new Tencentcloud.Clb.Instance("example", new() /// { - /// ClbName = "myclb", /// NetworkType = "INTERNAL", + /// ClbName = "tf-example", /// ProjectId = 0, - /// SubnetId = "subnet-12rastkr", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, /// Tags = /// { - /// { "test", "tf" }, + /// { "tagKey", "tagValue" }, /// }, - /// VpcId = "vpc-7007ll7q", /// }); /// /// }); /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### LCU-supported CLB + /// ### Create dedicated cluster clb /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -54,25 +72,91 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var internalClb = new Tencentcloud.Clb.Instance("internalClb", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", + /// CdcId = "cluster-lchwgxhs", + /// IsMulticast = false, + /// }); + /// + /// // create clb + /// var example = new Tencentcloud.Clb.Instance("example", new() /// { - /// ClbName = "myclb", /// NetworkType = "INTERNAL", + /// ClbName = "tf-example", + /// ProjectId = 0, + /// ClusterId = "cluster-lchwgxhs", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// Tags = + /// { + /// { "tagKey", "tagValue" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create LCU-supported CLB + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create clb + /// var example = new Tencentcloud.Clb.Instance("example", new() + /// { + /// NetworkType = "INTERNAL", + /// ClbName = "tf-example", /// ProjectId = 0, /// SlaType = "clb.c3.medium", - /// SubnetId = "subnet-o3a5nt20", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, /// Tags = /// { - /// { "test", "tf" }, + /// { "tagKey", "tagValue" }, /// }, - /// VpcId = "vpc-2hfyray3", /// }); /// /// }); /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### OPEN CLB + /// ### Create OPEN CLB /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -83,27 +167,47 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var openClb = new Tencentcloud.Clb.Instance("openClb", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, + /// }); + /// + /// // create clb + /// var exampleInstance = new Tencentcloud.Clb.Instance("exampleInstance", new() /// { - /// ClbName = "myclb", /// NetworkType = "OPEN", + /// ClbName = "tf-example", /// ProjectId = 0, + /// VpcId = vpc.Id, /// SecurityGroups = new[] /// { - /// "sg-o0ek7r93", + /// exampleGroup.Id, /// }, /// Tags = /// { - /// { "test", "tf" }, + /// { "tagKey", "tagValue" }, /// }, - /// VpcId = "vpc-da7ffa61", /// }); /// /// }); /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### SUPPORT CORS + /// ### Support CORS /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -114,29 +218,50 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var openClb = new Tencentcloud.Clb.Instance("openClb", new() + /// var config = new Config(); + /// var zone = config.Get("zone") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, + /// }); + /// + /// // create clb + /// var exampleInstance = new Tencentcloud.Clb.Instance("exampleInstance", new() /// { - /// ClbName = "myclb", /// NetworkType = "OPEN", + /// ClbName = "tf-example", /// ProjectId = 0, + /// VpcId = vpc.Id, /// SecurityGroups = new[] /// { - /// "sg-o0ek7r93", + /// exampleGroup.Id, /// }, + /// TargetRegionInfoRegion = zone, + /// TargetRegionInfoVpcId = vpc.Id, /// Tags = /// { - /// { "test", "tf" }, + /// { "tagKey", "tagValue" }, /// }, - /// TargetRegionInfoRegion = "ap-guangzhou", - /// TargetRegionInfoVpcId = "vpc-da7ffa61", - /// VpcId = "vpc-da7ffa61", /// }); /// /// }); /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### OPNE CLB with VipIsp + /// ### Open CLB with VipIsp /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -147,7 +272,13 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var example = new Tencentcloud.Vpc.BandwidthPackage("example", new() + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc bandwidth package + /// var exampleBandwidthPackage = new Tencentcloud.Vpc.BandwidthPackage("exampleBandwidthPackage", new() /// { /// NetworkType = "SINGLEISP_CMCC", /// ChargeType = "ENHANCED95_POSTPAID_BY_MONTH", @@ -160,18 +291,19 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// }, /// }); /// - /// var openClb = new Tencentcloud.Clb.Instance("openClb", new() + /// // create clb + /// var exampleInstance = new Tencentcloud.Clb.Instance("exampleInstance", new() /// { /// NetworkType = "OPEN", - /// ClbName = "my-open-clb", + /// ClbName = "tf-example", /// ProjectId = 0, - /// VpcId = "vpc-4owdpnwr", /// VipIsp = "CMCC", /// InternetChargeType = "BANDWIDTH_PACKAGE", - /// BandwidthPackageId = example.Id, + /// BandwidthPackageId = exampleBandwidthPackage.Id, + /// VpcId = vpc.Id, /// Tags = /// { - /// { "test", "open" }, + /// { "tagKey", "tagValue" }, /// }, /// }); /// @@ -190,41 +322,64 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var fooGroup = new Tencentcloud.Security.Group("fooGroup"); - /// - /// var fooInstance = new Tencentcloud.Vpc.Instance("fooInstance", new() + /// var config = new Config(); + /// var zone = config.Get("zone") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", /// }); /// - /// var clbOpen = new Tencentcloud.Clb.Instance("clbOpen", new() + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, + /// }); + /// + /// // create clb + /// var exampleInstance = new Tencentcloud.Clb.Instance("exampleInstance", new() /// { /// NetworkType = "OPEN", - /// ClbName = "clb-instance-open", + /// ClbName = "tf-example", /// ProjectId = 0, - /// VpcId = fooInstance.Id, - /// TargetRegionInfoRegion = "ap-guangzhou", - /// TargetRegionInfoVpcId = fooInstance.Id, + /// VpcId = vpc.Id, + /// TargetRegionInfoRegion = zone, + /// TargetRegionInfoVpcId = vpc.Id, /// SecurityGroups = new[] /// { - /// fooGroup.Id, + /// exampleGroup.Id, /// }, /// DynamicVip = true, /// Tags = /// { - /// { "test", "tf" }, + /// { "tagKey", "tagValue" }, /// }, /// }); /// /// return new Dictionary<string, object?> /// { - /// ["domain"] = clbOpen.Domain, + /// ["domain"] = exampleInstance.Domain, /// }; /// }); /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### Specified Vip Instance + /// ### Specified Vip Instance /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -235,33 +390,46 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var fooGroup = new Tencentcloud.Security.Group("fooGroup"); - /// - /// var fooInstance = new Tencentcloud.Vpc.Instance("fooInstance", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", /// }); /// - /// var clbOpen = new Tencentcloud.Clb.Instance("clbOpen", new() + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, + /// }); + /// + /// // create clb + /// var exampleInstance = new Tencentcloud.Clb.Instance("exampleInstance", new() /// { /// NetworkType = "OPEN", - /// ClbName = "clb-instance-open", + /// ClbName = "tf-example", /// ProjectId = 0, - /// VpcId = fooInstance.Id, + /// VpcId = vpc.Id, /// SecurityGroups = new[] /// { - /// fooGroup.Id, + /// exampleGroup.Id, /// }, /// Vip = "111.230.4.204", /// Tags = /// { - /// { "test", "tf" }, + /// { "tagKey", "tagValue" }, /// }, /// }); /// /// return new Dictionary<string, object?> /// { - /// ["domain"] = tencentcloud_clb_instance.Vip, + /// ["domain"] = exampleInstance.Domain, /// }; /// }); /// ``` @@ -278,45 +446,52 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var foo = new Tencentcloud.Vpc.Instance("foo", new() + /// var config = new Config(); + /// var zone = config.Get("zone") ?? "ap-guangzhou"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", - /// Tags = - /// { - /// { "test", "mytest" }, - /// }, /// }); /// + /// // create subnet /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() /// { - /// AvailabilityZone = "ap-guangzhou-1", - /// VpcId = foo.Id, - /// CidrBlock = "10.0.20.0/28", + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", /// IsMulticast = false, /// }); /// - /// var sglab = new Tencentcloud.Security.Group("sglab", new() + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() /// { - /// Description = "favourite sg", + /// Description = "sg desc.", /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, /// }); /// - /// var openClb = new Tencentcloud.Clb.Instance("openClb", new() + /// // create clb + /// var exampleInstance = new Tencentcloud.Clb.Instance("exampleInstance", new() /// { /// NetworkType = "OPEN", - /// ClbName = "my-open-clb", + /// ClbName = "tf-example", /// ProjectId = 0, - /// VpcId = foo.Id, /// LoadBalancerPassToTarget = true, + /// VpcId = vpc.Id, /// SecurityGroups = new[] /// { - /// sglab.Id, + /// exampleGroup.Id, /// }, - /// TargetRegionInfoRegion = "ap-guangzhou", - /// TargetRegionInfoVpcId = foo.Id, + /// TargetRegionInfoVpcId = vpc.Id, + /// TargetRegionInfoRegion = zone, /// Tags = /// { - /// { "test", "open" }, + /// { "tagKey", "tagValue" }, /// }, /// }); /// @@ -324,7 +499,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### CREATE multiple instance + /// ### Create multiple instance /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -335,18 +510,20 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var openClb1 = new Tencentcloud.Clb.Instance("openClb1", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// var example = new Tencentcloud.Clb.Instance("example", new() /// { - /// ClbName = "hello", - /// MasterZoneId = "ap-guangzhou-3", /// NetworkType = "OPEN", + /// ClbName = "tf-example", + /// MasterZoneId = availabilityZone, /// }); /// /// }); /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### CREATE instance with log + /// ### Create instance with log /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -357,49 +534,69 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var vpcTest = new Tencentcloud.Vpc.Instance("vpcTest", new() + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", /// }); /// - /// var rtbTest = new Tencentcloud.Route.Table("rtbTest", new() + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() /// { - /// VpcId = vpcTest.Id, + /// VpcId = vpc.Id, + /// AvailabilityZone = @var.Availability_zone, + /// CidrBlock = "10.0.1.0/24", + /// IsMulticast = false, /// }); /// - /// var subnetTest = new Tencentcloud.Subnet.Instance("subnetTest", new() + /// // create route table + /// var route = new Tencentcloud.Route.Table("route", new() /// { - /// AvailabilityZone = "ap-guangzhou-3", - /// CidrBlock = "10.0.1.0/24", - /// RouteTableId = rtbTest.Id, - /// VpcId = vpcTest.Id, + /// VpcId = vpc.Id, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, /// }); /// - /// var @set = new Tencentcloud.Clb.LogSet("set", new() + /// var log = new Tencentcloud.Clb.LogSet("log", new() /// { /// Period = 7, /// }); /// + /// // create topic /// var topic = new Tencentcloud.Clb.LogTopic("topic", new() /// { - /// LogSetId = @set.Id, + /// LogSetId = log.Id, /// TopicName = "clb-topic", /// }); /// - /// var internalClb = new Tencentcloud.Clb.Instance("internalClb", new() + /// // create clb + /// var exampleInstance = new Tencentcloud.Clb.Instance("exampleInstance", new() /// { - /// ClbName = "myclb", - /// LoadBalancerPassToTarget = true, - /// LogSetId = @set.Id, - /// LogTopicId = topic.Id, /// NetworkType = "INTERNAL", + /// ClbName = "tf-example", /// ProjectId = 0, - /// SubnetId = subnetTest.Id, + /// LoadBalancerPassToTarget = true, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// SecurityGroups = new[] + /// { + /// exampleGroup.Id, + /// }, + /// LogSetId = log.Id, + /// LogTopicId = topic.Id, /// Tags = /// { - /// { "test", "tf" }, + /// { "tagKey", "tagValue" }, /// }, - /// VpcId = vpcTest.Id, /// }); /// /// }); @@ -411,7 +608,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// CLB instance can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb + /// $ pulumi import tencentcloud:Clb/instance:Instance example lb-7a0t6zqb /// ``` /// [TencentcloudResourceType("tencentcloud:Clb/instance:Instance")] @@ -447,6 +644,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("clbVips")] public Output> ClbVips { get; private set; } = null!; + /// + /// Cluster ID. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + /// /// Whether to enable delete protection. /// @@ -505,7 +708,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Setting master zone id of cross available zone disaster recovery, only applicable to open CLB. /// [Output("masterZoneId")] - public Output MasterZoneId { get; private set; } = null!; + public Output MasterZoneId { get; private set; } = null!; /// /// Type of CLB instance. Valid values: `OPEN` and `INTERNAL`. @@ -535,7 +738,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Setting slave zone id of cross available zone disaster recovery, only applicable to open CLB. this zone will undertake traffic when the master is down. /// [Output("slaveZoneId")] - public Output SlaveZoneId { get; private set; } = null!; + public Output SlaveZoneId { get; private set; } = null!; /// /// Snat Ip List, required with `snat_pro=true`. NOTE: This argument cannot be read and modified here because dynamic ip is untraceable, please import resource `tencentcloud.Clb.SnatIp` to handle fixed ips. @@ -595,7 +798,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Available zone id, only applicable to open CLB. /// [Output("zoneId")] - public Output ZoneId { get; private set; } = null!; + public Output ZoneId { get; private set; } = null!; /// @@ -662,6 +865,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("clbName", required: true)] public Input ClbName { get; set; } = null!; + /// + /// Cluster ID. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + /// /// Whether to enable delete protection. /// @@ -862,6 +1071,12 @@ public InputList ClbVips set => _clbVips = value; } + /// + /// Cluster ID. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + /// /// Whether to enable delete protection. /// diff --git a/sdk/dotnet/Tencentcloud/Clb/ListenerRule.cs b/sdk/dotnet/Tencentcloud/Clb/ListenerRule.cs index 17b6c121e..d18247b64 100644 --- a/sdk/dotnet/Tencentcloud/Clb/ListenerRule.cs +++ b/sdk/dotnet/Tencentcloud/Clb/ListenerRule.cs @@ -17,6 +17,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// ## Example Usage /// + /// ### Create a single domain listener rule + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -26,25 +28,61 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// /// return await Deployment.RunAsync(() => /// { - /// var foo = new Tencentcloud.Clb.ListenerRule("foo", new() + /// var example = new Tencentcloud.Clb.ListenerRule("example", new() /// { /// CertificateCaId = "VfqO4zkB", /// CertificateId = "VjANRdz8", /// CertificateSslMode = "MUTUAL", /// ClbId = "lb-k2zjp9lv", - /// Domain = "foo.net", + /// Domain = "example.com", /// HealthCheckHealthNum = 3, /// HealthCheckHttpCode = 2, - /// HealthCheckHttpDomain = "Default Domain", + /// HealthCheckHttpDomain = "check.com", /// HealthCheckHttpMethod = "GET", - /// HealthCheckHttpPath = "Default Path", + /// HealthCheckHttpPath = "/", /// HealthCheckIntervalTime = 5, /// HealthCheckSwitch = true, /// HealthCheckUnhealthNum = 3, /// ListenerId = "lbl-hh141sn9", /// Scheduler = "WRR", /// SessionExpireTime = 30, - /// Url = "/bar", + /// Url = "/", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a listener rule for domain lists + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Clb.ListenerRule("example", new() + /// { + /// ClbId = "lb-k2zjp9lv", + /// Domains = new[] + /// { + /// "example1.com", + /// "example2.com", + /// }, + /// HealthCheckHealthNum = 3, + /// HealthCheckHttpCode = 2, + /// HealthCheckHttpDomain = "check.com", + /// HealthCheckHttpMethod = "GET", + /// HealthCheckHttpPath = "/", + /// HealthCheckIntervalTime = 5, + /// HealthCheckSwitch = true, + /// HealthCheckUnhealthNum = 3, + /// ListenerId = "lbl-hh141sn9", + /// Scheduler = "WRR", + /// Url = "/", /// }); /// /// }); @@ -56,7 +94,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// CLB listener rule can be imported using the id (version >= 1.47.0), e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule foo lb-7a0t6zqb#lbl-hh141sn9#loc-agg236ys + /// $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule example lb-k2zjp9lv#lbl-hh141sn9#loc-agg236ys /// ``` /// [TencentcloudResourceType("tencentcloud:Clb/listenerRule:ListenerRule")] @@ -87,11 +125,17 @@ public partial class ListenerRule : global::Pulumi.CustomResource public Output ClbId { get; private set; } = null!; /// - /// Domain name of the listener rule. + /// Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. /// [Output("domain")] public Output Domain { get; private set; } = null!; + /// + /// Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + /// + [Output("domains")] + public Output> Domains { get; private set; } = null!; + /// /// Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. /// @@ -278,10 +322,22 @@ public sealed class ListenerRuleArgs : global::Pulumi.ResourceArgs public Input ClbId { get; set; } = null!; /// - /// Domain name of the listener rule. + /// Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + /// + [Input("domain")] + public Input? Domain { get; set; } + + [Input("domains")] + private InputList? _domains; + + /// + /// Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. /// - [Input("domain", required: true)] - public Input Domain { get; set; } = null!; + public InputList Domains + { + get => _domains ?? (_domains = new InputList()); + set => _domains = value; + } /// /// Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. @@ -424,11 +480,23 @@ public sealed class ListenerRuleState : global::Pulumi.ResourceArgs public Input? ClbId { get; set; } /// - /// Domain name of the listener rule. + /// Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. /// [Input("domain")] public Input? Domain { get; set; } + [Input("domains")] + private InputList? _domains; + + /// + /// Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + /// + public InputList Domains + { + get => _domains ?? (_domains = new InputList()); + set => _domains = value; + } + /// /// Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. /// diff --git a/sdk/dotnet/Tencentcloud/Clb/Outputs/GetInstancesClbListResult.cs b/sdk/dotnet/Tencentcloud/Clb/Outputs/GetInstancesClbListResult.cs index 83f9613d6..353b6a131 100644 --- a/sdk/dotnet/Tencentcloud/Clb/Outputs/GetInstancesClbListResult.cs +++ b/sdk/dotnet/Tencentcloud/Clb/Outputs/GetInstancesClbListResult.cs @@ -31,6 +31,10 @@ public sealed class GetInstancesClbListResult /// public readonly ImmutableArray ClbVips; /// + /// ID of the cluster. + /// + public readonly string ClusterId; + /// /// Create time of the CLB. /// public readonly string CreateTime; @@ -117,6 +121,8 @@ private GetInstancesClbListResult( ImmutableArray clbVips, + string clusterId, + string createTime, int internetBandwidthMaxOut, @@ -159,6 +165,7 @@ private GetInstancesClbListResult( ClbId = clbId; ClbName = clbName; ClbVips = clbVips; + ClusterId = clusterId; CreateTime = createTime; InternetBandwidthMaxOut = internetBandwidthMaxOut; InternetChargeType = internetChargeType; diff --git a/sdk/dotnet/Tencentcloud/Cls/DataTransform.cs b/sdk/dotnet/Tencentcloud/Cls/DataTransform.cs index a155a81e7..ebfbffb7b 100644 --- a/sdk/dotnet/Tencentcloud/Cls/DataTransform.cs +++ b/sdk/dotnet/Tencentcloud/Cls/DataTransform.cs @@ -11,7 +11,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls { /// - /// Provides a resource to create a cls data_transform + /// Provides a resource to create a CLS data transform /// /// ## Example Usage /// @@ -44,7 +44,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls /// StorageType = "hot", /// Tags = /// { - /// { "test", "test" }, + /// { "createdBy", "terraform" }, /// }, /// }); /// @@ -68,11 +68,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls /// StorageType = "hot", /// Tags = /// { - /// { "test", "test" }, + /// { "createdBy", "terraform" }, /// }, /// }); /// - /// var dataTransform = new Tencentcloud.Cls.DataTransform("dataTransform", new() + /// var example = new Tencentcloud.Cls.DataTransform("example", new() /// { /// FuncType = 1, /// SrcTopicId = topicSrc.Id, @@ -95,53 +95,53 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls /// /// ## Import /// - /// cls data_transform can be imported using the id, e.g. + /// CLS data transform can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Cls/dataTransform:DataTransform data_transform data_transform_id + /// $ pulumi import tencentcloud:Cls/dataTransform:DataTransform example 7b4bcb05-9154-4cdc-a479-f6b5743846e5 /// ``` /// [TencentcloudResourceType("tencentcloud:Cls/dataTransform:DataTransform")] public partial class DataTransform : global::Pulumi.CustomResource { /// - /// data transform des resources. + /// Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. /// [Output("dstResources")] public Output> DstResources { get; private set; } = null!; /// - /// task enable flag. + /// Task enable flag. `1`: enable, `2`: disable, Default is `1`. /// [Output("enableFlag")] public Output EnableFlag { get; private set; } = null!; /// - /// data transform content. + /// Data transform content. If `func_type` is `2`, must use `log_auto_output`. /// [Output("etlContent")] public Output EtlContent { get; private set; } = null!; /// - /// task type. + /// Task type. `1`: Specify the theme; `2`: Dynamic creation. /// [Output("funcType")] public Output FuncType { get; private set; } = null!; /// - /// task name. + /// Task name. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// src topic id. + /// Source topic ID. /// [Output("srcTopicId")] public Output SrcTopicId { get; private set; } = null!; /// - /// task type. + /// Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. /// [Output("taskType")] public Output TaskType { get; private set; } = null!; @@ -197,7 +197,7 @@ public sealed class DataTransformArgs : global::Pulumi.ResourceArgs private InputList? _dstResources; /// - /// data transform des resources. + /// Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. /// public InputList DstResources { @@ -206,37 +206,37 @@ public InputList DstResources } /// - /// task enable flag. + /// Task enable flag. `1`: enable, `2`: disable, Default is `1`. /// [Input("enableFlag")] public Input? EnableFlag { get; set; } /// - /// data transform content. + /// Data transform content. If `func_type` is `2`, must use `log_auto_output`. /// [Input("etlContent", required: true)] public Input EtlContent { get; set; } = null!; /// - /// task type. + /// Task type. `1`: Specify the theme; `2`: Dynamic creation. /// [Input("funcType", required: true)] public Input FuncType { get; set; } = null!; /// - /// task name. + /// Task name. /// [Input("name")] public Input? Name { get; set; } /// - /// src topic id. + /// Source topic ID. /// [Input("srcTopicId", required: true)] public Input SrcTopicId { get; set; } = null!; /// - /// task type. + /// Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. /// [Input("taskType", required: true)] public Input TaskType { get; set; } = null!; @@ -253,7 +253,7 @@ public sealed class DataTransformState : global::Pulumi.ResourceArgs private InputList? _dstResources; /// - /// data transform des resources. + /// Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. /// public InputList DstResources { @@ -262,37 +262,37 @@ public InputList DstResources } /// - /// task enable flag. + /// Task enable flag. `1`: enable, `2`: disable, Default is `1`. /// [Input("enableFlag")] public Input? EnableFlag { get; set; } /// - /// data transform content. + /// Data transform content. If `func_type` is `2`, must use `log_auto_output`. /// [Input("etlContent")] public Input? EtlContent { get; set; } /// - /// task type. + /// Task type. `1`: Specify the theme; `2`: Dynamic creation. /// [Input("funcType")] public Input? FuncType { get; set; } /// - /// task name. + /// Task name. /// [Input("name")] public Input? Name { get; set; } /// - /// src topic id. + /// Source topic ID. /// [Input("srcTopicId")] public Input? SrcTopicId { get; set; } /// - /// task type. + /// Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. /// [Input("taskType")] public Input? TaskType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Cls/GetLogsets.cs b/sdk/dotnet/Tencentcloud/Cls/GetLogsets.cs new file mode 100644 index 000000000..286b47166 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/GetLogsets.cs @@ -0,0 +1,210 @@ +// *** 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.Cls +{ + public static class GetLogsets + { + /// + /// Use this data source to query detailed information of cls logsets + /// + /// ## Example Usage + /// + /// ### Query all cls logsets + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var logsets = Tencentcloud.Cls.GetLogsets.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query by filters + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var logsets = Tencentcloud.Cls.GetLogsets.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.Cls.Inputs.GetLogsetsFilterInputArgs + /// { + /// Key = "tag:createdBy", + /// Values = new[] + /// { + /// "terraform", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetLogsetsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Cls/getLogsets:getLogsets", args ?? new GetLogsetsArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of cls logsets + /// + /// ## Example Usage + /// + /// ### Query all cls logsets + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var logsets = Tencentcloud.Cls.GetLogsets.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query by filters + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var logsets = Tencentcloud.Cls.GetLogsets.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.Cls.Inputs.GetLogsetsFilterInputArgs + /// { + /// Key = "tag:createdBy", + /// Values = new[] + /// { + /// "terraform", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetLogsetsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Cls/getLogsets:getLogsets", args ?? new GetLogsetsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetLogsetsArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private List? _filters; + + /// + /// Query by filter. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetLogsetsArgs() + { + } + public static new GetLogsetsArgs Empty => new GetLogsetsArgs(); + } + + public sealed class GetLogsetsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private InputList? _filters; + + /// + /// Query by filter. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetLogsetsInvokeArgs() + { + } + public static new GetLogsetsInvokeArgs Empty => new GetLogsetsInvokeArgs(); + } + + + [OutputType] + public sealed class GetLogsetsResult + { + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// logset lists. + /// + public readonly ImmutableArray ClsLogsets; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetLogsetsResult( + ImmutableArray filters, + + string id, + + ImmutableArray logsets, + + string? resultOutputFile) + { + Filters = filters; + Id = id; + ClsLogsets = logsets; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceArgs.cs index d3e63fdb2..e92768917 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceArgs.cs @@ -14,13 +14,13 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls.Inputs public sealed class DataTransformDstResourceArgs : global::Pulumi.ResourceArgs { /// - /// alias. + /// Alias. /// [Input("alias", required: true)] public Input Alias { get; set; } = null!; /// - /// dst topic id. + /// Dst topic ID. /// [Input("topicId", required: true)] public Input TopicId { get; set; } = null!; diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceGetArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceGetArgs.cs index 544bc4423..020e8f744 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/DataTransformDstResourceGetArgs.cs @@ -14,13 +14,13 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls.Inputs public sealed class DataTransformDstResourceGetArgs : global::Pulumi.ResourceArgs { /// - /// alias. + /// Alias. /// [Input("alias", required: true)] public Input Alias { get; set; } = null!; /// - /// dst topic id. + /// Dst topic ID. /// [Input("topicId", required: true)] public Input TopicId { get; set; } = null!; diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilter.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilter.cs new file mode 100644 index 000000000..1b23b7271 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilter.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.Cls.Inputs +{ + + public sealed class GetLogsetsFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + /// + [Input("key", required: true)] + public string Key { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// The values that need to be filtered. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetLogsetsFilterArgs() + { + } + public static new GetLogsetsFilterArgs Empty => new GetLogsetsFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilterArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilterArgs.cs new file mode 100644 index 000000000..31a6cf42c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/GetLogsetsFilterArgs.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.Cls.Inputs +{ + + public sealed class GetLogsetsFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// The values that need to be filtered. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetLogsetsFilterInputArgs() + { + } + public static new GetLogsetsFilterInputArgs Empty => new GetLogsetsFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessArgs.cs new file mode 100644 index 000000000..887517f64 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessArgs.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.Cls.Inputs +{ + + public sealed class TopicExtendsAnonymousAccessArgs : global::Pulumi.ResourceArgs + { + [Input("conditions")] + private InputList? _conditions; + + /// + /// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + /// + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + [Input("operations")] + private InputList? _operations; + + /// + /// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + /// + public InputList Operations + { + get => _operations ?? (_operations = new InputList()); + set => _operations = value; + } + + public TopicExtendsAnonymousAccessArgs() + { + } + public static new TopicExtendsAnonymousAccessArgs Empty => new TopicExtendsAnonymousAccessArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionArgs.cs new file mode 100644 index 000000000..d8a876aa1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionArgs.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.Cls.Inputs +{ + + public sealed class TopicExtendsAnonymousAccessConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// Condition attribute, currently only VpcID is supported. + /// + [Input("attributes")] + public Input? Attributes { get; set; } + + /// + /// The value of the corresponding conditional attribute. + /// + [Input("conditionValue")] + public Input? ConditionValue { get; set; } + + /// + /// Conditional rule, 1: equal, 2: not equal. + /// + [Input("rule")] + public Input? Rule { get; set; } + + public TopicExtendsAnonymousAccessConditionArgs() + { + } + public static new TopicExtendsAnonymousAccessConditionArgs Empty => new TopicExtendsAnonymousAccessConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionGetArgs.cs new file mode 100644 index 000000000..e0b1db3c7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessConditionGetArgs.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.Cls.Inputs +{ + + public sealed class TopicExtendsAnonymousAccessConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Condition attribute, currently only VpcID is supported. + /// + [Input("attributes")] + public Input? Attributes { get; set; } + + /// + /// The value of the corresponding conditional attribute. + /// + [Input("conditionValue")] + public Input? ConditionValue { get; set; } + + /// + /// Conditional rule, 1: equal, 2: not equal. + /// + [Input("rule")] + public Input? Rule { get; set; } + + public TopicExtendsAnonymousAccessConditionGetArgs() + { + } + public static new TopicExtendsAnonymousAccessConditionGetArgs Empty => new TopicExtendsAnonymousAccessConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessGetArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessGetArgs.cs new file mode 100644 index 000000000..d838de57f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsAnonymousAccessGetArgs.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.Cls.Inputs +{ + + public sealed class TopicExtendsAnonymousAccessGetArgs : global::Pulumi.ResourceArgs + { + [Input("conditions")] + private InputList? _conditions; + + /// + /// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + /// + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + [Input("operations")] + private InputList? _operations; + + /// + /// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + /// + public InputList Operations + { + get => _operations ?? (_operations = new InputList()); + set => _operations = value; + } + + public TopicExtendsAnonymousAccessGetArgs() + { + } + public static new TopicExtendsAnonymousAccessGetArgs Empty => new TopicExtendsAnonymousAccessGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsArgs.cs new file mode 100644 index 000000000..2281fae84 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Cls.Inputs +{ + + public sealed class TopicExtendsArgs : global::Pulumi.ResourceArgs + { + /// + /// Log topic authentication free configuration information. + /// + [Input("anonymousAccess")] + public Input? AnonymousAccess { get; set; } + + public TopicExtendsArgs() + { + } + public static new TopicExtendsArgs Empty => new TopicExtendsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsGetArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsGetArgs.cs new file mode 100644 index 000000000..5682c84e4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/TopicExtendsGetArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Cls.Inputs +{ + + public sealed class TopicExtendsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Log topic authentication free configuration information. + /// + [Input("anonymousAccess")] + public Input? AnonymousAccess { get; set; } + + public TopicExtendsGetArgs() + { + } + public static new TopicExtendsGetArgs Empty => new TopicExtendsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/DataTransformDstResource.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/DataTransformDstResource.cs index fd24c28c7..c30c88f05 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Outputs/DataTransformDstResource.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/DataTransformDstResource.cs @@ -15,11 +15,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls.Outputs public sealed class DataTransformDstResource { /// - /// alias. + /// Alias. /// public readonly string Alias; /// - /// dst topic id. + /// Dst topic ID. /// public readonly string TopicId; diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsFilterResult.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsFilterResult.cs new file mode 100644 index 000000000..97472bf4c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsFilterResult.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.Cls.Outputs +{ + + [OutputType] + public sealed class GetLogsetsFilterResult + { + /// + /// Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + /// + public readonly string Key; + /// + /// The values that need to be filtered. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetLogsetsFilterResult( + string key, + + ImmutableArray values) + { + Key = key; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetResult.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetResult.cs new file mode 100644 index 000000000..a80954109 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetResult.cs @@ -0,0 +1,71 @@ +// *** 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.Cls.Outputs +{ + + [OutputType] + public sealed class GetLogsetsLogsetResult + { + /// + /// Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE. + /// + public readonly string AssumerName; + /// + /// Create time. + /// + public readonly string CreateTime; + /// + /// Logset Id. + /// + public readonly string LogsetId; + /// + /// Logset name. + /// + public readonly string LogsetName; + /// + /// If `assumer_name` is not empty, it indicates the service role that created the log set. + /// + public readonly string RoleName; + /// + /// Tags. + /// + public readonly ImmutableArray Tags; + /// + /// Topic count. + /// + public readonly int TopicCount; + + [OutputConstructor] + private GetLogsetsLogsetResult( + string assumerName, + + string createTime, + + string logsetId, + + string logsetName, + + string roleName, + + ImmutableArray tags, + + int topicCount) + { + AssumerName = assumerName; + CreateTime = createTime; + LogsetId = logsetId; + LogsetName = logsetName; + RoleName = roleName; + Tags = tags; + TopicCount = topicCount; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetTagResult.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetTagResult.cs new file mode 100644 index 000000000..54a1ece5b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/GetLogsetsLogsetTagResult.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.Cls.Outputs +{ + + [OutputType] + public sealed class GetLogsetsLogsetTagResult + { + /// + /// Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + /// + public readonly string Key; + /// + /// Tag value. + /// + public readonly string Value; + + [OutputConstructor] + private GetLogsetsLogsetTagResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtends.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtends.cs new file mode 100644 index 000000000..db40eaaec --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtends.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.Cls.Outputs +{ + + [OutputType] + public sealed class TopicExtends + { + /// + /// Log topic authentication free configuration information. + /// + public readonly Outputs.TopicExtendsAnonymousAccess? AnonymousAccess; + + [OutputConstructor] + private TopicExtends(Outputs.TopicExtendsAnonymousAccess? anonymousAccess) + { + AnonymousAccess = anonymousAccess; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccess.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccess.cs new file mode 100644 index 000000000..5f4b8ea12 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccess.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.Cls.Outputs +{ + + [OutputType] + public sealed class TopicExtendsAnonymousAccess + { + /// + /// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + /// + public readonly ImmutableArray Conditions; + /// + /// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + /// + public readonly ImmutableArray Operations; + + [OutputConstructor] + private TopicExtendsAnonymousAccess( + ImmutableArray conditions, + + ImmutableArray operations) + { + Conditions = conditions; + Operations = operations; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccessCondition.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccessCondition.cs new file mode 100644 index 000000000..23498435e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/TopicExtendsAnonymousAccessCondition.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.Cls.Outputs +{ + + [OutputType] + public sealed class TopicExtendsAnonymousAccessCondition + { + /// + /// Condition attribute, currently only VpcID is supported. + /// + public readonly string? Attributes; + /// + /// The value of the corresponding conditional attribute. + /// + public readonly string? ConditionValue; + /// + /// Conditional rule, 1: equal, 2: not equal. + /// + public readonly int? Rule; + + [OutputConstructor] + private TopicExtendsAnonymousAccessCondition( + string? attributes, + + string? conditionValue, + + int? rule) + { + Attributes = attributes; + ConditionValue = conditionValue; + Rule = rule; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cls/Topic.cs b/sdk/dotnet/Tencentcloud/Cls/Topic.cs index 595e438c3..170cb4a58 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Topic.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Topic.cs @@ -15,6 +15,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls /// /// ## Example Usage /// + /// ### Create a standard cls topic + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -29,7 +31,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls /// LogsetName = "tf_example", /// Tags = /// { - /// { "demo", "test" }, + /// { "tagKey", "tagValue" }, /// }, /// }); /// @@ -46,7 +48,69 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls /// HotPeriod = 10, /// Tags = /// { - /// { "test", "test" }, + /// { "tagKey", "tagValue" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a cls topic with web tracking + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleLogset = new Tencentcloud.Cls.Logset("exampleLogset", new() + /// { + /// LogsetName = "tf_example", + /// Tags = + /// { + /// { "tagKey", "tagValue" }, + /// }, + /// }); + /// + /// var exampleTopic = new Tencentcloud.Cls.Topic("exampleTopic", new() + /// { + /// TopicName = "tf_example", + /// LogsetId = exampleLogset.Id, + /// AutoSplit = false, + /// MaxSplitPartitions = 20, + /// PartitionCount = 1, + /// Period = 30, + /// StorageType = "hot", + /// Describes = "Test Demo.", + /// HotPeriod = 10, + /// IsWebTracking = true, + /// Extends = new Tencentcloud.Cls.Inputs.TopicExtendsArgs + /// { + /// AnonymousAccess = new Tencentcloud.Cls.Inputs.TopicExtendsAnonymousAccessArgs + /// { + /// Operations = new[] + /// { + /// "trackLog", + /// "realtimeProducer", + /// }, + /// Conditions = new[] + /// { + /// new Tencentcloud.Cls.Inputs.TopicExtendsAnonymousAccessConditionArgs + /// { + /// Attributes = "VpcID", + /// Rule = 1, + /// ConditionValue = "vpc-ahr3xajx", + /// }, + /// }, + /// }, + /// }, + /// Tags = + /// { + /// { "tagKey", "tagValue" }, /// }, /// }); /// @@ -77,12 +141,24 @@ public partial class Topic : global::Pulumi.CustomResource [Output("describes")] public Output Describes { get; private set; } = null!; + /// + /// Log Subject Extension Information. + /// + [Output("extends")] + public Output Extends { get; private set; } = null!; + /// /// 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. /// [Output("hotPeriod")] public Output HotPeriod { get; private set; } = null!; + /// + /// No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + /// + [Output("isWebTracking")] + public Output IsWebTracking { get; private set; } = null!; + /// /// Logset ID. /// @@ -184,12 +260,24 @@ public sealed class TopicArgs : global::Pulumi.ResourceArgs [Input("describes")] public Input? Describes { get; set; } + /// + /// Log Subject Extension Information. + /// + [Input("extends")] + public Input? Extends { get; set; } + /// /// 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. /// [Input("hotPeriod")] public Input? HotPeriod { get; set; } + /// + /// No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + /// + [Input("isWebTracking")] + public Input? IsWebTracking { get; set; } + /// /// Logset ID. /// @@ -258,12 +346,24 @@ public sealed class TopicState : global::Pulumi.ResourceArgs [Input("describes")] public Input? Describes { get; set; } + /// + /// Log Subject Extension Information. + /// + [Input("extends")] + public Input? Extends { get; set; } + /// /// 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. /// [Input("hotPeriod")] public Input? HotPeriod { get; set; } + /// + /// No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + /// + [Input("isWebTracking")] + public Input? IsWebTracking { get; set; } + /// /// Logset ID. /// diff --git a/sdk/dotnet/Tencentcloud/Cos/Batch.cs b/sdk/dotnet/Tencentcloud/Cos/Batch.cs index a231cd3e0..9ce80767c 100644 --- a/sdk/dotnet/Tencentcloud/Cos/Batch.cs +++ b/sdk/dotnet/Tencentcloud/Cos/Batch.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// Provides a resource to create a cos bucket batch. /// + /// > **NOTE:** The current resource does not support `cos_domain`. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Cos/Bucket.cs b/sdk/dotnet/Tencentcloud/Cos/Bucket.cs index 3b4782711..33cda1630 100644 --- a/sdk/dotnet/Tencentcloud/Cos/Bucket.cs +++ b/sdk/dotnet/Tencentcloud/Cos/Bucket.cs @@ -31,7 +31,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// var appId = info.Apply(getInfoResult => getInfoResult.AppId); /// - /// var privateSbucket = new Tencentcloud.Cos.Bucket("privateSbucket", new() + /// var privateBucket = new Tencentcloud.Cos.Bucket("privateBucket", new() /// { /// CosBucket = appId.Apply(appId => $"private-bucket-{appId}"), /// Acl = "private", @@ -41,6 +41,78 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Private Bucket with CDC cluster + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var info = Tencentcloud.User.GetInfo.Invoke(); + /// + /// var appId = info.Apply(getInfoResult => getInfoResult.AppId); + /// + /// var privateBucket = new Tencentcloud.Cos.Bucket("privateBucket", new() + /// { + /// CosBucket = appId.Apply(appId => $"private-bucket-{appId}"), + /// CdcId = "cluster-262n63e8", + /// Acl = "private", + /// VersioningEnable = true, + /// ForceClean = true, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Enable SSE-KMS encryption + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var info = Tencentcloud.User.GetInfo.Invoke(); + /// + /// var appId = info.Apply(getInfoResult => getInfoResult.AppId); + /// + /// var example = new Tencentcloud.Kms.Key("example", new() + /// { + /// Alias = "tf-example-kms-key", + /// Description = "example of kms key", + /// KeyRotationEnabled = false, + /// IsEnabled = true, + /// Tags = + /// { + /// { "createdBy", "terraform" }, + /// }, + /// }); + /// + /// var bucketBasic = new Tencentcloud.Cos.Bucket("bucketBasic", new() + /// { + /// CosBucket = appId.Apply(appId => $"tf-bucket-cdc-{appId}"), + /// Acl = "private", + /// EncryptionAlgorithm = "KMS", + /// KmsId = example.Id, + /// VersioningEnable = true, + /// AccelerationEnable = true, + /// ForceClean = true, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ### Creation of multiple available zone bucket /// /// <!--Start PulumiCodeChooser --> @@ -240,6 +312,56 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Using CORS with CDC + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var info = Tencentcloud.User.GetInfo.Invoke(); + /// + /// var appId = info.Apply(getInfoResult => getInfoResult.AppId); + /// + /// var bucketWithCors = new Tencentcloud.Cos.Bucket("bucketWithCors", new() + /// { + /// CosBucket = appId.Apply(appId => $"bucket-with-cors-{appId}"), + /// CdcId = "cluster-262n63e8", + /// CorsRules = new[] + /// { + /// new Tencentcloud.Cos.Inputs.BucketCorsRuleArgs + /// { + /// AllowedOrigins = new[] + /// { + /// "http://*.abc.com", + /// }, + /// AllowedMethods = new[] + /// { + /// "PUT", + /// "POST", + /// }, + /// AllowedHeaders = new[] + /// { + /// "*", + /// }, + /// MaxAgeSeconds = 300, + /// ExposeHeaders = new[] + /// { + /// "Etag", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ### Using object lifecycle /// /// <!--Start PulumiCodeChooser --> @@ -285,6 +407,44 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Using object lifecycle with CDC + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var info = Tencentcloud.User.GetInfo.Invoke(); + /// + /// var appId = info.Apply(getInfoResult => getInfoResult.AppId); + /// + /// var bucketWithLifecycle = new Tencentcloud.Cos.Bucket("bucketWithLifecycle", new() + /// { + /// CosBucket = appId.Apply(appId => $"bucket-with-lifecycle-{appId}"), + /// CdcId = "cluster-262n63e8", + /// Acl = "private", + /// LifecycleRules = new[] + /// { + /// new Tencentcloud.Cos.Inputs.BucketLifecycleRuleArgs + /// { + /// FilterPrefix = "path1/", + /// Expiration = new Tencentcloud.Cos.Inputs.BucketLifecycleRuleExpirationArgs + /// { + /// Days = 90, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ### Using replication /// /// <!--Start PulumiCodeChooser --> @@ -376,6 +536,12 @@ public partial class Bucket : global::Pulumi.CustomResource [Output("bucket")] public Output CosBucket { get; private set; } = null!; + /// + /// CDC cluster ID. + /// + [Output("cdcId")] + public Output CdcId { get; private set; } = null!; + /// /// A rule of Cross-Origin Resource Sharing (documented below). /// @@ -395,7 +561,7 @@ public partial class Bucket : global::Pulumi.CustomResource public Output EnableIntelligentTiering { get; private set; } = null!; /// - /// The server-side encryption algorithm to use. Valid value is `AES256`. + /// The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. /// [Output("encryptionAlgorithm")] public Output EncryptionAlgorithm { get; private set; } = null!; @@ -418,6 +584,12 @@ public partial class Bucket : global::Pulumi.CustomResource [Output("intelligentTieringRequestFrequent")] public Output IntelligentTieringRequestFrequent { get; private set; } = null!; + /// + /// The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + /// + [Output("kmsId")] + public Output KmsId { get; private set; } = null!; + /// /// A configuration of object lifecycle management (documented below). /// @@ -561,6 +733,12 @@ public sealed class BucketArgs : global::Pulumi.ResourceArgs [Input("bucket", required: true)] public Input CosBucket { get; set; } = null!; + /// + /// CDC cluster ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + [Input("corsRules")] private InputList? _corsRules; @@ -580,7 +758,7 @@ public InputList CorsRules public Input? EnableIntelligentTiering { get; set; } /// - /// The server-side encryption algorithm to use. Valid value is `AES256`. + /// The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. /// [Input("encryptionAlgorithm")] public Input? EncryptionAlgorithm { get; set; } @@ -603,6 +781,12 @@ public InputList CorsRules [Input("intelligentTieringRequestFrequent")] public Input? IntelligentTieringRequestFrequent { get; set; } + /// + /// The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + /// + [Input("kmsId")] + public Input? KmsId { get; set; } + [Input("lifecycleRules")] private InputList? _lifecycleRules; @@ -737,6 +921,12 @@ public sealed class BucketState : global::Pulumi.ResourceArgs [Input("bucket")] public Input? CosBucket { get; set; } + /// + /// CDC cluster ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + [Input("corsRules")] private InputList? _corsRules; @@ -762,7 +952,7 @@ public InputList CorsRules public Input? EnableIntelligentTiering { get; set; } /// - /// The server-side encryption algorithm to use. Valid value is `AES256`. + /// The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. /// [Input("encryptionAlgorithm")] public Input? EncryptionAlgorithm { get; set; } @@ -785,6 +975,12 @@ public InputList CorsRules [Input("intelligentTieringRequestFrequent")] public Input? IntelligentTieringRequestFrequent { get; set; } + /// + /// The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + /// + [Input("kmsId")] + public Input? KmsId { get; set; } + [Input("lifecycleRules")] private InputList? _lifecycleRules; diff --git a/sdk/dotnet/Tencentcloud/Cos/BucketDomainCertificateAttachment.cs b/sdk/dotnet/Tencentcloud/Cos/BucketDomainCertificateAttachment.cs index e97767393..06c5c4e19 100644 --- a/sdk/dotnet/Tencentcloud/Cos/BucketDomainCertificateAttachment.cs +++ b/sdk/dotnet/Tencentcloud/Cos/BucketDomainCertificateAttachment.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// Provides a resource to attach/detach the corresponding certificate for the domain name in specified cos bucket. /// + /// > **NOTE:** The current resource does not support cdc. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Cos/BucketGenerateInventoryImmediatelyOperation.cs b/sdk/dotnet/Tencentcloud/Cos/BucketGenerateInventoryImmediatelyOperation.cs index 861ee1617..322a915ca 100644 --- a/sdk/dotnet/Tencentcloud/Cos/BucketGenerateInventoryImmediatelyOperation.cs +++ b/sdk/dotnet/Tencentcloud/Cos/BucketGenerateInventoryImmediatelyOperation.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// Provides a resource to generate a cos bucket inventory immediately /// + /// > **NOTE:** The current resource does not support cdc. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Cos/BucketInventory.cs b/sdk/dotnet/Tencentcloud/Cos/BucketInventory.cs index fc5cbdd9d..976f36c35 100644 --- a/sdk/dotnet/Tencentcloud/Cos/BucketInventory.cs +++ b/sdk/dotnet/Tencentcloud/Cos/BucketInventory.cs @@ -11,7 +11,9 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos { /// - /// Provides a resource to create a cos bucket_inventory + /// Provides a resource to create a cos bucket inventory + /// + /// > **NOTE:** The current resource does not support cdc. /// /// ## Example Usage /// @@ -20,19 +22,35 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; /// /// return await Deployment.RunAsync(() => /// { - /// var bucketInventory = new Tencentcloud.Cos.BucketInventory("bucketInventory", new() + /// var info = Tencentcloud.User.GetInfo.Invoke(); + /// + /// var appId = info.Apply(getInfoResult => getInfoResult.AppId); + /// + /// // create cos + /// var exampleBucket = new Tencentcloud.Cos.Bucket("exampleBucket", new() /// { - /// Bucket = "keep-test-xxxxxx", - /// Destination = new Tencentcloud.Cos.Inputs.BucketInventoryDestinationArgs + /// CosBucket = appId.Apply(appId => $"private-bucket-{appId}"), + /// Acl = "private", + /// }); + /// + /// // create cos bucket inventory + /// var exampleBucketInventory = new Tencentcloud.Cos.BucketInventory("exampleBucketInventory", new() + /// { + /// Bucket = exampleBucket.Id, + /// IsEnabled = "true", + /// IncludedObjectVersions = "Current", + /// OptionalFields = new Tencentcloud.Cos.Inputs.BucketInventoryOptionalFieldsArgs /// { - /// AccountId = "", - /// Bucket = "qcs::cos:ap-guangzhou::keep-test-xxxxxx", - /// Format = "CSV", - /// Prefix = "cos_bucket_inventory", + /// Fields = new[] + /// { + /// "Size", + /// "ETag", + /// }, /// }, /// Filter = new Tencentcloud.Cos.Inputs.BucketInventoryFilterArgs /// { @@ -41,19 +59,15 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// StartTime = "1687276800", /// }, /// }, - /// IncludedObjectVersions = "Current", - /// IsEnabled = "true", - /// OptionalFields = new Tencentcloud.Cos.Inputs.BucketInventoryOptionalFieldsArgs + /// Schedule = new Tencentcloud.Cos.Inputs.BucketInventoryScheduleArgs /// { - /// Fields = new[] - /// { - /// "Size", - /// "ETag", - /// }, + /// Frequency = "Daily", /// }, - /// Schedule = new Tencentcloud.Cos.Inputs.BucketInventoryScheduleArgs + /// Destination = new Tencentcloud.Cos.Inputs.BucketInventoryDestinationArgs /// { - /// Frequency = "Weekly", + /// Bucket = "qcs::cos:ap-guangzhou::private-bucket-1309118522", + /// Format = "CSV", + /// Prefix = "frontends", /// }, /// }); /// @@ -63,10 +77,10 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// ## Import /// - /// cos bucket_inventory can be imported using the id, e.g. + /// cos bucket inventory can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory bucket_inventory bucket_inventory_id + /// $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory example private-bucket-1309118522#tf-example /// ``` /// [TencentcloudResourceType("tencentcloud:Cos/bucketInventory:BucketInventory")] diff --git a/sdk/dotnet/Tencentcloud/Cos/BucketReferer.cs b/sdk/dotnet/Tencentcloud/Cos/BucketReferer.cs index c8224b4c9..1099ab08d 100644 --- a/sdk/dotnet/Tencentcloud/Cos/BucketReferer.cs +++ b/sdk/dotnet/Tencentcloud/Cos/BucketReferer.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// Provides a resource to create a cos bucket_referer /// + /// > **NOTE:** The current resource does not support cdc. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Cos/GetBatchs.cs b/sdk/dotnet/Tencentcloud/Cos/GetBatchs.cs index a317ef715..ec18444a7 100644 --- a/sdk/dotnet/Tencentcloud/Cos/GetBatchs.cs +++ b/sdk/dotnet/Tencentcloud/Cos/GetBatchs.cs @@ -15,6 +15,8 @@ public static class GetBatchs /// /// Use this data source to query the COS batch. /// + /// > **NOTE:** The current resource does not support `cos_domain`. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> @@ -42,6 +44,8 @@ public static Task InvokeAsync(GetBatchsArgs args, InvokeOption /// /// Use this data source to query the COS batch. /// + /// > **NOTE:** The current resource does not support `cos_domain`. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Cos/GetBucketInventorys.cs b/sdk/dotnet/Tencentcloud/Cos/GetBucketInventorys.cs index 6020eaaa2..402cb33a3 100644 --- a/sdk/dotnet/Tencentcloud/Cos/GetBucketInventorys.cs +++ b/sdk/dotnet/Tencentcloud/Cos/GetBucketInventorys.cs @@ -15,6 +15,8 @@ public static class GetBucketInventorys /// /// Use this data source to query the COS bucket inventorys. /// + /// > **NOTE:** The current resource does not support cdc. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> @@ -41,6 +43,8 @@ public static Task InvokeAsync(GetBucketInventorysArg /// /// Use this data source to query the COS bucket inventorys. /// + /// > **NOTE:** The current resource does not support cdc. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Cos/ObjectRestoreOperation.cs b/sdk/dotnet/Tencentcloud/Cos/ObjectRestoreOperation.cs index 97c3d896d..823ed65f4 100644 --- a/sdk/dotnet/Tencentcloud/Cos/ObjectRestoreOperation.cs +++ b/sdk/dotnet/Tencentcloud/Cos/ObjectRestoreOperation.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cos /// /// Provides a resource to restore object /// + /// > **NOTE:** The current resource does not support cdc. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> diff --git a/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementArgs.cs b/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementArgs.cs index eec06ead6..d6cfbbf53 100644 --- a/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementArgs.cs @@ -29,8 +29,9 @@ public InputList HostIds private InputList? _hostIps; /// - /// Specify the host machine ip. + /// It has been deprecated from version 1.81.108. Specify the host machine ip. /// + [Obsolete(@"It has been deprecated from version 1.81.108.")] public InputList HostIps { get => _hostIps ?? (_hostIps = new InputList()); diff --git a/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementGetArgs.cs b/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementGetArgs.cs index afe9e463a..6cf596b13 100644 --- a/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cvm/Inputs/LaunchTemplatePlacementGetArgs.cs @@ -29,8 +29,9 @@ public InputList HostIds private InputList? _hostIps; /// - /// Specify the host machine ip. + /// It has been deprecated from version 1.81.108. Specify the host machine ip. /// + [Obsolete(@"It has been deprecated from version 1.81.108.")] public InputList HostIps { get => _hostIps ?? (_hostIps = new InputList()); diff --git a/sdk/dotnet/Tencentcloud/Cvm/Outputs/GetChcHostsChcHostSetPlacementResult.cs b/sdk/dotnet/Tencentcloud/Cvm/Outputs/GetChcHostsChcHostSetPlacementResult.cs index 51bb8a2e1..4bdfc6e91 100644 --- a/sdk/dotnet/Tencentcloud/Cvm/Outputs/GetChcHostsChcHostSetPlacementResult.cs +++ b/sdk/dotnet/Tencentcloud/Cvm/Outputs/GetChcHostsChcHostSetPlacementResult.cs @@ -23,7 +23,7 @@ public sealed class GetChcHostsChcHostSetPlacementResult /// public readonly ImmutableArray HostIds; /// - /// IPs of the hosts to create CVMs. + /// (**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs. /// public readonly ImmutableArray HostIps; /// diff --git a/sdk/dotnet/Tencentcloud/Cvm/Outputs/LaunchTemplatePlacement.cs b/sdk/dotnet/Tencentcloud/Cvm/Outputs/LaunchTemplatePlacement.cs index 767cc5398..66141d7ad 100644 --- a/sdk/dotnet/Tencentcloud/Cvm/Outputs/LaunchTemplatePlacement.cs +++ b/sdk/dotnet/Tencentcloud/Cvm/Outputs/LaunchTemplatePlacement.cs @@ -19,7 +19,7 @@ public sealed class LaunchTemplatePlacement /// public readonly ImmutableArray HostIds; /// - /// Specify the host machine ip. + /// It has been deprecated from version 1.81.108. Specify the host machine ip. /// public readonly ImmutableArray HostIps; /// diff --git a/sdk/dotnet/Tencentcloud/Cynosdb/Cluster.cs b/sdk/dotnet/Tencentcloud/Cynosdb/Cluster.cs index 5dda0851d..735001759 100644 --- a/sdk/dotnet/Tencentcloud/Cynosdb/Cluster.cs +++ b/sdk/dotnet/Tencentcloud/Cynosdb/Cluster.cs @@ -13,12 +13,217 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cynosdb /// /// Provide a resource to create a CynosDB cluster. /// + /// ## Example Usage + /// + /// ### Create a single availability zone NORMAL CynosDB cluster + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, + /// }); + /// + /// // create cynosdb cluster + /// var exampleCluster = new Tencentcloud.Cynosdb.Cluster("exampleCluster", new() + /// { + /// AvailableZone = availabilityZone, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DbMode = "NORMAL", + /// DbType = "MYSQL", + /// DbVersion = "5.7", + /// Port = 3306, + /// StorageLimit = 1000, + /// ClusterName = "tf-example", + /// Password = "cynosDB@123", + /// InstanceMaintainDuration = 7200, + /// InstanceMaintainStartTime = 10800, + /// InstanceCpuCore = 2, + /// InstanceMemorySize = 4, + /// ForceDelete = false, + /// InstanceMaintainWeekdays = new[] + /// { + /// "Fri", + /// "Mon", + /// "Sat", + /// "Sun", + /// "Thu", + /// "Wed", + /// "Tue", + /// }, + /// ParamItems = new[] + /// { + /// new Tencentcloud.Cynosdb.Inputs.ClusterParamItemArgs + /// { + /// Name = "character_set_server", + /// CurrentValue = "utf8mb4", + /// }, + /// new Tencentcloud.Cynosdb.Inputs.ClusterParamItemArgs + /// { + /// Name = "lower_case_table_names", + /// CurrentValue = "0", + /// }, + /// }, + /// RwGroupSgs = new[] + /// { + /// exampleGroup.Id, + /// }, + /// RoGroupSgs = new[] + /// { + /// exampleGroup.Id, + /// }, + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a multiple availability zone SERVERLESS CynosDB cluster + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// var slaveZone = config.Get("slaveZone") ?? "ap-guangzhou-6"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "example", "test" }, + /// }, + /// }); + /// + /// // create param template + /// var exampleParamTemplate = new Tencentcloud.Cynosdb.ParamTemplate("exampleParamTemplate", new() + /// { + /// DbMode = "SERVERLESS", + /// EngineVersion = "8.0", + /// TemplateName = "tf-example", + /// TemplateDescription = "terraform-template", + /// ParamLists = new[] + /// { + /// new Tencentcloud.Cynosdb.Inputs.ParamTemplateParamListArgs + /// { + /// CurrentValue = "-1", + /// ParamName = "optimizer_trace_offset", + /// }, + /// }, + /// }); + /// + /// // create cynosdb cluster + /// var exampleCluster = new Tencentcloud.Cynosdb.Cluster("exampleCluster", new() + /// { + /// AvailableZone = availabilityZone, + /// SlaveZone = slaveZone, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DbMode = "SERVERLESS", + /// DbType = "MYSQL", + /// DbVersion = "8.0", + /// Port = 3306, + /// StorageLimit = 1000, + /// ClusterName = "tf-example", + /// Password = "cynosDB@123", + /// InstanceMaintainDuration = 7200, + /// InstanceMaintainStartTime = 10800, + /// MinCpu = 2, + /// MaxCpu = 4, + /// ParamTemplateId = exampleParamTemplate.TemplateId, + /// ForceDelete = false, + /// InstanceMaintainWeekdays = new[] + /// { + /// "Fri", + /// "Mon", + /// "Sat", + /// "Sun", + /// "Thu", + /// "Wed", + /// "Tue", + /// }, + /// RwGroupSgs = new[] + /// { + /// exampleGroup.Id, + /// }, + /// RoGroupSgs = new[] + /// { + /// exampleGroup.Id, + /// }, + /// Tags = + /// { + /// { "createBy", "terraform" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// CynosDB cluster can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Cynosdb/cluster:Cluster foo cynosdbmysql-dzj5l8gz + /// $ pulumi import tencentcloud:Cynosdb/cluster:Cluster example cynosdbmysql-dzj5l8gz /// ``` /// [TencentcloudResourceType("tencentcloud:Cynosdb/cluster:Cluster")] @@ -91,7 +296,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output DbType { get; private set; } = null!; /// - /// Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + /// Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. /// [Output("dbVersion")] public Output DbVersion { get; private set; } = null!; @@ -175,11 +380,17 @@ public partial class Cluster : global::Pulumi.CustomResource public Output OldIpReserveHours { get; private set; } = null!; /// - /// Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + /// Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. /// [Output("paramItems")] public Output> ParamItems { get; private set; } = null!; + /// + /// The ID of the parameter template. + /// + [Output("paramTemplateId")] + public Output ParamTemplateId { get; private set; } = null!; + /// /// Password of `root` account. /// @@ -193,7 +404,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output Port { get; private set; } = null!; /// - /// The ID of the parameter template. + /// It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. /// [Output("prarmTemplateId")] public Output PrarmTemplateId { get; private set; } = null!; @@ -270,6 +481,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("serverlessStatusFlag")] public Output ServerlessStatusFlag { get; private set; } = null!; + /// + /// Multi zone Addresses of the CynosDB Cluster. + /// + [Output("slaveZone")] + public Output SlaveZone { get; private set; } = null!; + /// /// Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary. /// @@ -406,7 +623,7 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs public Input DbType { get; set; } = null!; /// - /// Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + /// Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. /// [Input("dbVersion", required: true)] public Input DbVersion { get; set; } = null!; @@ -475,7 +692,7 @@ public InputList InstanceMaintainWeekdays private InputList? _paramItems; /// - /// Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + /// Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. /// public InputList ParamItems { @@ -483,6 +700,12 @@ public InputList ParamItems set => _paramItems = value; } + /// + /// The ID of the parameter template. + /// + [Input("paramTemplateId")] + public Input? ParamTemplateId { get; set; } + [Input("password", required: true)] private Input? _password; @@ -506,7 +729,7 @@ public Input? Password public Input? Port { get; set; } /// - /// The ID of the parameter template. + /// It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. /// [Input("prarmTemplateId")] public Input? PrarmTemplateId { get; set; } @@ -553,6 +776,12 @@ public InputList RwGroupSgs [Input("serverlessStatusFlag")] public Input? ServerlessStatusFlag { get; set; } + /// + /// Multi zone Addresses of the CynosDB Cluster. + /// + [Input("slaveZone")] + public Input? SlaveZone { get; set; } + /// /// Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary. /// @@ -664,7 +893,7 @@ public sealed class ClusterState : global::Pulumi.ResourceArgs public Input? DbType { get; set; } /// - /// Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + /// Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. /// [Input("dbVersion")] public Input? DbVersion { get; set; } @@ -757,7 +986,7 @@ public InputList InstanceMaintainWeekdays private InputList? _paramItems; /// - /// Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + /// Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. /// public InputList ParamItems { @@ -765,6 +994,12 @@ public InputList ParamItems set => _paramItems = value; } + /// + /// The ID of the parameter template. + /// + [Input("paramTemplateId")] + public Input? ParamTemplateId { get; set; } + [Input("password")] private Input? _password; @@ -788,7 +1023,7 @@ public Input? Password public Input? Port { get; set; } /// - /// The ID of the parameter template. + /// It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. /// [Input("prarmTemplateId")] public Input? PrarmTemplateId { get; set; } @@ -901,6 +1136,12 @@ public InputList RwGroupSgs [Input("serverlessStatusFlag")] public Input? ServerlessStatusFlag { get; set; } + /// + /// Multi zone Addresses of the CynosDB Cluster. + /// + [Input("slaveZone")] + public Input? SlaveZone { get; set; } + /// /// Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary. /// diff --git a/sdk/dotnet/Tencentcloud/Dasb/User.cs b/sdk/dotnet/Tencentcloud/Dasb/User.cs index 793545b7a..095187dc6 100644 --- a/sdk/dotnet/Tencentcloud/Dasb/User.cs +++ b/sdk/dotnet/Tencentcloud/Dasb/User.cs @@ -64,7 +64,7 @@ public partial class User : global::Pulumi.CustomResource public Output DepartmentId { get; private set; } = null!; /// - /// Email. + /// Email. Please provide at least one of `phone` or `email`. /// [Output("email")] public Output Email { get; private set; } = null!; @@ -76,7 +76,7 @@ public partial class User : global::Pulumi.CustomResource public Output> GroupIdSets { get; private set; } = null!; /// - /// Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + /// Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. /// [Output("phone")] public Output Phone { get; private set; } = null!; @@ -171,7 +171,7 @@ public sealed class UserArgs : global::Pulumi.ResourceArgs public Input? DepartmentId { get; set; } /// - /// Email. + /// Email. Please provide at least one of `phone` or `email`. /// [Input("email")] public Input? Email { get; set; } @@ -189,7 +189,7 @@ public InputList GroupIdSets } /// - /// Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + /// Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. /// [Input("phone")] public Input? Phone { get; set; } @@ -245,7 +245,7 @@ public sealed class UserState : global::Pulumi.ResourceArgs public Input? DepartmentId { get; set; } /// - /// Email. + /// Email. Please provide at least one of `phone` or `email`. /// [Input("email")] public Input? Email { get; set; } @@ -263,7 +263,7 @@ public InputList GroupIdSets } /// - /// Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + /// Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. /// [Input("phone")] public Input? Phone { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Eip/Instance.cs b/sdk/dotnet/Tencentcloud/Eip/Instance.cs index 6e3b927a1..eb77e4278 100644 --- a/sdk/dotnet/Tencentcloud/Eip/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Eip/Instance.cs @@ -129,6 +129,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("bandwidthPackageId")] public Output BandwidthPackageId { get; private set; } = null!; + /// + /// CDC Unique ID. + /// + [Output("cdcId")] + public Output CdcId { get; private set; } = null!; + /// /// Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). /// @@ -266,6 +272,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("bandwidthPackageId")] public Input? BandwidthPackageId { get; set; } + /// + /// CDC Unique ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). /// @@ -358,6 +370,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("bandwidthPackageId")] public Input? BandwidthPackageId { get; set; } + /// + /// CDC Unique ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). /// diff --git a/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupArgs.cs b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupArgs.cs new file mode 100644 index 000000000..df89edc5d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupArgs.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.Elasticsearch.Inputs +{ + + public sealed class InstanceCosBackupArgs : global::Pulumi.ResourceArgs + { + /// + /// Automatic backup execution time (accurate to the hour), e.g. `22:00`. + /// + [Input("backupTime", required: true)] + public Input BackupTime { get; set; } = null!; + + /// + /// Whether to enable automatic backup of cos. + /// + [Input("isAutoBackup", required: true)] + public Input IsAutoBackup { get; set; } = null!; + + public InstanceCosBackupArgs() + { + } + public static new InstanceCosBackupArgs Empty => new InstanceCosBackupArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupGetArgs.cs b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupGetArgs.cs new file mode 100644 index 000000000..be7aecbe7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceCosBackupGetArgs.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.Elasticsearch.Inputs +{ + + public sealed class InstanceCosBackupGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Automatic backup execution time (accurate to the hour), e.g. `22:00`. + /// + [Input("backupTime", required: true)] + public Input BackupTime { get; set; } = null!; + + /// + /// Whether to enable automatic backup of cos. + /// + [Input("isAutoBackup", required: true)] + public Input IsAutoBackup { get; set; } = null!; + + public InstanceCosBackupGetArgs() + { + } + public static new InstanceCosBackupGetArgs Empty => new InstanceCosBackupGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListArgs.cs b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListArgs.cs index 867f746b7..8c4ba027b 100644 --- a/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListArgs.cs +++ b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListArgs.cs @@ -20,7 +20,7 @@ public sealed class InstanceNodeInfoListArgs : global::Pulumi.ResourceArgs public Input? DiskSize { get; set; } /// - /// Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + /// Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. /// [Input("diskType")] public Input? DiskType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListGetArgs.cs b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListGetArgs.cs index 673735fee..1b6d71309 100644 --- a/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Elasticsearch/Inputs/InstanceNodeInfoListGetArgs.cs @@ -20,7 +20,7 @@ public sealed class InstanceNodeInfoListGetArgs : global::Pulumi.ResourceArgs public Input? DiskSize { get; set; } /// - /// Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + /// Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. /// [Input("diskType")] public Input? DiskType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Elasticsearch/Instance.cs b/sdk/dotnet/Tencentcloud/Elasticsearch/Instance.cs index 431fbe3e3..c637337dc 100644 --- a/sdk/dotnet/Tencentcloud/Elasticsearch/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Elasticsearch/Instance.cs @@ -78,6 +78,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Elasticsearch /// "127.0.0.1", /// }, /// }, + /// CosBackup = new Tencentcloud.Elasticsearch.Inputs.InstanceCosBackupArgs + /// { + /// IsAutoBackup = true, + /// BackupTime = "22:00", + /// }, /// Tags = /// { /// { "test", "test" }, @@ -225,6 +230,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("chargeType")] public Output ChargeType { get; private set; } = null!; + /// + /// COS automatic backup information. + /// + [Output("cosBackup")] + public Output CosBackup { get; private set; } = null!; + /// /// Instance creation time. /// @@ -414,6 +425,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("chargeType")] public Input? ChargeType { get; set; } + /// + /// COS automatic backup information. + /// + [Input("cosBackup")] + public Input? CosBackup { get; set; } + /// /// Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. /// @@ -564,6 +581,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("chargeType")] public Input? ChargeType { get; set; } + /// + /// COS automatic backup information. + /// + [Input("cosBackup")] + public Input? CosBackup { get; set; } + /// /// Instance creation time. /// diff --git a/sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceCosBackup.cs b/sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceCosBackup.cs new file mode 100644 index 000000000..75d347242 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceCosBackup.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.Elasticsearch.Outputs +{ + + [OutputType] + public sealed class InstanceCosBackup + { + /// + /// Automatic backup execution time (accurate to the hour), e.g. `22:00`. + /// + public readonly string BackupTime; + /// + /// Whether to enable automatic backup of cos. + /// + public readonly bool IsAutoBackup; + + [OutputConstructor] + private InstanceCosBackup( + string backupTime, + + bool isAutoBackup) + { + BackupTime = backupTime; + IsAutoBackup = isAutoBackup; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceNodeInfoList.cs b/sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceNodeInfoList.cs index e828b92c8..19e3c49fa 100644 --- a/sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceNodeInfoList.cs +++ b/sdk/dotnet/Tencentcloud/Elasticsearch/Outputs/InstanceNodeInfoList.cs @@ -19,7 +19,7 @@ public sealed class InstanceNodeInfoList /// public readonly int? DiskSize; /// - /// Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + /// Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. /// public readonly string? DiskType; /// diff --git a/sdk/dotnet/Tencentcloud/Emr/Cluster.cs b/sdk/dotnet/Tencentcloud/Emr/Cluster.cs index 9fbad4fc9..159cd2d36 100644 --- a/sdk/dotnet/Tencentcloud/Emr/Cluster.cs +++ b/sdk/dotnet/Tencentcloud/Emr/Cluster.cs @@ -137,6 +137,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Emr [TencentcloudResourceType("tencentcloud:Emr/cluster:Cluster")] public partial class Cluster : global::Pulumi.CustomResource { + /// + /// 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + /// + [Output("autoRenew")] + public Output AutoRenew { get; private set; } = null!; + /// /// It will be deprecated in later versions. Display strategy of EMR instance. /// @@ -312,6 +318,12 @@ public static Cluster Get(string name, Input id, ClusterState? state = n public sealed class ClusterArgs : global::Pulumi.ResourceArgs { + /// + /// 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + /// /// It will be deprecated in later versions. Display strategy of EMR instance. /// @@ -473,6 +485,12 @@ public ClusterArgs() public sealed class ClusterState : global::Pulumi.ResourceArgs { + /// + /// 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + /// /// It will be deprecated in later versions. Display strategy of EMR instance. /// diff --git a/sdk/dotnet/Tencentcloud/Eni/Instance.cs b/sdk/dotnet/Tencentcloud/Eni/Instance.cs index 97c6d209d..0b61cfd9f 100644 --- a/sdk/dotnet/Tencentcloud/Eni/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Eni/Instance.cs @@ -91,6 +91,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Eni [TencentcloudResourceType("tencentcloud:Eni/instance:Instance")] public partial class Instance : global::Pulumi.CustomResource { + /// + /// CDC instance ID. + /// + [Output("cdcId")] + public Output CdcId { get; private set; } = null!; + /// /// Creation time of the ENI. /// @@ -290,6 +296,12 @@ public InstanceArgs() public sealed class InstanceState : global::Pulumi.ResourceArgs { + /// + /// CDC instance ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// Creation time of the ENI. /// diff --git a/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniResult.cs b/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniResult.cs index 18ef756ee..3df8e3706 100644 --- a/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniResult.cs +++ b/sdk/dotnet/Tencentcloud/Enis/Outputs/GetInstanceEniResult.cs @@ -14,6 +14,10 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Enis.Outputs [OutputType] public sealed class GetInstanceEniResult { + /// + /// CDC instance ID. + /// + public readonly string CdcId; /// /// Creation time of the ENI. /// @@ -69,6 +73,8 @@ public sealed class GetInstanceEniResult [OutputConstructor] private GetInstanceEniResult( + string cdcId, + string createTime, string description, @@ -95,6 +101,7 @@ private GetInstanceEniResult( string vpcId) { + CdcId = cdcId; CreateTime = createTime; Description = description; Id = id; diff --git a/sdk/dotnet/Tencentcloud/Gaap/Layer4Listener.cs b/sdk/dotnet/Tencentcloud/Gaap/Layer4Listener.cs index 539d784b2..e7d037e57 100644 --- a/sdk/dotnet/Tencentcloud/Gaap/Layer4Listener.cs +++ b/sdk/dotnet/Tencentcloud/Gaap/Layer4Listener.cs @@ -81,6 +81,18 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Gaap [TencentcloudResourceType("tencentcloud:Gaap/layer4Listener:Layer4Listener")] public partial class Layer4Listener : global::Pulumi.CustomResource { + /// + /// UDP origin station health check probe port. + /// + [Output("checkPort")] + public Output CheckPort { get; private set; } = null!; + + /// + /// UDP origin server health type. PORT means check port, and PING means PING. + /// + [Output("checkType")] + public Output CheckType { get; private set; } = null!; + /// /// The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. /// @@ -88,11 +100,17 @@ public partial class Layer4Listener : global::Pulumi.CustomResource public Output ClientIpMethod { get; private set; } = null!; /// - /// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + /// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. /// [Output("connectTimeout")] public Output ConnectTimeout { get; private set; } = null!; + /// + /// UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + /// + [Output("contextType")] + public Output ContextType { get; private set; } = null!; + /// /// Creation time of the layer4 listener. /// @@ -100,13 +118,19 @@ public partial class Layer4Listener : global::Pulumi.CustomResource public Output CreateTime { get; private set; } = null!; /// - /// Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + /// Indicates whether health check is enable, default value is `false`. /// [Output("healthCheck")] public Output HealthCheck { get; private set; } = null!; /// - /// Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + /// Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + /// + [Output("healthyThreshold")] + public Output HealthyThreshold { get; private set; } = null!; + + /// + /// Interval of the health check, default value is 5s. /// [Output("interval")] public Output Interval { get; private set; } = null!; @@ -147,18 +171,36 @@ public partial class Layer4Listener : global::Pulumi.CustomResource [Output("realserverType")] public Output RealserverType { get; private set; } = null!; + /// + /// UDP source server health check port detects received messages. Only used when the health check type is PORT. + /// + [Output("recvContext")] + public Output RecvContext { get; private set; } = null!; + /// /// Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. /// [Output("scheduler")] public Output Scheduler { get; private set; } = null!; + /// + /// UDP source server health check port detection sends messages. Only used when health check type is PORT. + /// + [Output("sendContext")] + public Output SendContext { get; private set; } = null!; + /// /// Status of the layer4 listener. /// [Output("status")] public Output Status { get; private set; } = null!; + /// + /// Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + /// + [Output("unhealthyThreshold")] + public Output UnhealthyThreshold { get; private set; } = null!; + /// /// Create a Layer4Listener resource with the given unique name, arguments, and options. @@ -206,6 +248,18 @@ public static Layer4Listener Get(string name, Input id, Layer4ListenerSt public sealed class Layer4ListenerArgs : global::Pulumi.ResourceArgs { + /// + /// UDP origin station health check probe port. + /// + [Input("checkPort")] + public Input? CheckPort { get; set; } + + /// + /// UDP origin server health type. PORT means check port, and PING means PING. + /// + [Input("checkType")] + public Input? CheckType { get; set; } + /// /// The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. /// @@ -213,19 +267,31 @@ public sealed class Layer4ListenerArgs : global::Pulumi.ResourceArgs public Input? ClientIpMethod { get; set; } /// - /// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + /// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. /// [Input("connectTimeout")] public Input? ConnectTimeout { get; set; } /// - /// Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + /// UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + /// + [Input("contextType")] + public Input? ContextType { get; set; } + + /// + /// Indicates whether health check is enable, default value is `false`. /// [Input("healthCheck")] public Input? HealthCheck { get; set; } /// - /// Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + /// Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + /// + [Input("healthyThreshold")] + public Input? HealthyThreshold { get; set; } + + /// + /// Interval of the health check, default value is 5s. /// [Input("interval")] public Input? Interval { get; set; } @@ -272,12 +338,30 @@ public InputList RealserverBindSets [Input("realserverType", required: true)] public Input RealserverType { get; set; } = null!; + /// + /// UDP source server health check port detects received messages. Only used when the health check type is PORT. + /// + [Input("recvContext")] + public Input? RecvContext { get; set; } + /// /// Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. /// [Input("scheduler")] public Input? Scheduler { get; set; } + /// + /// UDP source server health check port detection sends messages. Only used when health check type is PORT. + /// + [Input("sendContext")] + public Input? SendContext { get; set; } + + /// + /// Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + /// + [Input("unhealthyThreshold")] + public Input? UnhealthyThreshold { get; set; } + public Layer4ListenerArgs() { } @@ -286,6 +370,18 @@ public Layer4ListenerArgs() public sealed class Layer4ListenerState : global::Pulumi.ResourceArgs { + /// + /// UDP origin station health check probe port. + /// + [Input("checkPort")] + public Input? CheckPort { get; set; } + + /// + /// UDP origin server health type. PORT means check port, and PING means PING. + /// + [Input("checkType")] + public Input? CheckType { get; set; } + /// /// The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. /// @@ -293,11 +389,17 @@ public sealed class Layer4ListenerState : global::Pulumi.ResourceArgs public Input? ClientIpMethod { get; set; } /// - /// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + /// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. /// [Input("connectTimeout")] public Input? ConnectTimeout { get; set; } + /// + /// UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + /// + [Input("contextType")] + public Input? ContextType { get; set; } + /// /// Creation time of the layer4 listener. /// @@ -305,13 +407,19 @@ public sealed class Layer4ListenerState : global::Pulumi.ResourceArgs public Input? CreateTime { get; set; } /// - /// Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + /// Indicates whether health check is enable, default value is `false`. /// [Input("healthCheck")] public Input? HealthCheck { get; set; } /// - /// Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + /// Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + /// + [Input("healthyThreshold")] + public Input? HealthyThreshold { get; set; } + + /// + /// Interval of the health check, default value is 5s. /// [Input("interval")] public Input? Interval { get; set; } @@ -358,18 +466,36 @@ public InputList RealserverBindSe [Input("realserverType")] public Input? RealserverType { get; set; } + /// + /// UDP source server health check port detects received messages. Only used when the health check type is PORT. + /// + [Input("recvContext")] + public Input? RecvContext { get; set; } + /// /// Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. /// [Input("scheduler")] public Input? Scheduler { get; set; } + /// + /// UDP source server health check port detection sends messages. Only used when health check type is PORT. + /// + [Input("sendContext")] + public Input? SendContext { get; set; } + /// /// Status of the layer4 listener. /// [Input("status")] public Input? Status { get; set; } + /// + /// Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + /// + [Input("unhealthyThreshold")] + public Input? UnhealthyThreshold { get; set; } + public Layer4ListenerState() { } diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterExternalSamlIdentityProvider.cs b/sdk/dotnet/Tencentcloud/Identity/CenterExternalSamlIdentityProvider.cs new file mode 100644 index 000000000..f730e248a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterExternalSamlIdentityProvider.cs @@ -0,0 +1,270 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create a organization identity_center_external_saml_identity_provider + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterExternalSamlIdentityProvider = new Tencentcloud.Identity.CenterExternalSamlIdentityProvider("identityCenterExternalSamlIdentityProvider", new() + /// { + /// SsoStatus = "Enabled", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_external_saml_identity_provider can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider identity_center_external_saml_identity_provider ${zoneId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider")] + public partial class CenterExternalSamlIdentityProvider : global::Pulumi.CustomResource + { + /// + /// Acs url. + /// + [Output("acsUrl")] + public Output AcsUrl { get; private set; } = null!; + + /// + /// Certificate ids. + /// + [Output("certificateIds")] + public Output> CertificateIds { get; private set; } = null!; + + /// + /// Create time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + /// + [Output("encodedMetadataDocument")] + public Output EncodedMetadataDocument { get; private set; } = null!; + + /// + /// IdP identifier. + /// + [Output("entityId")] + public Output EntityId { get; private set; } = null!; + + /// + /// IdP login URL. + /// + [Output("loginUrl")] + public Output LoginUrl { get; private set; } = null!; + + /// + /// SSO enabling status. Valid values: Enabled, Disabled (default). + /// + [Output("ssoStatus")] + public Output SsoStatus { get; private set; } = null!; + + /// + /// Update time. + /// + [Output("updateTime")] + public Output UpdateTime { get; private set; } = null!; + + /// + /// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + /// + [Output("x509Certificate")] + public Output X509Certificate { get; private set; } = null!; + + /// + /// Space ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterExternalSamlIdentityProvider 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 CenterExternalSamlIdentityProvider(string name, CenterExternalSamlIdentityProviderArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider", name, args ?? new CenterExternalSamlIdentityProviderArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterExternalSamlIdentityProvider(string name, Input id, CenterExternalSamlIdentityProviderState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider", 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 CenterExternalSamlIdentityProvider 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 CenterExternalSamlIdentityProvider Get(string name, Input id, CenterExternalSamlIdentityProviderState? state = null, CustomResourceOptions? options = null) + { + return new CenterExternalSamlIdentityProvider(name, id, state, options); + } + } + + public sealed class CenterExternalSamlIdentityProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + /// + [Input("encodedMetadataDocument")] + public Input? EncodedMetadataDocument { get; set; } + + /// + /// IdP identifier. + /// + [Input("entityId")] + public Input? EntityId { get; set; } + + /// + /// IdP login URL. + /// + [Input("loginUrl")] + public Input? LoginUrl { get; set; } + + /// + /// SSO enabling status. Valid values: Enabled, Disabled (default). + /// + [Input("ssoStatus")] + public Input? SsoStatus { get; set; } + + /// + /// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + /// + [Input("x509Certificate")] + public Input? X509Certificate { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterExternalSamlIdentityProviderArgs() + { + } + public static new CenterExternalSamlIdentityProviderArgs Empty => new CenterExternalSamlIdentityProviderArgs(); + } + + public sealed class CenterExternalSamlIdentityProviderState : global::Pulumi.ResourceArgs + { + /// + /// Acs url. + /// + [Input("acsUrl")] + public Input? AcsUrl { get; set; } + + [Input("certificateIds")] + private InputList? _certificateIds; + + /// + /// Certificate ids. + /// + public InputList CertificateIds + { + get => _certificateIds ?? (_certificateIds = new InputList()); + set => _certificateIds = value; + } + + /// + /// Create time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + /// + [Input("encodedMetadataDocument")] + public Input? EncodedMetadataDocument { get; set; } + + /// + /// IdP identifier. + /// + [Input("entityId")] + public Input? EntityId { get; set; } + + /// + /// IdP login URL. + /// + [Input("loginUrl")] + public Input? LoginUrl { get; set; } + + /// + /// SSO enabling status. Valid values: Enabled, Disabled (default). + /// + [Input("ssoStatus")] + public Input? SsoStatus { get; set; } + + /// + /// Update time. + /// + [Input("updateTime")] + public Input? UpdateTime { get; set; } + + /// + /// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + /// + [Input("x509Certificate")] + public Input? X509Certificate { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterExternalSamlIdentityProviderState() + { + } + public static new CenterExternalSamlIdentityProviderState Empty => new CenterExternalSamlIdentityProviderState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterGroup.cs b/sdk/dotnet/Tencentcloud/Identity/CenterGroup.cs new file mode 100644 index 000000000..932a5c05a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterGroup.cs @@ -0,0 +1,223 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create an identity center group + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterGroup = new Tencentcloud.Identity.CenterGroup("identityCenterGroup", new() + /// { + /// Description = "test", + /// GroupName = "test-group", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// tencentcloud_identity_center_group can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerGroup:CenterGroup identity_center_group ${zoneId}#${groupId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerGroup:CenterGroup")] + public partial class CenterGroup : global::Pulumi.CustomResource + { + /// + /// Creation time of the user group. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// A description of the user group. Length: Maximum 1024 characters. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// ID of the user group. + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + /// + [Output("groupName")] + public Output GroupName { get; private set; } = null!; + + /// + /// Type of user group. `Manual`: manual creation, `Synchronized`: external import. + /// + [Output("groupType")] + public Output GroupType { get; private set; } = null!; + + /// + /// Number of team members. + /// + [Output("memberCount")] + public Output MemberCount { get; private set; } = null!; + + /// + /// Modification time for the user group. + /// + [Output("updateTime")] + public Output UpdateTime { get; private set; } = null!; + + /// + /// Zone id. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterGroup 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 CenterGroup(string name, CenterGroupArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerGroup:CenterGroup", name, args ?? new CenterGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterGroup(string name, Input id, CenterGroupState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerGroup:CenterGroup", 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 CenterGroup 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 CenterGroup Get(string name, Input id, CenterGroupState? state = null, CustomResourceOptions? options = null) + { + return new CenterGroup(name, id, state, options); + } + } + + public sealed class CenterGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of the user group. Length: Maximum 1024 characters. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + /// + [Input("groupName", required: true)] + public Input GroupName { get; set; } = null!; + + /// + /// Zone id. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterGroupArgs() + { + } + public static new CenterGroupArgs Empty => new CenterGroupArgs(); + } + + public sealed class CenterGroupState : global::Pulumi.ResourceArgs + { + /// + /// Creation time of the user group. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// A description of the user group. Length: Maximum 1024 characters. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// ID of the user group. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + /// + [Input("groupName")] + public Input? GroupName { get; set; } + + /// + /// Type of user group. `Manual`: manual creation, `Synchronized`: external import. + /// + [Input("groupType")] + public Input? GroupType { get; set; } + + /// + /// Number of team members. + /// + [Input("memberCount")] + public Input? MemberCount { get; set; } + + /// + /// Modification time for the user group. + /// + [Input("updateTime")] + public Input? UpdateTime { get; set; } + + /// + /// Zone id. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterGroupState() + { + } + public static new CenterGroupState Empty => new CenterGroupState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterRoleAssignment.cs b/sdk/dotnet/Tencentcloud/Identity/CenterRoleAssignment.cs new file mode 100644 index 000000000..de0186a79 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterRoleAssignment.cs @@ -0,0 +1,313 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create a organization identity_center_role_assignment + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterRoleAssignment = new Tencentcloud.Identity.CenterRoleAssignment("identityCenterRoleAssignment", new() + /// { + /// PrincipalId = "u-xxxxxx", + /// PrincipalType = "User", + /// RoleConfigurationId = "rc-xxxxxx", + /// TargetType = "MemberUin", + /// TargetUin = "xxxxxx", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_role_assignment can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment identity_center_role_assignment {zoneId}#{roleConfigurationId}#{targetType}#{targetUinString}#{principalType}#{principalId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment")] + public partial class CenterRoleAssignment : global::Pulumi.CustomResource + { + /// + /// Create time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + /// + [Output("deprovisionStrategy")] + public Output DeprovisionStrategy { get; private set; } = null!; + + /// + /// Identity ID for the CAM user synchronization. Valid values: + /// When the PrincipalType value is Group, it is the CIC user group ID (g-********). + /// When the PrincipalType value is User, it is the CIC user ID (u-********). + /// + [Output("principalId")] + public Output PrincipalId { get; private set; } = null!; + + /// + /// Principal name. + /// + [Output("principalName")] + public Output PrincipalName { get; private set; } = null!; + + /// + /// Identity type for the CAM user synchronization. Valid values: + /// + /// User: indicates that the identity for the CAM user synchronization is a CIC user. + /// Group: indicates that the identity for the CAM user synchronization is a CIC user group. + /// + [Output("principalType")] + public Output PrincipalType { get; private set; } = null!; + + /// + /// Permission configuration ID. + /// + [Output("roleConfigurationId")] + public Output RoleConfigurationId { get; private set; } = null!; + + /// + /// Role configuration name. + /// + [Output("roleConfigurationName")] + public Output RoleConfigurationName { get; private set; } = null!; + + /// + /// Target name. + /// + [Output("targetName")] + public Output TargetName { get; private set; } = null!; + + /// + /// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + /// + [Output("targetType")] + public Output TargetType { get; private set; } = null!; + + /// + /// UIN of the synchronized target account of the Tencent Cloud Organization. + /// + [Output("targetUin")] + public Output TargetUin { get; private set; } = null!; + + /// + /// Update time. + /// + [Output("updateTime")] + public Output UpdateTime { get; private set; } = null!; + + /// + /// Space ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterRoleAssignment 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 CenterRoleAssignment(string name, CenterRoleAssignmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment", name, args ?? new CenterRoleAssignmentArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterRoleAssignment(string name, Input id, CenterRoleAssignmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment", 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 CenterRoleAssignment 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 CenterRoleAssignment Get(string name, Input id, CenterRoleAssignmentState? state = null, CustomResourceOptions? options = null) + { + return new CenterRoleAssignment(name, id, state, options); + } + } + + public sealed class CenterRoleAssignmentArgs : global::Pulumi.ResourceArgs + { + /// + /// When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + /// + [Input("deprovisionStrategy")] + public Input? DeprovisionStrategy { get; set; } + + /// + /// Identity ID for the CAM user synchronization. Valid values: + /// When the PrincipalType value is Group, it is the CIC user group ID (g-********). + /// When the PrincipalType value is User, it is the CIC user ID (u-********). + /// + [Input("principalId", required: true)] + public Input PrincipalId { get; set; } = null!; + + /// + /// Identity type for the CAM user synchronization. Valid values: + /// + /// User: indicates that the identity for the CAM user synchronization is a CIC user. + /// Group: indicates that the identity for the CAM user synchronization is a CIC user group. + /// + [Input("principalType", required: true)] + public Input PrincipalType { get; set; } = null!; + + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId", required: true)] + public Input RoleConfigurationId { get; set; } = null!; + + /// + /// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + /// + [Input("targetType", required: true)] + public Input TargetType { get; set; } = null!; + + /// + /// UIN of the synchronized target account of the Tencent Cloud Organization. + /// + [Input("targetUin", required: true)] + public Input TargetUin { get; set; } = null!; + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterRoleAssignmentArgs() + { + } + public static new CenterRoleAssignmentArgs Empty => new CenterRoleAssignmentArgs(); + } + + public sealed class CenterRoleAssignmentState : global::Pulumi.ResourceArgs + { + /// + /// Create time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + /// + [Input("deprovisionStrategy")] + public Input? DeprovisionStrategy { get; set; } + + /// + /// Identity ID for the CAM user synchronization. Valid values: + /// When the PrincipalType value is Group, it is the CIC user group ID (g-********). + /// When the PrincipalType value is User, it is the CIC user ID (u-********). + /// + [Input("principalId")] + public Input? PrincipalId { get; set; } + + /// + /// Principal name. + /// + [Input("principalName")] + public Input? PrincipalName { get; set; } + + /// + /// Identity type for the CAM user synchronization. Valid values: + /// + /// User: indicates that the identity for the CAM user synchronization is a CIC user. + /// Group: indicates that the identity for the CAM user synchronization is a CIC user group. + /// + [Input("principalType")] + public Input? PrincipalType { get; set; } + + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId")] + public Input? RoleConfigurationId { get; set; } + + /// + /// Role configuration name. + /// + [Input("roleConfigurationName")] + public Input? RoleConfigurationName { get; set; } + + /// + /// Target name. + /// + [Input("targetName")] + public Input? TargetName { get; set; } + + /// + /// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + /// + [Input("targetType")] + public Input? TargetType { get; set; } + + /// + /// UIN of the synchronized target account of the Tencent Cloud Organization. + /// + [Input("targetUin")] + public Input? TargetUin { get; set; } + + /// + /// Update time. + /// + [Input("updateTime")] + public Input? UpdateTime { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterRoleAssignmentState() + { + } + public static new CenterRoleAssignmentState Empty => new CenterRoleAssignmentState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfiguration.cs b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfiguration.cs new file mode 100644 index 000000000..d4d9a4834 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfiguration.cs @@ -0,0 +1,235 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create a organization identity_center_role_configuration + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterRoleConfiguration = new Tencentcloud.Identity.CenterRoleConfiguration("identityCenterRoleConfiguration", new() + /// { + /// Description = "test", + /// RoleConfigurationName = "tf-test", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_role_configuration can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration identity_center_role_configuration ${zoneId}#${roleConfigurationId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration")] + public partial class CenterRoleConfiguration : global::Pulumi.CustomResource + { + /// + /// Create time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Access configuration description, which contains up to 1024 characters. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + /// + [Output("relayState")] + public Output RelayState { get; private set; } = null!; + + /// + /// Role configuration id. + /// + [Output("roleConfigurationId")] + public Output RoleConfigurationId { get; private set; } = null!; + + /// + /// Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + /// + [Output("roleConfigurationName")] + public Output RoleConfigurationName { get; private set; } = null!; + + /// + /// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + /// + [Output("sessionDuration")] + public Output SessionDuration { get; private set; } = null!; + + /// + /// Update time. + /// + [Output("updateTime")] + public Output UpdateTime { get; private set; } = null!; + + /// + /// Space ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterRoleConfiguration 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 CenterRoleConfiguration(string name, CenterRoleConfigurationArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration", name, args ?? new CenterRoleConfigurationArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterRoleConfiguration(string name, Input id, CenterRoleConfigurationState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration", 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 CenterRoleConfiguration 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 CenterRoleConfiguration Get(string name, Input id, CenterRoleConfigurationState? state = null, CustomResourceOptions? options = null) + { + return new CenterRoleConfiguration(name, id, state, options); + } + } + + public sealed class CenterRoleConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Access configuration description, which contains up to 1024 characters. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + /// + [Input("relayState")] + public Input? RelayState { get; set; } + + /// + /// Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + /// + [Input("roleConfigurationName", required: true)] + public Input RoleConfigurationName { get; set; } = null!; + + /// + /// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + /// + [Input("sessionDuration")] + public Input? SessionDuration { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterRoleConfigurationArgs() + { + } + public static new CenterRoleConfigurationArgs Empty => new CenterRoleConfigurationArgs(); + } + + public sealed class CenterRoleConfigurationState : global::Pulumi.ResourceArgs + { + /// + /// Create time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Access configuration description, which contains up to 1024 characters. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + /// + [Input("relayState")] + public Input? RelayState { get; set; } + + /// + /// Role configuration id. + /// + [Input("roleConfigurationId")] + public Input? RoleConfigurationId { get; set; } + + /// + /// Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + /// + [Input("roleConfigurationName")] + public Input? RoleConfigurationName { get; set; } + + /// + /// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + /// + [Input("sessionDuration")] + public Input? SessionDuration { get; set; } + + /// + /// Update time. + /// + [Input("updateTime")] + public Input? UpdateTime { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterRoleConfigurationState() + { + } + public static new CenterRoleConfigurationState Empty => new CenterRoleConfigurationState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionCustomPolicyAttachment.cs b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionCustomPolicyAttachment.cs new file mode 100644 index 000000000..db0e4852e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionCustomPolicyAttachment.cs @@ -0,0 +1,220 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create a organization identity_center_role_configuration_permission_custom_policy_attachment + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterRoleConfigurationPermissionCustomPolicyAttachment = new Tencentcloud.Identity.CenterRoleConfigurationPermissionCustomPolicyAttachment("identityCenterRoleConfigurationPermissionCustomPolicyAttachment", new() + /// { + /// ZoneId = "z-xxxxxx", + /// RoleConfigurationId = "rc-xxxxxx", + /// RolePolicyName = "CustomPolicy", + /// RolePolicyDocument = @"{ + /// ""version"": ""2.0"", + /// ""statement"": [ + /// { + /// ""effect"": ""allow"", + /// ""action"": [ + /// ""vpc:AcceptAttachCcnInstances"" + /// ], + /// ""resource"": [ + /// ""*"" + /// ] + /// } + /// ] + /// } + /// ", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_role_configuration_permission_custom_policy_attachment can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment identity_center_role_configuration_permission_custom_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment")] + public partial class CenterRoleConfigurationPermissionCustomPolicyAttachment : global::Pulumi.CustomResource + { + /// + /// Role policy add time. + /// + [Output("addTime")] + public Output AddTime { get; private set; } = null!; + + /// + /// Permission configuration ID. + /// + [Output("roleConfigurationId")] + public Output RoleConfigurationId { get; private set; } = null!; + + /// + /// Role policy document. + /// + [Output("rolePolicyDocument")] + public Output RolePolicyDocument { get; private set; } = null!; + + /// + /// Role policy name. + /// + [Output("rolePolicyName")] + public Output RolePolicyName { get; private set; } = null!; + + /// + /// Role policy type. + /// + [Output("rolePolicyType")] + public Output RolePolicyType { get; private set; } = null!; + + /// + /// Space ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterRoleConfigurationPermissionCustomPolicyAttachment 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 CenterRoleConfigurationPermissionCustomPolicyAttachment(string name, CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment", name, args ?? new CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterRoleConfigurationPermissionCustomPolicyAttachment(string name, Input id, CenterRoleConfigurationPermissionCustomPolicyAttachmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment", 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 CenterRoleConfigurationPermissionCustomPolicyAttachment 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 CenterRoleConfigurationPermissionCustomPolicyAttachment Get(string name, Input id, CenterRoleConfigurationPermissionCustomPolicyAttachmentState? state = null, CustomResourceOptions? options = null) + { + return new CenterRoleConfigurationPermissionCustomPolicyAttachment(name, id, state, options); + } + } + + public sealed class CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId", required: true)] + public Input RoleConfigurationId { get; set; } = null!; + + /// + /// Role policy document. + /// + [Input("rolePolicyDocument", required: true)] + public Input RolePolicyDocument { get; set; } = null!; + + /// + /// Role policy name. + /// + [Input("rolePolicyName", required: true)] + public Input RolePolicyName { get; set; } = null!; + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs() + { + } + public static new CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs Empty => new CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs(); + } + + public sealed class CenterRoleConfigurationPermissionCustomPolicyAttachmentState : global::Pulumi.ResourceArgs + { + /// + /// Role policy add time. + /// + [Input("addTime")] + public Input? AddTime { get; set; } + + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId")] + public Input? RoleConfigurationId { get; set; } + + /// + /// Role policy document. + /// + [Input("rolePolicyDocument")] + public Input? RolePolicyDocument { get; set; } + + /// + /// Role policy name. + /// + [Input("rolePolicyName")] + public Input? RolePolicyName { get; set; } + + /// + /// Role policy type. + /// + [Input("rolePolicyType")] + public Input? RolePolicyType { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterRoleConfigurationPermissionCustomPolicyAttachmentState() + { + } + public static new CenterRoleConfigurationPermissionCustomPolicyAttachmentState Empty => new CenterRoleConfigurationPermissionCustomPolicyAttachmentState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionPolicyAttachment.cs b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionPolicyAttachment.cs new file mode 100644 index 000000000..fc290c783 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterRoleConfigurationPermissionPolicyAttachment.cs @@ -0,0 +1,217 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create a organization identity_center_role_configuration_permission_policy_attachment + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterRoleConfigurationPermissionPolicyAttachment = new Tencentcloud.Identity.CenterRoleConfigurationPermissionPolicyAttachment("identityCenterRoleConfigurationPermissionPolicyAttachment", new() + /// { + /// ZoneId = "z-xxxxxx", + /// RoleConfigurationId = "rc-xxxxxx", + /// RolePolicyId = xxxxxx, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_role_configuration_permission_policy_attachment can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment identity_center_role_configuration_permission_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyIdString} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment")] + public partial class CenterRoleConfigurationPermissionPolicyAttachment : global::Pulumi.CustomResource + { + /// + /// Role policy add time. + /// + [Output("addTime")] + public Output AddTime { get; private set; } = null!; + + /// + /// Permission configuration ID. + /// + [Output("roleConfigurationId")] + public Output RoleConfigurationId { get; private set; } = null!; + + /// + /// Role policy document. + /// + [Output("rolePolicyDocument")] + public Output RolePolicyDocument { get; private set; } = null!; + + /// + /// Role policy id. + /// + [Output("rolePolicyId")] + public Output RolePolicyId { get; private set; } = null!; + + /// + /// Role policy name. + /// + [Output("rolePolicyName")] + public Output RolePolicyName { get; private set; } = null!; + + /// + /// Role policy type. + /// + [Output("rolePolicyType")] + public Output RolePolicyType { get; private set; } = null!; + + /// + /// Space ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterRoleConfigurationPermissionPolicyAttachment 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 CenterRoleConfigurationPermissionPolicyAttachment(string name, CenterRoleConfigurationPermissionPolicyAttachmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment", name, args ?? new CenterRoleConfigurationPermissionPolicyAttachmentArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterRoleConfigurationPermissionPolicyAttachment(string name, Input id, CenterRoleConfigurationPermissionPolicyAttachmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment", 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 CenterRoleConfigurationPermissionPolicyAttachment 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 CenterRoleConfigurationPermissionPolicyAttachment Get(string name, Input id, CenterRoleConfigurationPermissionPolicyAttachmentState? state = null, CustomResourceOptions? options = null) + { + return new CenterRoleConfigurationPermissionPolicyAttachment(name, id, state, options); + } + } + + public sealed class CenterRoleConfigurationPermissionPolicyAttachmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId", required: true)] + public Input RoleConfigurationId { get; set; } = null!; + + /// + /// Role policy id. + /// + [Input("rolePolicyId", required: true)] + public Input RolePolicyId { get; set; } = null!; + + /// + /// Role policy name. + /// + [Input("rolePolicyName")] + public Input? RolePolicyName { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterRoleConfigurationPermissionPolicyAttachmentArgs() + { + } + public static new CenterRoleConfigurationPermissionPolicyAttachmentArgs Empty => new CenterRoleConfigurationPermissionPolicyAttachmentArgs(); + } + + public sealed class CenterRoleConfigurationPermissionPolicyAttachmentState : global::Pulumi.ResourceArgs + { + /// + /// Role policy add time. + /// + [Input("addTime")] + public Input? AddTime { get; set; } + + /// + /// Permission configuration ID. + /// + [Input("roleConfigurationId")] + public Input? RoleConfigurationId { get; set; } + + /// + /// Role policy document. + /// + [Input("rolePolicyDocument")] + public Input? RolePolicyDocument { get; set; } + + /// + /// Role policy id. + /// + [Input("rolePolicyId")] + public Input? RolePolicyId { get; set; } + + /// + /// Role policy name. + /// + [Input("rolePolicyName")] + public Input? RolePolicyName { get; set; } + + /// + /// Role policy type. + /// + [Input("rolePolicyType")] + public Input? RolePolicyType { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterRoleConfigurationPermissionPolicyAttachmentState() + { + } + public static new CenterRoleConfigurationPermissionPolicyAttachmentState Empty => new CenterRoleConfigurationPermissionPolicyAttachmentState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterUser.cs b/sdk/dotnet/Tencentcloud/Identity/CenterUser.cs new file mode 100644 index 000000000..3c8862ae9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterUser.cs @@ -0,0 +1,301 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create an identity center user + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterUser = new Tencentcloud.Identity.CenterUser("identityCenterUser", new() + /// { + /// Description = "test", + /// UserName = "test-user", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_user can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerUser:CenterUser identity_center_user ${zoneId}#${userId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerUser:CenterUser")] + public partial class CenterUser : global::Pulumi.CustomResource + { + /// + /// Create time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// User's description. Length: Maximum 1024 characters. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The display name of the user. Length: Maximum 256 characters. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + /// + [Output("email")] + public Output Email { get; private set; } = null!; + + /// + /// The user's last name. Length: Maximum 64 characters. + /// + [Output("firstName")] + public Output FirstName { get; private set; } = null!; + + /// + /// The user's name. Length: Maximum 64 characters. + /// + [Output("lastName")] + public Output LastName { get; private set; } = null!; + + /// + /// Update time. + /// + [Output("updateTime")] + public Output UpdateTime { get; private set; } = null!; + + /// + /// User id. + /// + [Output("userId")] + public Output UserId { get; private set; } = null!; + + /// + /// User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + /// + [Output("userName")] + public Output UserName { get; private set; } = null!; + + /// + /// The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + /// + [Output("userStatus")] + public Output UserStatus { get; private set; } = null!; + + /// + /// User type. + /// + [Output("userType")] + public Output UserType { get; private set; } = null!; + + /// + /// Zone id. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterUser 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 CenterUser(string name, CenterUserArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerUser:CenterUser", name, args ?? new CenterUserArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterUser(string name, Input id, CenterUserState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerUser:CenterUser", 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 CenterUser 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 CenterUser Get(string name, Input id, CenterUserState? state = null, CustomResourceOptions? options = null) + { + return new CenterUser(name, id, state, options); + } + } + + public sealed class CenterUserArgs : global::Pulumi.ResourceArgs + { + /// + /// User's description. Length: Maximum 1024 characters. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name of the user. Length: Maximum 256 characters. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + /// + [Input("email")] + public Input? Email { get; set; } + + /// + /// The user's last name. Length: Maximum 64 characters. + /// + [Input("firstName")] + public Input? FirstName { get; set; } + + /// + /// The user's name. Length: Maximum 64 characters. + /// + [Input("lastName")] + public Input? LastName { get; set; } + + /// + /// User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + /// + [Input("userName", required: true)] + public Input UserName { get; set; } = null!; + + /// + /// The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + /// + [Input("userStatus")] + public Input? UserStatus { get; set; } + + /// + /// Zone id. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterUserArgs() + { + } + public static new CenterUserArgs Empty => new CenterUserArgs(); + } + + public sealed class CenterUserState : global::Pulumi.ResourceArgs + { + /// + /// Create time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// User's description. Length: Maximum 1024 characters. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name of the user. Length: Maximum 256 characters. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + /// + [Input("email")] + public Input? Email { get; set; } + + /// + /// The user's last name. Length: Maximum 64 characters. + /// + [Input("firstName")] + public Input? FirstName { get; set; } + + /// + /// The user's name. Length: Maximum 64 characters. + /// + [Input("lastName")] + public Input? LastName { get; set; } + + /// + /// Update time. + /// + [Input("updateTime")] + public Input? UpdateTime { get; set; } + + /// + /// User id. + /// + [Input("userId")] + public Input? UserId { get; set; } + + /// + /// User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + /// + [Input("userName")] + public Input? UserName { get; set; } + + /// + /// The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + /// + [Input("userStatus")] + public Input? UserStatus { get; set; } + + /// + /// User type. + /// + [Input("userType")] + public Input? UserType { get; set; } + + /// + /// Zone id. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterUserState() + { + } + public static new CenterUserState Empty => new CenterUserState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterUserGroupAttachment.cs b/sdk/dotnet/Tencentcloud/Identity/CenterUserGroupAttachment.cs new file mode 100644 index 000000000..c8d306f29 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterUserGroupAttachment.cs @@ -0,0 +1,163 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create an identity center user group attachment + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterUserGroupAttachment = new Tencentcloud.Identity.CenterUserGroupAttachment("identityCenterUserGroupAttachment", new() + /// { + /// GroupId = "g-xxxxxx", + /// UserId = "u-xxxxxx", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_user_group_attachment can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment identity_center_user_group_attachment ${zoneId}#${groupId}#${userId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment")] + public partial class CenterUserGroupAttachment : global::Pulumi.CustomResource + { + /// + /// User group ID. + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// User ID. + /// + [Output("userId")] + public Output UserId { get; private set; } = null!; + + /// + /// Zone id. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterUserGroupAttachment 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 CenterUserGroupAttachment(string name, CenterUserGroupAttachmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment", name, args ?? new CenterUserGroupAttachmentArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterUserGroupAttachment(string name, Input id, CenterUserGroupAttachmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment", 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 CenterUserGroupAttachment 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 CenterUserGroupAttachment Get(string name, Input id, CenterUserGroupAttachmentState? state = null, CustomResourceOptions? options = null) + { + return new CenterUserGroupAttachment(name, id, state, options); + } + } + + public sealed class CenterUserGroupAttachmentArgs : global::Pulumi.ResourceArgs + { + /// + /// User group ID. + /// + [Input("groupId", required: true)] + public Input GroupId { get; set; } = null!; + + /// + /// User ID. + /// + [Input("userId", required: true)] + public Input UserId { get; set; } = null!; + + /// + /// Zone id. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterUserGroupAttachmentArgs() + { + } + public static new CenterUserGroupAttachmentArgs Empty => new CenterUserGroupAttachmentArgs(); + } + + public sealed class CenterUserGroupAttachmentState : global::Pulumi.ResourceArgs + { + /// + /// User group ID. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// User ID. + /// + [Input("userId")] + public Input? UserId { get; set; } + + /// + /// Zone id. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterUserGroupAttachmentState() + { + } + public static new CenterUserGroupAttachmentState Empty => new CenterUserGroupAttachmentState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/CenterUserSyncProvisioning.cs b/sdk/dotnet/Tencentcloud/Identity/CenterUserSyncProvisioning.cs new file mode 100644 index 000000000..8208d8b0c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/CenterUserSyncProvisioning.cs @@ -0,0 +1,349 @@ +// *** 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.Identity +{ + /// + /// Provides a resource to create a organization identity_center_user_sync_provisioning + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var identityCenterUserSyncProvisioning = new Tencentcloud.Identity.CenterUserSyncProvisioning("identityCenterUserSyncProvisioning", new() + /// { + /// DeletionStrategy = "Keep", + /// Description = "tf-test", + /// DuplicationStrategy = "TakeOver", + /// PrincipalId = "u-xxxxxx", + /// PrincipalType = "User", + /// TargetType = "MemberUin", + /// TargetUin = "xxxxxx", + /// ZoneId = "z-xxxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization identity_center_user_sync_provisioning can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning identity_center_user_sync_provisioning ${zoneId}#${userProvisioningId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning")] + public partial class CenterUserSyncProvisioning : global::Pulumi.CustomResource + { + /// + /// Create time. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + /// + [Output("deletionStrategy")] + public Output DeletionStrategy { get; private set; } = null!; + + /// + /// Description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + /// + [Output("duplicationStrategy")] + public Output DuplicationStrategy { get; private set; } = null!; + + /// + /// Identity ID for the CAM user synchronization. Valid values: + /// When the PrincipalType value is Group, it is the CIC user group ID (g-********). + /// When the PrincipalType value is User, it is the CIC user ID (u-********). + /// + [Output("principalId")] + public Output PrincipalId { get; private set; } = null!; + + /// + /// The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + /// + [Output("principalName")] + public Output PrincipalName { get; private set; } = null!; + + /// + /// Identity type for the CAM user synchronization. Valid values: + /// + /// User: indicates that the identity for the CAM user synchronization is a CIC user. + /// Group: indicates that the identity for the CAM user synchronization is a CIC user group. + /// + [Output("principalType")] + public Output PrincipalType { get; private set; } = null!; + + /// + /// Status of CAM user synchronization. Value: + /// * Enabled: CAM user synchronization is enabled; + /// * Disabled: CAM user synchronization is not enabled. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Group account The name of the target account.. + /// + [Output("targetName")] + public Output TargetName { get; private set; } = null!; + + /// + /// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + /// + [Output("targetType")] + public Output TargetType { get; private set; } = null!; + + /// + /// UIN of the synchronized target account of the Tencent Cloud Organization. + /// + [Output("targetUin")] + public Output TargetUin { get; private set; } = null!; + + /// + /// Update time. + /// + [Output("updateTime")] + public Output UpdateTime { get; private set; } = null!; + + /// + /// User provisioning id. + /// + [Output("userProvisioningId")] + public Output UserProvisioningId { get; private set; } = null!; + + /// + /// Space ID. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a CenterUserSyncProvisioning 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 CenterUserSyncProvisioning(string name, CenterUserSyncProvisioningArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning", name, args ?? new CenterUserSyncProvisioningArgs(), MakeResourceOptions(options, "")) + { + } + + private CenterUserSyncProvisioning(string name, Input id, CenterUserSyncProvisioningState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning", 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 CenterUserSyncProvisioning 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 CenterUserSyncProvisioning Get(string name, Input id, CenterUserSyncProvisioningState? state = null, CustomResourceOptions? options = null) + { + return new CenterUserSyncProvisioning(name, id, state, options); + } + } + + public sealed class CenterUserSyncProvisioningArgs : global::Pulumi.ResourceArgs + { + /// + /// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + /// + [Input("deletionStrategy")] + public Input? DeletionStrategy { get; set; } + + /// + /// Description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + /// + [Input("duplicationStrategy")] + public Input? DuplicationStrategy { get; set; } + + /// + /// Identity ID for the CAM user synchronization. Valid values: + /// When the PrincipalType value is Group, it is the CIC user group ID (g-********). + /// When the PrincipalType value is User, it is the CIC user ID (u-********). + /// + [Input("principalId")] + public Input? PrincipalId { get; set; } + + /// + /// Identity type for the CAM user synchronization. Valid values: + /// + /// User: indicates that the identity for the CAM user synchronization is a CIC user. + /// Group: indicates that the identity for the CAM user synchronization is a CIC user group. + /// + [Input("principalType")] + public Input? PrincipalType { get; set; } + + /// + /// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + /// + [Input("targetType")] + public Input? TargetType { get; set; } + + /// + /// UIN of the synchronized target account of the Tencent Cloud Organization. + /// + [Input("targetUin")] + public Input? TargetUin { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public CenterUserSyncProvisioningArgs() + { + } + public static new CenterUserSyncProvisioningArgs Empty => new CenterUserSyncProvisioningArgs(); + } + + public sealed class CenterUserSyncProvisioningState : global::Pulumi.ResourceArgs + { + /// + /// Create time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + /// + [Input("deletionStrategy")] + public Input? DeletionStrategy { get; set; } + + /// + /// Description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + /// + [Input("duplicationStrategy")] + public Input? DuplicationStrategy { get; set; } + + /// + /// Identity ID for the CAM user synchronization. Valid values: + /// When the PrincipalType value is Group, it is the CIC user group ID (g-********). + /// When the PrincipalType value is User, it is the CIC user ID (u-********). + /// + [Input("principalId")] + public Input? PrincipalId { get; set; } + + /// + /// The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + /// + [Input("principalName")] + public Input? PrincipalName { get; set; } + + /// + /// Identity type for the CAM user synchronization. Valid values: + /// + /// User: indicates that the identity for the CAM user synchronization is a CIC user. + /// Group: indicates that the identity for the CAM user synchronization is a CIC user group. + /// + [Input("principalType")] + public Input? PrincipalType { get; set; } + + /// + /// Status of CAM user synchronization. Value: + /// * Enabled: CAM user synchronization is enabled; + /// * Disabled: CAM user synchronization is not enabled. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Group account The name of the target account.. + /// + [Input("targetName")] + public Input? TargetName { get; set; } + + /// + /// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + /// + [Input("targetType")] + public Input? TargetType { get; set; } + + /// + /// UIN of the synchronized target account of the Tencent Cloud Organization. + /// + [Input("targetUin")] + public Input? TargetUin { get; set; } + + /// + /// Update time. + /// + [Input("updateTime")] + public Input? UpdateTime { get; set; } + + /// + /// User provisioning id. + /// + [Input("userProvisioningId")] + public Input? UserProvisioningId { get; set; } + + /// + /// Space ID. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public CenterUserSyncProvisioningState() + { + } + public static new CenterUserSyncProvisioningState Empty => new CenterUserSyncProvisioningState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Identity/README.md b/sdk/dotnet/Tencentcloud/Identity/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Identity/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithSamlArgs.cs b/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithSamlArgs.cs new file mode 100644 index 000000000..fd3366f8c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithSamlArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Inputs +{ + + public sealed class ProviderAssumeRoleWithSamlArgs : global::Pulumi.ResourceArgs + { + /// + /// Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + /// + [Input("principalArn", required: true)] + public Input PrincipalArn { get; set; } = null!; + + /// + /// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + /// + /// SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + /// + [Input("samlAssertion", required: true)] + public Input SamlAssertion { get; set; } = null!; + + /// + /// The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + /// + [Input("sessionDuration", required: true)] + public Input SessionDuration { get; set; } = null!; + + /// + /// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + /// + [Input("sessionName", required: true)] + public Input SessionName { get; set; } = null!; + + public ProviderAssumeRoleWithSamlArgs() + { + } + public static new ProviderAssumeRoleWithSamlArgs Empty => new ProviderAssumeRoleWithSamlArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithWebIdentityArgs.cs b/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithWebIdentityArgs.cs new file mode 100644 index 000000000..477d016e4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Inputs/ProviderAssumeRoleWithWebIdentityArgs.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.Inputs +{ + + public sealed class ProviderAssumeRoleWithWebIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + /// + /// The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + /// + [Input("sessionDuration", required: true)] + public Input SessionDuration { get; set; } = null!; + + /// + /// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + /// + [Input("sessionName", required: true)] + public Input SessionName { get; set; } = null!; + + /// + /// OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + /// + [Input("webIdentityToken", required: true)] + public Input WebIdentityToken { get; set; } = null!; + + public ProviderAssumeRoleWithWebIdentityArgs() + { + } + public static new ProviderAssumeRoleWithWebIdentityArgs Empty => new ProviderAssumeRoleWithWebIdentityArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskArgs.cs b/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskArgs.cs index ad08031d2..be959c262 100644 --- a/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskArgs.cs +++ b/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskArgs.cs @@ -43,6 +43,12 @@ public sealed class InstanceDataDiskArgs : global::Pulumi.ResourceArgs [Input("deleteWithInstance")] public Input? DeleteWithInstance { get; set; } + /// + /// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + /// + [Input("deleteWithInstancePrepaid")] + public Input? DeleteWithInstancePrepaid { get; set; } + /// /// Decides whether the disk is encrypted. Default is `false`. /// diff --git a/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskGetArgs.cs index 9c337b66c..ce2b012f7 100644 --- a/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskGetArgs.cs @@ -43,6 +43,12 @@ public sealed class InstanceDataDiskGetArgs : global::Pulumi.ResourceArgs [Input("deleteWithInstance")] public Input? DeleteWithInstance { get; set; } + /// + /// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + /// + [Input("deleteWithInstancePrepaid")] + public Input? DeleteWithInstancePrepaid { get; set; } + /// /// Decides whether the disk is encrypted. Default is `false`. /// diff --git a/sdk/dotnet/Tencentcloud/Instance/Instance.cs b/sdk/dotnet/Tencentcloud/Instance/Instance.cs index 287af91c8..c895c117b 100644 --- a/sdk/dotnet/Tencentcloud/Instance/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Instance/Instance.cs @@ -17,12 +17,198 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Instance /// /// > **NOTE:** At present, 'PREPAID' instance cannot be deleted directly and must wait it to be outdated and released automatically. /// + /// ## Example Usage + /// + /// ### Create a general POSTPAID_BY_HOUR CVM instance + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// var images = Tencentcloud.Images.GetInstance.Invoke(new() + /// { + /// ImageTypes = new[] + /// { + /// "PUBLIC_IMAGE", + /// }, + /// ImageNameRegex = "OpenCloudOS Server", + /// }); + /// + /// var types = Tencentcloud.Instance.GetTypes.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs + /// { + /// Name = "instance-family", + /// Values = new[] + /// { + /// "S1", + /// "S2", + /// "S3", + /// "S4", + /// "S5", + /// }, + /// }, + /// }, + /// CpuCoreCount = 2, + /// ExcludeSoldOut = true, + /// }); + /// + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", + /// }); + /// + /// // create CVM instance + /// var example = new Tencentcloud.Instance.Instance("example", new() + /// { + /// InstanceName = "tf-example", + /// AvailabilityZone = availabilityZone, + /// ImageId = images.Apply(getInstanceResult => getInstanceResult.Images[0]?.ImageId), + /// InstanceType = types.Apply(getTypesResult => getTypesResult.InstanceTypes[0]?.InstanceType), + /// SystemDiskType = "CLOUD_PREMIUM", + /// SystemDiskSize = 50, + /// Hostname = "user", + /// ProjectId = 0, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DataDisks = new[] + /// { + /// new Tencentcloud.Instance.Inputs.InstanceDataDiskArgs + /// { + /// DataDiskType = "CLOUD_PREMIUM", + /// DataDiskSize = 50, + /// Encrypt = false, + /// }, + /// }, + /// Tags = + /// { + /// { "tagKey", "tagValue" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a dedicated cluster CVM instance + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// var images = Tencentcloud.Images.GetInstance.Invoke(new() + /// { + /// ImageTypes = new[] + /// { + /// "PUBLIC_IMAGE", + /// }, + /// ImageNameRegex = "OpenCloudOS Server", + /// }); + /// + /// var types = Tencentcloud.Instance.GetTypes.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.Instance.Inputs.GetTypesFilterInputArgs + /// { + /// Name = "instance-family", + /// Values = new[] + /// { + /// "S1", + /// "S2", + /// "S3", + /// "S4", + /// "S5", + /// }, + /// }, + /// }, + /// CpuCoreCount = 2, + /// ExcludeSoldOut = true, + /// }); + /// + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", + /// CdcId = "cluster-262n63e8", + /// IsMulticast = false, + /// }); + /// + /// // create CVM instance + /// var example = new Tencentcloud.Instance.Instance("example", new() + /// { + /// InstanceName = "tf-example", + /// AvailabilityZone = availabilityZone, + /// ImageId = images.Apply(getInstanceResult => getInstanceResult.Images[0]?.ImageId), + /// InstanceType = types.Apply(getTypesResult => getTypesResult.InstanceTypes[0]?.InstanceType), + /// DedicatedClusterId = "cluster-262n63e8", + /// InstanceChargeType = "CDCPAID", + /// SystemDiskType = "CLOUD_SSD", + /// SystemDiskSize = 50, + /// Hostname = "user", + /// ProjectId = 0, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DataDisks = new[] + /// { + /// new Tencentcloud.Instance.Inputs.InstanceDataDiskArgs + /// { + /// DataDiskType = "CLOUD_SSD", + /// DataDiskSize = 50, + /// Encrypt = false, + /// }, + /// }, + /// Tags = + /// { + /// { "tagKey", "tagValue" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// CVM instance can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Instance/instance:Instance foo ins-2qol3a80 + /// $ pulumi import tencentcloud:Instance/instance:Instance example ins-2qol3a80 /// ``` /// [TencentcloudResourceType("tencentcloud:Instance/instance:Instance")] @@ -82,6 +268,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("dataDisks")] public Output> DataDisks { get; private set; } = null!; + /// + /// Exclusive cluster id. + /// + [Output("dedicatedClusterId")] + public Output DedicatedClusterId { get; private set; } = null!; + /// /// Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. /// @@ -286,6 +478,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("systemDiskId")] public Output SystemDiskId { get; private set; } = null!; + /// + /// Resize online. + /// + [Output("systemDiskResizeOnline")] + public Output SystemDiskResizeOnline { get; private set; } = null!; + /// /// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. /// @@ -427,6 +625,12 @@ public InputList DataDisks set => _dataDisks = value; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. /// @@ -630,6 +834,12 @@ public InputList SecurityGroups [Input("systemDiskId")] public Input? SystemDiskId { get; set; } + /// + /// Resize online. + /// + [Input("systemDiskResizeOnline")] + public Input? SystemDiskResizeOnline { get; set; } + /// /// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. /// @@ -740,6 +950,12 @@ public InputList DataDisks set => _dataDisks = value; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. /// @@ -973,6 +1189,12 @@ public InputList SecurityGroups [Input("systemDiskId")] public Input? SystemDiskId { get; set; } + /// + /// Resize online. + /// + [Input("systemDiskResizeOnline")] + public Input? SystemDiskResizeOnline { get; set; } + /// /// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. /// diff --git a/sdk/dotnet/Tencentcloud/Instance/Outputs/InstanceDataDisk.cs b/sdk/dotnet/Tencentcloud/Instance/Outputs/InstanceDataDisk.cs index c32d53ab1..9f8248851 100644 --- a/sdk/dotnet/Tencentcloud/Instance/Outputs/InstanceDataDisk.cs +++ b/sdk/dotnet/Tencentcloud/Instance/Outputs/InstanceDataDisk.cs @@ -35,6 +35,10 @@ public sealed class InstanceDataDisk /// public readonly bool? DeleteWithInstance; /// + /// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + /// + public readonly bool? DeleteWithInstancePrepaid; + /// /// Decides whether the disk is encrypted. Default is `false`. /// public readonly bool? Encrypt; @@ -55,6 +59,8 @@ private InstanceDataDisk( bool? deleteWithInstance, + bool? deleteWithInstancePrepaid, + bool? encrypt, int? throughputPerformance) @@ -64,6 +70,7 @@ private InstanceDataDisk( DataDiskSnapshotId = dataDiskSnapshotId; DataDiskType = dataDiskType; DeleteWithInstance = deleteWithInstance; + DeleteWithInstancePrepaid = deleteWithInstancePrepaid; Encrypt = encrypt; ThroughputPerformance = throughputPerformance; } diff --git a/sdk/dotnet/Tencentcloud/Instances/GetInstance.cs b/sdk/dotnet/Tencentcloud/Instances/GetInstance.cs index 8fdebdada..7287f6f21 100644 --- a/sdk/dotnet/Tencentcloud/Instances/GetInstance.cs +++ b/sdk/dotnet/Tencentcloud/Instances/GetInstance.cs @@ -176,6 +176,12 @@ public sealed class GetInstanceArgs : global::Pulumi.InvokeArgs [Input("availabilityZone")] public string? AvailabilityZone { get; set; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public string? DedicatedClusterId { get; set; } + /// /// ID of the instances to be queried. /// @@ -250,6 +256,12 @@ public sealed class GetInstanceInvokeArgs : global::Pulumi.InvokeArgs [Input("availabilityZone")] public Input? AvailabilityZone { get; set; } + /// + /// Exclusive cluster id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// ID of the instances to be queried. /// @@ -325,6 +337,10 @@ public sealed class GetInstanceResult /// public readonly string? AvailabilityZone; /// + /// Exclusive cluster id. + /// + public readonly string? DedicatedClusterId; + /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; @@ -363,6 +379,8 @@ public sealed class GetInstanceResult private GetInstanceResult( string? availabilityZone, + string? dedicatedClusterId, + string id, string? instanceId, @@ -384,6 +402,7 @@ private GetInstanceResult( string? vpcId) { AvailabilityZone = availabilityZone; + DedicatedClusterId = dedicatedClusterId; Id = id; InstanceId = instanceId; InstanceLists = instanceLists; diff --git a/sdk/dotnet/Tencentcloud/Instances/Outputs/GetInstanceInstanceListResult.cs b/sdk/dotnet/Tencentcloud/Instances/Outputs/GetInstanceInstanceListResult.cs index 069775fc0..ebccc7069 100644 --- a/sdk/dotnet/Tencentcloud/Instances/Outputs/GetInstanceInstanceListResult.cs +++ b/sdk/dotnet/Tencentcloud/Instances/Outputs/GetInstanceInstanceListResult.cs @@ -39,6 +39,10 @@ public sealed class GetInstanceInstanceListResult /// public readonly ImmutableArray DataDisks; /// + /// Exclusive cluster id. + /// + public readonly string DedicatedClusterId; + /// /// Expired time of the instance. /// public readonly string ExpiredTime; @@ -123,6 +127,10 @@ public sealed class GetInstanceInstanceListResult /// public readonly ImmutableDictionary Tags; /// + /// Globally unique ID of the instance. + /// + public readonly string Uuid; + /// /// ID of the vpc to be queried. /// public readonly string VpcId; @@ -141,6 +149,8 @@ private GetInstanceInstanceListResult( ImmutableArray dataDisks, + string dedicatedClusterId, + string expiredTime, string imageId, @@ -183,6 +193,8 @@ private GetInstanceInstanceListResult( ImmutableDictionary tags, + string uuid, + string vpcId) { AllocatePublicIp = allocatePublicIp; @@ -191,6 +203,7 @@ private GetInstanceInstanceListResult( Cpu = cpu; CreateTime = createTime; DataDisks = dataDisks; + DedicatedClusterId = dedicatedClusterId; ExpiredTime = expiredTime; ImageId = imageId; InstanceChargeType = instanceChargeType; @@ -212,6 +225,7 @@ private GetInstanceInstanceListResult( SystemDiskSize = systemDiskSize; SystemDiskType = systemDiskType; Tags = tags; + Uuid = uuid; VpcId = vpcId; } } diff --git a/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileArgs.cs b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileArgs.cs new file mode 100644 index 000000000..f424b1dbb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileArgs.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.Invite.Inputs +{ + + public sealed class OrganizationMemberOperationAuthFileArgs : global::Pulumi.ResourceArgs + { + /// + /// File name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// File path. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public OrganizationMemberOperationAuthFileArgs() + { + } + public static new OrganizationMemberOperationAuthFileArgs Empty => new OrganizationMemberOperationAuthFileArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileGetArgs.cs b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileGetArgs.cs new file mode 100644 index 000000000..b012964f5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationAuthFileGetArgs.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.Invite.Inputs +{ + + public sealed class OrganizationMemberOperationAuthFileGetArgs : global::Pulumi.ResourceArgs + { + /// + /// File name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// File path. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public OrganizationMemberOperationAuthFileGetArgs() + { + } + public static new OrganizationMemberOperationAuthFileGetArgs Empty => new OrganizationMemberOperationAuthFileGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagArgs.cs b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagArgs.cs new file mode 100644 index 000000000..deab3eac3 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagArgs.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.Invite.Inputs +{ + + public sealed class OrganizationMemberOperationTagArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("tagKey", required: true)] + public Input TagKey { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("tagValue", required: true)] + public Input TagValue { get; set; } = null!; + + public OrganizationMemberOperationTagArgs() + { + } + public static new OrganizationMemberOperationTagArgs Empty => new OrganizationMemberOperationTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagGetArgs.cs b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagGetArgs.cs new file mode 100644 index 000000000..8cf7ecae5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/Inputs/OrganizationMemberOperationTagGetArgs.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.Invite.Inputs +{ + + public sealed class OrganizationMemberOperationTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("tagKey", required: true)] + public Input TagKey { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("tagValue", required: true)] + public Input TagValue { get; set; } = null!; + + public OrganizationMemberOperationTagGetArgs() + { + } + public static new OrganizationMemberOperationTagGetArgs Empty => new OrganizationMemberOperationTagGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Invite/OrganizationMemberOperation.cs b/sdk/dotnet/Tencentcloud/Invite/OrganizationMemberOperation.cs new file mode 100644 index 000000000..7f87a0452 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/OrganizationMemberOperation.cs @@ -0,0 +1,342 @@ +// *** 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.Invite +{ + /// + /// Provides a resource to create a organization invite_organization_member_operation + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var inviteOrganizationMemberOperation = new Tencentcloud.Invite.OrganizationMemberOperation("inviteOrganizationMemberOperation", new() + /// { + /// IsAllowQuit = "Allow", + /// MemberUin = "xxxxxx", + /// NodeId = "xxxxxx", + /// PermissionIds = new[] + /// { + /// 1, + /// 2, + /// 4, + /// }, + /// PolicyType = "Financial", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation")] + public partial class OrganizationMemberOperation : global::Pulumi.CustomResource + { + /// + /// List of supporting documents of mutual trust entities. + /// + [Output("authFiles")] + public Output> AuthFiles { get; private set; } = null!; + + /// + /// Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + /// + [Output("isAllowQuit")] + public Output IsAllowQuit { get; private set; } = null!; + + /// + /// Invited account Uin. + /// + [Output("memberUin")] + public Output MemberUin { get; private set; } = null!; + + /// + /// Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Node ID of the member's department. + /// + [Output("nodeId")] + public Output NodeId { get; private set; } = null!; + + /// + /// Payer Uin. Member needs to pay on behalf of. + /// + [Output("payUin")] + public Output PayUin { get; private set; } = null!; + + /// + /// List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + /// + [Output("permissionIds")] + public Output> PermissionIds { get; private set; } = null!; + + /// + /// Relationship strategies. Value taken: Financial. + /// + [Output("policyType")] + public Output PolicyType { get; private set; } = null!; + + /// + /// Name of the real-name subject of mutual trust. + /// + [Output("relationAuthName")] + public Output RelationAuthName { get; private set; } = null!; + + /// + /// Remark. + /// + [Output("remark")] + public Output Remark { get; private set; } = null!; + + /// + /// List of member tags. Maximum 10. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a OrganizationMemberOperation 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 OrganizationMemberOperation(string name, OrganizationMemberOperationArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation", name, args ?? new OrganizationMemberOperationArgs(), MakeResourceOptions(options, "")) + { + } + + private OrganizationMemberOperation(string name, Input id, OrganizationMemberOperationState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation", 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 OrganizationMemberOperation 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 OrganizationMemberOperation Get(string name, Input id, OrganizationMemberOperationState? state = null, CustomResourceOptions? options = null) + { + return new OrganizationMemberOperation(name, id, state, options); + } + } + + public sealed class OrganizationMemberOperationArgs : global::Pulumi.ResourceArgs + { + [Input("authFiles")] + private InputList? _authFiles; + + /// + /// List of supporting documents of mutual trust entities. + /// + public InputList AuthFiles + { + get => _authFiles ?? (_authFiles = new InputList()); + set => _authFiles = value; + } + + /// + /// Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + /// + [Input("isAllowQuit")] + public Input? IsAllowQuit { get; set; } + + /// + /// Invited account Uin. + /// + [Input("memberUin", required: true)] + public Input MemberUin { get; set; } = null!; + + /// + /// Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Node ID of the member's department. + /// + [Input("nodeId", required: true)] + public Input NodeId { get; set; } = null!; + + /// + /// Payer Uin. Member needs to pay on behalf of. + /// + [Input("payUin")] + public Input? PayUin { get; set; } + + [Input("permissionIds", required: true)] + private InputList? _permissionIds; + + /// + /// List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + /// + public InputList PermissionIds + { + get => _permissionIds ?? (_permissionIds = new InputList()); + set => _permissionIds = value; + } + + /// + /// Relationship strategies. Value taken: Financial. + /// + [Input("policyType", required: true)] + public Input PolicyType { get; set; } = null!; + + /// + /// Name of the real-name subject of mutual trust. + /// + [Input("relationAuthName")] + public Input? RelationAuthName { get; set; } + + /// + /// Remark. + /// + [Input("remark")] + public Input? Remark { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// List of member tags. Maximum 10. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public OrganizationMemberOperationArgs() + { + } + public static new OrganizationMemberOperationArgs Empty => new OrganizationMemberOperationArgs(); + } + + public sealed class OrganizationMemberOperationState : global::Pulumi.ResourceArgs + { + [Input("authFiles")] + private InputList? _authFiles; + + /// + /// List of supporting documents of mutual trust entities. + /// + public InputList AuthFiles + { + get => _authFiles ?? (_authFiles = new InputList()); + set => _authFiles = value; + } + + /// + /// Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + /// + [Input("isAllowQuit")] + public Input? IsAllowQuit { get; set; } + + /// + /// Invited account Uin. + /// + [Input("memberUin")] + public Input? MemberUin { get; set; } + + /// + /// Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Node ID of the member's department. + /// + [Input("nodeId")] + public Input? NodeId { get; set; } + + /// + /// Payer Uin. Member needs to pay on behalf of. + /// + [Input("payUin")] + public Input? PayUin { get; set; } + + [Input("permissionIds")] + private InputList? _permissionIds; + + /// + /// List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + /// + public InputList PermissionIds + { + get => _permissionIds ?? (_permissionIds = new InputList()); + set => _permissionIds = value; + } + + /// + /// Relationship strategies. Value taken: Financial. + /// + [Input("policyType")] + public Input? PolicyType { get; set; } + + /// + /// Name of the real-name subject of mutual trust. + /// + [Input("relationAuthName")] + public Input? RelationAuthName { get; set; } + + /// + /// Remark. + /// + [Input("remark")] + public Input? Remark { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// List of member tags. Maximum 10. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public OrganizationMemberOperationState() + { + } + public static new OrganizationMemberOperationState Empty => new OrganizationMemberOperationState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationAuthFile.cs b/sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationAuthFile.cs new file mode 100644 index 000000000..04654057e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationAuthFile.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.Invite.Outputs +{ + + [OutputType] + public sealed class OrganizationMemberOperationAuthFile + { + /// + /// File name. + /// + public readonly string Name; + /// + /// File path. + /// + public readonly string Url; + + [OutputConstructor] + private OrganizationMemberOperationAuthFile( + string name, + + string url) + { + Name = name; + Url = url; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationTag.cs b/sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationTag.cs new file mode 100644 index 000000000..9a71a5de1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/Outputs/OrganizationMemberOperationTag.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.Invite.Outputs +{ + + [OutputType] + public sealed class OrganizationMemberOperationTag + { + /// + /// Tag key. + /// + public readonly string TagKey; + /// + /// Tag value. + /// + public readonly string TagValue; + + [OutputConstructor] + private OrganizationMemberOperationTag( + string tagKey, + + string tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Invite/README.md b/sdk/dotnet/Tencentcloud/Invite/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Invite/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/AddonConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/AddonConfig.cs new file mode 100644 index 000000000..a02507b0f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/AddonConfig.cs @@ -0,0 +1,177 @@ +// *** 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 +{ + /// + /// Provide a resource to configure addon that kubernetes comes with. + /// + /// ## Example Usage + /// + [TencentcloudResourceType("tencentcloud:Kubernetes/addonConfig:AddonConfig")] + public partial class AddonConfig : global::Pulumi.CustomResource + { + /// + /// Name of addon. + /// + [Output("addonName")] + public Output AddonName { get; private set; } = null!; + + /// + /// Version of addon. + /// + [Output("addonVersion")] + public Output AddonVersion { get; private set; } = null!; + + /// + /// ID of cluster. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// Status of addon. + /// + [Output("phase")] + public Output Phase { get; private set; } = null!; + + /// + /// Params of addon, base64 encoded json format. + /// + [Output("rawValues")] + public Output RawValues { get; private set; } = null!; + + /// + /// Reason of addon failed. + /// + [Output("reason")] + public Output Reason { get; private set; } = null!; + + + /// + /// Create a AddonConfig 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 AddonConfig(string name, AddonConfigArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/addonConfig:AddonConfig", name, args ?? new AddonConfigArgs(), MakeResourceOptions(options, "")) + { + } + + private AddonConfig(string name, Input id, AddonConfigState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/addonConfig:AddonConfig", 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 AddonConfig 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 AddonConfig Get(string name, Input id, AddonConfigState? state = null, CustomResourceOptions? options = null) + { + return new AddonConfig(name, id, state, options); + } + } + + public sealed class AddonConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of addon. + /// + [Input("addonName", required: true)] + public Input AddonName { get; set; } = null!; + + /// + /// Version of addon. + /// + [Input("addonVersion")] + public Input? AddonVersion { get; set; } + + /// + /// ID of cluster. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + /// + /// Params of addon, base64 encoded json format. + /// + [Input("rawValues")] + public Input? RawValues { get; set; } + + public AddonConfigArgs() + { + } + public static new AddonConfigArgs Empty => new AddonConfigArgs(); + } + + public sealed class AddonConfigState : global::Pulumi.ResourceArgs + { + /// + /// Name of addon. + /// + [Input("addonName")] + public Input? AddonName { get; set; } + + /// + /// Version of addon. + /// + [Input("addonVersion")] + public Input? AddonVersion { get; set; } + + /// + /// ID of cluster. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Status of addon. + /// + [Input("phase")] + public Input? Phase { get; set; } + + /// + /// Params of addon, base64 encoded json format. + /// + [Input("rawValues")] + public Input? RawValues { get; set; } + + /// + /// Reason of addon failed. + /// + [Input("reason")] + public Input? Reason { get; set; } + + public AddonConfigState() + { + } + public static new AddonConfigState Empty => new AddonConfigState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs index e109f82b7..bb6e371b1 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs @@ -203,6 +203,55 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Create a CDC scenario cluster + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var cdcCluster = new Tencentcloud.Kubernetes.Cluster("cdcCluster", new() + /// { + /// CdcId = "cluster-xxxxx", + /// ClusterCidr = "192.168.0.0/16", + /// ClusterDeployType = "INDEPENDENT_CLUSTER", + /// ClusterDesc = "test cluster desc", + /// ClusterLevel = "L20", + /// ClusterMaxPodNum = 64, + /// ClusterMaxServiceNum = 1024, + /// ClusterName = "test-cdc", + /// ClusterOs = "tlinux3.1x86_64", + /// ClusterVersion = "1.30.0", + /// ContainerRuntime = "containerd", + /// ExistInstances = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.ClusterExistInstanceArgs + /// { + /// InstancesPara = new Tencentcloud.Kubernetes.Inputs.ClusterExistInstanceInstancesParaArgs + /// { + /// InstanceIds = new[] + /// { + /// "ins-eeijdk16", + /// "ins-84ku5rba", + /// "ins-8oa3im2s", + /// }, + /// }, + /// NodeRole = "MASTER_ETCD", + /// }, + /// }, + /// PreStartUserScript = "aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=", + /// RuntimeVersion = "1.6.9", + /// VpcId = "vpc-xxxxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// tke cluster can be imported, e.g. @@ -238,6 +287,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("basePodNum")] public Output BasePodNum { get; private set; } = null!; + /// + /// CDC ID. + /// + [Output("cdcId")] + public Output CdcId { get; private set; } = null!; + /// /// The certificate used for access. /// @@ -460,6 +515,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("ignoreClusterCidrConflict")] public Output IgnoreClusterCidrConflict { get; private set; } = null!; + /// + /// Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + /// + [Output("ignoreServiceCidrConflict")] + public Output IgnoreServiceCidrConflict { get; private set; } = null!; + /// /// Indicates whether non-static ip mode is enabled. Default is false. /// @@ -544,6 +605,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("pgwEndpoint")] public Output PgwEndpoint { get; private set; } = null!; + /// + /// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + /// + [Output("preStartUserScript")] + public Output PreStartUserScript { get; private set; } = null!; + /// /// Project ID, default value is 0. /// @@ -687,6 +754,12 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs [Input("basePodNum")] public Input? BasePodNum { get; set; } + /// + /// CDC ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// Claim expired seconds to recycle ENI. This field can only set when field `network_type` is 'VPC-CNI'. `claim_expired_seconds` must greater or equal than 300 and less than 15768000. /// @@ -903,6 +976,12 @@ public InputList ExtraArgs [Input("ignoreClusterCidrConflict")] public Input? IgnoreClusterCidrConflict { get; set; } + /// + /// Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + /// + [Input("ignoreServiceCidrConflict")] + public Input? IgnoreServiceCidrConflict { get; set; } + /// /// Indicates whether non-static ip mode is enabled. Default is false. /// @@ -988,6 +1067,12 @@ public InputList NodePoolGlobalConfigs set => _nodePoolGlobalConfigs = value; } + /// + /// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + /// + [Input("preStartUserScript")] + public Input? PreStartUserScript { get; set; } + /// /// Project ID, default value is 0. /// @@ -1086,6 +1171,12 @@ public sealed class ClusterState : global::Pulumi.ResourceArgs [Input("basePodNum")] public Input? BasePodNum { get; set; } + /// + /// CDC ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// The certificate used for access. /// @@ -1332,6 +1423,12 @@ public InputList ExtraArgs [Input("ignoreClusterCidrConflict")] public Input? IgnoreClusterCidrConflict { get; set; } + /// + /// Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + /// + [Input("ignoreServiceCidrConflict")] + public Input? IgnoreServiceCidrConflict { get; set; } + /// /// Indicates whether non-static ip mode is enabled. Default is false. /// @@ -1441,6 +1538,12 @@ public InputList NodePoolGlobalConfig [Input("pgwEndpoint")] public Input? PgwEndpoint { get; set; } + /// + /// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + /// + [Input("preStartUserScript")] + public Input? PreStartUserScript { get; set; } + /// /// Project ID, default value is 0. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/ClusterAttachment.cs b/sdk/dotnet/Tencentcloud/Kubernetes/ClusterAttachment.cs index 879aff4d4..bbb971793 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/ClusterAttachment.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/ClusterAttachment.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// /// Provide a resource to attach an existing cvm to kubernetes cluster. /// + /// > **NOTE:** Use `unschedulable` to set whether the join node participates in the schedule. The `is_schedule` of 'worker_config' and 'worker_config_overrides' was deprecated. + /// /// ## Example Usage /// /// <!--Start PulumiCodeChooser --> @@ -144,6 +146,12 @@ public partial class ClusterAttachment : global::Pulumi.CustomResource [Output("hostname")] public Output Hostname { get; private set; } = null!; + /// + /// ID of Node image. + /// + [Output("imageId")] + public Output ImageId { get; private set; } = null!; + /// /// ID of the CVM instance, this cvm will reinstall the system. /// @@ -181,7 +189,7 @@ public partial class ClusterAttachment : global::Pulumi.CustomResource public Output State { get; private set; } = null!; /// - /// Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + /// Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. /// [Output("unschedulable")] public Output Unschedulable { get; private set; } = null!; @@ -261,6 +269,12 @@ public sealed class ClusterAttachmentArgs : global::Pulumi.ResourceArgs [Input("hostname")] public Input? Hostname { get; set; } + /// + /// ID of Node image. + /// + [Input("imageId")] + public Input? ImageId { get; set; } + /// /// ID of the CVM instance, this cvm will reinstall the system. /// @@ -302,7 +316,7 @@ public Input? Password } /// - /// Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + /// Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. /// [Input("unschedulable")] public Input? Unschedulable { get; set; } @@ -339,6 +353,12 @@ public sealed class ClusterAttachmentState : global::Pulumi.ResourceArgs [Input("hostname")] public Input? Hostname { get; set; } + /// + /// ID of Node image. + /// + [Input("imageId")] + public Input? ImageId { get; set; } + /// /// ID of the CVM instance, this cvm will reinstall the system. /// @@ -398,7 +418,7 @@ public InputList SecurityGroups public Input? State { get; set; } /// - /// Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + /// Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. /// [Input("unschedulable")] public Input? Unschedulable { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/HealthCheckPolicy.cs b/sdk/dotnet/Tencentcloud/Kubernetes/HealthCheckPolicy.cs new file mode 100644 index 000000000..c5f707ec0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/HealthCheckPolicy.cs @@ -0,0 +1,188 @@ +// *** 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_health_check_policy + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var kubernetesHealthCheckPolicy = new Tencentcloud.Kubernetes.HealthCheckPolicy("kubernetesHealthCheckPolicy", new() + /// { + /// ClusterId = "cls-xxxxx", + /// Rules = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.HealthCheckPolicyRuleArgs + /// { + /// AutoRepairEnabled = true, + /// Enabled = true, + /// Name = "OOMKilling", + /// }, + /// new Tencentcloud.Kubernetes.Inputs.HealthCheckPolicyRuleArgs + /// { + /// AutoRepairEnabled = true, + /// Enabled = true, + /// Name = "KubeletUnhealthy", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// tke kubernetes_health_check_policy can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy kubernetes_health_check_policy cls-xxxxx#healthcheckpolicyname + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy")] + public partial class HealthCheckPolicy : global::Pulumi.CustomResource + { + /// + /// ID of the cluster. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// Health Check Policy Name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Health check policy rule list. + /// + [Output("rules")] + public Output> Rules { get; private set; } = null!; + + + /// + /// Create a HealthCheckPolicy 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 HealthCheckPolicy(string name, HealthCheckPolicyArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy", name, args ?? new HealthCheckPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private HealthCheckPolicy(string name, Input id, HealthCheckPolicyState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy", 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 HealthCheckPolicy 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 HealthCheckPolicy Get(string name, Input id, HealthCheckPolicyState? state = null, CustomResourceOptions? options = null) + { + return new HealthCheckPolicy(name, id, state, options); + } + } + + public sealed class HealthCheckPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// ID of the cluster. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + /// + /// Health Check Policy Name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("rules", required: true)] + private InputList? _rules; + + /// + /// Health check policy rule list. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public HealthCheckPolicyArgs() + { + } + public static new HealthCheckPolicyArgs Empty => new HealthCheckPolicyArgs(); + } + + public sealed class HealthCheckPolicyState : global::Pulumi.ResourceArgs + { + /// + /// ID of the cluster. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Health Check Policy Name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("rules")] + private InputList? _rules; + + /// + /// Health check policy rule list. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public HealthCheckPolicyState() + { + } + public static new HealthCheckPolicyState Empty => new HealthCheckPolicyState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigArgs.cs index 527695dd7..433dc1cc3 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigArgs.cs @@ -56,7 +56,7 @@ public InputList ExtraArgs public Input? GpuArgs { get; set; } /// - /// Indicate to schedule the adding node or not. Default is true. + /// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. /// [Input("isSchedule")] public Input? IsSchedule { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigGetArgs.cs index a3854f3cd..fb87a0e79 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigGetArgs.cs @@ -56,7 +56,7 @@ public InputList ExtraArgs public Input? GpuArgs { get; set; } /// - /// Indicate to schedule the adding node or not. Default is true. + /// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. /// [Input("isSchedule")] public Input? IsSchedule { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesArgs.cs index a28cd97db..16259251a 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesArgs.cs @@ -32,7 +32,7 @@ public InputList Data public Input? DesiredPodNum { get; set; } /// - /// Docker graph path. Default is `/var/lib/docker`. + /// This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. /// [Input("dockerGraphPath")] public Input? DockerGraphPath { get; set; } @@ -41,8 +41,9 @@ public InputList Data private InputList? _extraArgs; /// - /// Custom parameter information related to the node. This is a white-list parameter. + /// This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. /// + [Obsolete(@"This argument was no longer supported by TencentCloud TKE.")] public InputList ExtraArgs { get => _extraArgs ?? (_extraArgs = new InputList()); @@ -56,25 +57,25 @@ public InputList ExtraArgs public Input? GpuArgs { get; set; } /// - /// Indicate to schedule the adding node or not. Default is true. + /// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. /// [Input("isSchedule")] public Input? IsSchedule { get; set; } /// - /// Mount target. Default is not mounting. + /// This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. /// [Input("mountTarget")] public Input? MountTarget { get; set; } /// - /// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + /// This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. /// [Input("preStartUserScript")] public Input? PreStartUserScript { get; set; } /// - /// Base64-encoded User Data text, the length limit is 16KB. + /// This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. /// [Input("userData")] public Input? UserData { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesGetArgs.cs index 43a12116a..db0e5baba 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterAttachmentWorkerConfigOverridesGetArgs.cs @@ -32,7 +32,7 @@ public InputList D public Input? DesiredPodNum { get; set; } /// - /// Docker graph path. Default is `/var/lib/docker`. + /// This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. /// [Input("dockerGraphPath")] public Input? DockerGraphPath { get; set; } @@ -41,8 +41,9 @@ public InputList D private InputList? _extraArgs; /// - /// Custom parameter information related to the node. This is a white-list parameter. + /// This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. /// + [Obsolete(@"This argument was no longer supported by TencentCloud TKE.")] public InputList ExtraArgs { get => _extraArgs ?? (_extraArgs = new InputList()); @@ -56,25 +57,25 @@ public InputList ExtraArgs public Input? GpuArgs { get; set; } /// - /// Indicate to schedule the adding node or not. Default is true. + /// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. /// [Input("isSchedule")] public Input? IsSchedule { get; set; } /// - /// Mount target. Default is not mounting. + /// This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. /// [Input("mountTarget")] public Input? MountTarget { get; set; } /// - /// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + /// This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. /// [Input("preStartUserScript")] public Input? PreStartUserScript { get; set; } /// - /// Base64-encoded User Data text, the length limit is 16KB. + /// This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. /// [Input("userData")] public Input? UserData { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleArgs.cs new file mode 100644 index 000000000..fd030ff98 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleArgs.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 HealthCheckPolicyRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable repair or not. + /// + [Input("autoRepairEnabled", required: true)] + public Input AutoRepairEnabled { get; set; } = null!; + + /// + /// Enable detection of this project or not. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// Health check rule details. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public HealthCheckPolicyRuleArgs() + { + } + public static new HealthCheckPolicyRuleArgs Empty => new HealthCheckPolicyRuleArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleGetArgs.cs new file mode 100644 index 000000000..7762d58f4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/HealthCheckPolicyRuleGetArgs.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 HealthCheckPolicyRuleGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable repair or not. + /// + [Input("autoRepairEnabled", required: true)] + public Input AutoRepairEnabled { get; set; } = null!; + + /// + /// Enable detection of this project or not. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// Health check rule details. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public HealthCheckPolicyRuleGetArgs() + { + } + public static new HealthCheckPolicyRuleGetArgs Empty => new HealthCheckPolicyRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigArgs.cs index bb207e104..9ea8319d4 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigArgs.cs @@ -97,6 +97,12 @@ public InputList DataDisks [Input("instanceName")] public Input? InstanceName { get; set; } + /// + /// Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + /// + [Input("instanceNameStyle")] + public Input? InstanceNameStyle { get; set; } + /// /// Specified types of CVM instance. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigGetArgs.cs index 027adabcc..7433dc115 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NodePoolAutoScalingConfigGetArgs.cs @@ -97,6 +97,12 @@ public InputList DataDisks [Input("instanceName")] public Input? InstanceName { get; set; } + /// + /// Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + /// + [Input("instanceNameStyle")] + public Input? InstanceNameStyle { get; set; } + /// /// Specified types of CVM instance. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskArgs.cs index 7f6291b50..222c62be6 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskArgs.cs @@ -19,6 +19,12 @@ public sealed class ScaleWorkerDataDiskArgs : global::Pulumi.ResourceArgs [Input("autoFormatAndMount")] public Input? AutoFormatAndMount { get; set; } + /// + /// The name of the device or partition to mount. + /// + [Input("diskPartition")] + public Input? DiskPartition { get; set; } + /// /// Volume of disk in GB. Default is `0`. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskGetArgs.cs index eae398228..ce78182c3 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerDataDiskGetArgs.cs @@ -19,6 +19,12 @@ public sealed class ScaleWorkerDataDiskGetArgs : global::Pulumi.ResourceArgs [Input("autoFormatAndMount")] public Input? AutoFormatAndMount { get; set; } + /// + /// The name of the device or partition to mount. + /// + [Input("diskPartition")] + public Input? DiskPartition { get; set; } + /// /// Volume of disk in GB. Default is `0`. /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigArgs.cs index a7c9c2682..d59a9ebd1 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigArgs.cs @@ -41,7 +41,7 @@ public sealed class ScaleWorkerWorkerConfigArgs : global::Pulumi.ResourceArgs private InputList? _dataDisks; /// - /// Configurations of data disk. + /// Configurations of cvm data disk. /// public InputList DataDisks { diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigGetArgs.cs index 290360893..4542d4f61 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ScaleWorkerWorkerConfigGetArgs.cs @@ -41,7 +41,7 @@ public sealed class ScaleWorkerWorkerConfigGetArgs : global::Pulumi.ResourceArgs private InputList? _dataDisks; /// - /// Configurations of data disk. + /// Configurations of cvm data disk. /// public InputList DataDisks { diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/LogConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/LogConfig.cs new file mode 100644 index 000000000..3178db814 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/LogConfig.cs @@ -0,0 +1,425 @@ +// *** 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_log_config + /// + /// ## Example Usage + /// + /// ### Create a cls log config + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var vpcOne = Tencentcloud.Vpc.GetSubnets.Invoke(new() + /// { + /// IsDefault = true, + /// AvailabilityZone = "ap-guangzhou-3", + /// }); + /// + /// var firstVpcId = vpcOne.Apply(getSubnetsResult => getSubnetsResult.InstanceLists[0]?.VpcId); + /// + /// var firstSubnetId = vpcOne.Apply(getSubnetsResult => getSubnetsResult.InstanceLists[0]?.SubnetId); + /// + /// var gz = Tencentcloud.Availability.GetZonesByProduct.Invoke(new() + /// { + /// Name = "ap-guangzhou-3", + /// Product = "ckafka", + /// }); + /// + /// var zoneId = gz.Apply(getZonesByProductResult => getZonesByProductResult.Zones[0]?.Id); + /// + /// var config = new Config(); + /// var exampleClusterCidr = config.Get("exampleClusterCidr") ?? "10.31.0.0/16"; + /// var example = new Tencentcloud.Kubernetes.Cluster("example", new() + /// { + /// VpcId = firstVpcId, + /// ClusterCidr = exampleClusterCidr, + /// ClusterMaxPodNum = 32, + /// ClusterName = "tf_example_cluster", + /// ClusterDesc = "example for tke cluster", + /// ClusterMaxServiceNum = 32, + /// ClusterInternet = false, + /// ClusterVersion = "1.22.5", + /// ClusterOs = "tlinux2.2(tkernel3)x86_64", + /// ClusterDeployType = "MANAGED_CLUSTER", + /// LogAgent = new Tencentcloud.Kubernetes.Inputs.ClusterLogAgentArgs + /// { + /// Enabled = true, + /// }, + /// }); + /// + /// // without any worker config + /// var logset = new Tencentcloud.Cls.Logset("logset", new() + /// { + /// LogsetName = "tf-test-example", + /// Tags = + /// { + /// { "createdBy", "terraform" }, + /// }, + /// }); + /// + /// var kubernetesLogConfigCls = new Tencentcloud.Kubernetes.LogConfig("kubernetesLogConfigCls", new() + /// { + /// LogConfigName = "tf-test-cls", + /// ClusterId = example.Id, + /// LogsetId = logset.Id, + /// KubernetesLogConfig = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["apiVersion"] = "cls.cloud.tencent.com/v1", + /// ["kind"] = "LogConfig", + /// ["metadata"] = new Dictionary<string, object?> + /// { + /// ["name"] = "tf-test-cls", + /// }, + /// ["spec"] = new Dictionary<string, object?> + /// { + /// ["clsDetail"] = new Dictionary<string, object?> + /// { + /// ["extractRule"] = new Dictionary<string, object?> + /// { + /// ["backtracking"] = "0", + /// ["isGBK"] = "false", + /// ["jsonStandard"] = "false", + /// ["unMatchUpload"] = "false", + /// }, + /// ["indexs"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["indexName"] = "namespace", + /// }, + /// new Dictionary<string, object?> + /// { + /// ["indexName"] = "pod_name", + /// }, + /// new Dictionary<string, object?> + /// { + /// ["indexName"] = "container_name", + /// }, + /// }, + /// ["logFormat"] = "default", + /// ["logType"] = "minimalist_log", + /// ["maxSplitPartitions"] = 0, + /// ["region"] = "ap-guangzhou", + /// ["storageType"] = "", + /// }, + /// ["inputDetail"] = new Dictionary<string, object?> + /// { + /// ["containerStdout"] = new Dictionary<string, object?> + /// { + /// ["metadataContainer"] = new[] + /// { + /// "namespace", + /// "pod_name", + /// "pod_ip", + /// "pod_uid", + /// "container_id", + /// "container_name", + /// "image_name", + /// "cluster_id", + /// }, + /// ["nsLabelSelector"] = "", + /// ["workloads"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["kind"] = "deployment", + /// ["name"] = "testlog1", + /// ["namespace"] = "default", + /// }, + /// }, + /// }, + /// ["type"] = "container_stdout", + /// }, + /// }, + /// }), + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a ckafka log config + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleInstance = new Tencentcloud.Ckafka.Instance("exampleInstance", new() + /// { + /// InstanceName = "ckafka-instance-postpaid", + /// ZoneId = local.Zone_id, + /// VpcId = local.First_vpc_id, + /// SubnetId = local.First_subnet_id, + /// MsgRetentionTime = 1300, + /// KafkaVersion = "1.1.1", + /// DiskSize = 500, + /// BandWidth = 20, + /// DiskType = "CLOUD_BASIC", + /// Partition = 400, + /// ChargeType = "POSTPAID_BY_HOUR", + /// Config = new Tencentcloud.Ckafka.Inputs.InstanceConfigArgs + /// { + /// AutoCreateTopicEnable = true, + /// DefaultNumPartitions = 3, + /// DefaultReplicationFactor = 3, + /// }, + /// DynamicRetentionConfig = new Tencentcloud.Ckafka.Inputs.InstanceDynamicRetentionConfigArgs + /// { + /// Enable = 1, + /// }, + /// }); + /// + /// var exampleTopic = new Tencentcloud.Ckafka.Topic("exampleTopic", new() + /// { + /// InstanceId = exampleInstance.Id, + /// TopicName = "tmp", + /// Note = "topic note", + /// ReplicaNum = 2, + /// PartitionNum = 1, + /// CleanUpPolicy = "delete", + /// SyncReplicaMinNum = 1, + /// UncleanLeaderElectionEnable = false, + /// Retention = 60000, + /// }); + /// + /// var ckafkaTopic = exampleTopic.TopicName; + /// + /// var kubernetesLogConfigCkafka = new Tencentcloud.Kubernetes.LogConfig("kubernetesLogConfigCkafka", new() + /// { + /// LogConfigName = "tf-test-ckafka", + /// ClusterId = tencentcloud_kubernetes_cluster.Example.Id, + /// LogsetId = tencentcloud_cls_logset.Logset.Id, + /// KubernetesLogConfig = Output.JsonSerialize(Output.Create(new Dictionary<string, object?> + /// { + /// ["apiVersion"] = "cls.cloud.tencent.com/v1", + /// ["kind"] = "LogConfig", + /// ["metadata"] = new Dictionary<string, object?> + /// { + /// ["name"] = "tf-test-ckafka", + /// }, + /// ["spec"] = new Dictionary<string, object?> + /// { + /// ["inputDetail"] = new Dictionary<string, object?> + /// { + /// ["containerStdout"] = new Dictionary<string, object?> + /// { + /// ["allContainers"] = true, + /// ["namespace"] = "default", + /// ["nsLabelSelector"] = "", + /// }, + /// ["type"] = "container_stdout", + /// }, + /// ["kafkaDetail"] = new Dictionary<string, object?> + /// { + /// ["brokers"] = "172.16.0.30:9092", + /// ["extractRule"] = new Dictionary<string, object?> + /// { + /// }, + /// ["instanceId"] = "", + /// ["kafkaType"] = "SelfBuildKafka", + /// ["logType"] = "minimalist_log", + /// ["messageKey"] = new Dictionary<string, object?> + /// { + /// ["value"] = "", + /// ["valueFrom"] = new Dictionary<string, object?> + /// { + /// ["fieldRef"] = new Dictionary<string, object?> + /// { + /// ["fieldPath"] = "", + /// }, + /// }, + /// }, + /// ["metadata"] = new Dictionary<string, object?> + /// { + /// }, + /// ["timestampFormat"] = "double", + /// ["timestampKey"] = "", + /// ["topic"] = ckafkaTopic, + /// }, + /// }, + /// })), + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Kubernetes/logConfig:LogConfig")] + public partial class LogConfig : global::Pulumi.CustomResource + { + /// + /// Cluster ID. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// The current cluster type supports tke and eks, default is tke. + /// + [Output("clusterType")] + public Output ClusterType { get; private set; } = null!; + + /// + /// JSON expression of log collection configuration. + /// + [Output("logConfig")] + public Output KubernetesLogConfig { get; private set; } = null!; + + /// + /// Log config name. + /// + [Output("logConfigName")] + public Output LogConfigName { get; private set; } = null!; + + /// + /// CLS log set ID. + /// + [Output("logsetId")] + public Output LogsetId { get; private set; } = null!; + + + /// + /// Create a LogConfig 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 LogConfig(string name, LogConfigArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/logConfig:LogConfig", name, args ?? new LogConfigArgs(), MakeResourceOptions(options, "")) + { + } + + private LogConfig(string name, Input id, LogConfigState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/logConfig:LogConfig", 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 LogConfig 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 LogConfig Get(string name, Input id, LogConfigState? state = null, CustomResourceOptions? options = null) + { + return new LogConfig(name, id, state, options); + } + } + + public sealed class LogConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Cluster ID. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + /// + /// The current cluster type supports tke and eks, default is tke. + /// + [Input("clusterType")] + public Input? ClusterType { get; set; } + + /// + /// JSON expression of log collection configuration. + /// + [Input("logConfig", required: true)] + public Input KubernetesLogConfig { get; set; } = null!; + + /// + /// Log config name. + /// + [Input("logConfigName", required: true)] + public Input LogConfigName { get; set; } = null!; + + /// + /// CLS log set ID. + /// + [Input("logsetId")] + public Input? LogsetId { get; set; } + + public LogConfigArgs() + { + } + public static new LogConfigArgs Empty => new LogConfigArgs(); + } + + public sealed class LogConfigState : global::Pulumi.ResourceArgs + { + /// + /// Cluster ID. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// The current cluster type supports tke and eks, default is tke. + /// + [Input("clusterType")] + public Input? ClusterType { get; set; } + + /// + /// JSON expression of log collection configuration. + /// + [Input("logConfig")] + public Input? KubernetesLogConfig { get; set; } + + /// + /// Log config name. + /// + [Input("logConfigName")] + public Input? LogConfigName { get; set; } + + /// + /// CLS log set ID. + /// + [Input("logsetId")] + public Input? LogsetId { get; set; } + + public LogConfigState() + { + } + public static new LogConfigState Empty => new LogConfigState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/NodePool.cs b/sdk/dotnet/Tencentcloud/Kubernetes/NodePool.cs index f01e60fd3..77aae24b6 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/NodePool.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/NodePool.cs @@ -364,7 +364,7 @@ public partial class NodePool : global::Pulumi.CustomResource /// Node pool tag specifications, will passthroughs to the scaling instances. /// [Output("tags")] - public Output?> Tags { get; private set; } = null!; + public Output> Tags { get; private set; } = null!; /// /// Taints of kubernetes node pool created nodes. diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfig.cs index 7e1d38e89..85911e29e 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfig.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfig.cs @@ -35,7 +35,7 @@ public sealed class ClusterAttachmentWorkerConfig /// public readonly Outputs.ClusterAttachmentWorkerConfigGpuArgs? GpuArgs; /// - /// Indicate to schedule the adding node or not. Default is true. + /// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. /// public readonly bool? IsSchedule; /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfigOverrides.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfigOverrides.cs index 8875d0483..4f0813e98 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfigOverrides.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterAttachmentWorkerConfigOverrides.cs @@ -23,11 +23,11 @@ public sealed class ClusterAttachmentWorkerConfigOverrides /// public readonly int? DesiredPodNum; /// - /// Docker graph path. Default is `/var/lib/docker`. + /// This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. /// public readonly string? DockerGraphPath; /// - /// Custom parameter information related to the node. This is a white-list parameter. + /// This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. /// public readonly ImmutableArray ExtraArgs; /// @@ -35,19 +35,19 @@ public sealed class ClusterAttachmentWorkerConfigOverrides /// public readonly Outputs.ClusterAttachmentWorkerConfigOverridesGpuArgs? GpuArgs; /// - /// Indicate to schedule the adding node or not. Default is true. + /// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. /// public readonly bool? IsSchedule; /// - /// Mount target. Default is not mounting. + /// This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. /// public readonly string? MountTarget; /// - /// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + /// This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. /// public readonly string? PreStartUserScript; /// - /// Base64-encoded User Data text, the length limit is 16KB. + /// This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. /// public readonly string? UserData; diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClustersListResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClustersListResult.cs index f79db8687..9df06f30a 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClustersListResult.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClustersListResult.cs @@ -14,6 +14,10 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs [OutputType] public sealed class GetClustersListResult { + /// + /// CDC ID. + /// + public readonly string CdcId; /// /// The certificate used for access. /// @@ -165,6 +169,8 @@ public sealed class GetClustersListResult [OutputConstructor] private GetClustersListResult( + string cdcId, + string certificationAuthority, int claimExpiredSeconds, @@ -239,6 +245,7 @@ private GetClustersListResult( ImmutableArray workerInstancesLists) { + CdcId = cdcId; CertificationAuthority = certificationAuthority; ClaimExpiredSeconds = claimExpiredSeconds; ClusterAsEnabled = clusterAsEnabled; diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/HealthCheckPolicyRule.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/HealthCheckPolicyRule.cs new file mode 100644 index 000000000..24df4afd9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/HealthCheckPolicyRule.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 HealthCheckPolicyRule + { + /// + /// Enable repair or not. + /// + public readonly bool AutoRepairEnabled; + /// + /// Enable detection of this project or not. + /// + public readonly bool Enabled; + /// + /// Health check rule details. + /// + public readonly string Name; + + [OutputConstructor] + private HealthCheckPolicyRule( + bool autoRepairEnabled, + + bool enabled, + + string name) + { + AutoRepairEnabled = autoRepairEnabled; + Enabled = enabled; + Name = name; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAutoScalingConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAutoScalingConfig.cs index 90070033c..3d96c901d 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAutoScalingConfig.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NodePoolAutoScalingConfig.cs @@ -63,6 +63,10 @@ public sealed class NodePoolAutoScalingConfig /// public readonly string? InstanceName; /// + /// Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + /// + public readonly string? InstanceNameStyle; + /// /// Specified types of CVM instance. /// public readonly string InstanceType; @@ -137,6 +141,8 @@ private NodePoolAutoScalingConfig( string? instanceName, + string? instanceNameStyle, + string instanceType, string? internetChargeType, @@ -173,6 +179,7 @@ private NodePoolAutoScalingConfig( InstanceChargeTypePrepaidPeriod = instanceChargeTypePrepaidPeriod; InstanceChargeTypePrepaidRenewFlag = instanceChargeTypePrepaidRenewFlag; InstanceName = instanceName; + InstanceNameStyle = instanceNameStyle; InstanceType = instanceType; InternetChargeType = internetChargeType; InternetMaxBandwidthOut = internetMaxBandwidthOut; diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerDataDisk.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerDataDisk.cs index 926fcc996..3883edbb9 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerDataDisk.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerDataDisk.cs @@ -19,6 +19,10 @@ public sealed class ScaleWorkerDataDisk /// public readonly bool? AutoFormatAndMount; /// + /// The name of the device or partition to mount. + /// + public readonly string? DiskPartition; + /// /// Volume of disk in GB. Default is `0`. /// public readonly int? DiskSize; @@ -39,6 +43,8 @@ public sealed class ScaleWorkerDataDisk private ScaleWorkerDataDisk( bool? autoFormatAndMount, + string? diskPartition, + int? diskSize, string? diskType, @@ -48,6 +54,7 @@ private ScaleWorkerDataDisk( string? mountTarget) { AutoFormatAndMount = autoFormatAndMount; + DiskPartition = diskPartition; DiskSize = diskSize; DiskType = diskType; FileSystem = fileSystem; diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerWorkerConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerWorkerConfig.cs index 588b754e1..653f9fd61 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerWorkerConfig.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ScaleWorkerWorkerConfig.cs @@ -31,7 +31,7 @@ public sealed class ScaleWorkerWorkerConfig /// public readonly int? Count; /// - /// Configurations of data disk. + /// Configurations of cvm data disk. /// public readonly ImmutableArray DataDisks; /// diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs b/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs index 0b284cdd5..6db825d1c 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs @@ -32,7 +32,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; /// var subnet = config.Get("subnet") ?? "subnet-pqfek0t8"; /// var scaleInstanceType = config.Get("scaleInstanceType") ?? "S2.LARGE16"; - /// var testScale = new Tencentcloud.Kubernetes.ScaleWorker("testScale", new() + /// var example = new Tencentcloud.Kubernetes.ScaleWorker("example", new() /// { /// ClusterId = "cls-godovr32", /// DesiredPodNum = 16, @@ -86,7 +86,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; /// var subnet = config.Get("subnet") ?? "subnet-pqfek0t8"; /// var scaleInstanceType = config.Get("scaleInstanceType") ?? "S2.LARGE16"; - /// var testScale = new Tencentcloud.Kubernetes.ScaleWorker("testScale", new() + /// var example = new Tencentcloud.Kubernetes.ScaleWorker("example", new() /// { /// ClusterId = "cls-godovr32", /// ExtraArgs = new[] @@ -133,7 +133,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// tke scale worker can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + /// $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker example cls-mij6c2pq#ins-n6esjkdi,ins-9h3rdxt8,ins-qretqeas /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/scaleWorker:ScaleWorker")] @@ -146,7 +146,7 @@ public partial class ScaleWorker : global::Pulumi.CustomResource public Output ClusterId { get; private set; } = null!; /// - /// Configurations of data disk. + /// Configurations of tke data disk. /// [Output("dataDisks")] public Output> DataDisks { get; private set; } = null!; @@ -274,7 +274,7 @@ public sealed class ScaleWorkerArgs : global::Pulumi.ResourceArgs private InputList? _dataDisks; /// - /// Configurations of data disk. + /// Configurations of tke data disk. /// public InputList DataDisks { @@ -372,7 +372,7 @@ public sealed class ScaleWorkerState : global::Pulumi.ResourceArgs private InputList? _dataDisks; /// - /// Configurations of data disk. + /// Configurations of tke data disk. /// public InputList DataDisks { diff --git a/sdk/dotnet/Tencentcloud/Lite/GetHbaseInstances.cs b/sdk/dotnet/Tencentcloud/Lite/GetHbaseInstances.cs new file mode 100644 index 000000000..fa7bf1d35 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/GetHbaseInstances.cs @@ -0,0 +1,216 @@ +// *** 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.Lite +{ + public static class GetHbaseInstances + { + /// + /// Use this data source to query detailed information of emr lite_hbase_instances + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var liteHbaseInstances = Tencentcloud.Lite.GetHbaseInstances.Invoke(new() + /// { + /// DisplayStrategy = "clusterList", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetHbaseInstancesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Lite/getHbaseInstances:getHbaseInstances", args ?? new GetHbaseInstancesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of emr lite_hbase_instances + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var liteHbaseInstances = Tencentcloud.Lite.GetHbaseInstances.Invoke(new() + /// { + /// DisplayStrategy = "clusterList", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetHbaseInstancesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Lite/getHbaseInstances:getHbaseInstances", args ?? new GetHbaseInstancesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetHbaseInstancesArgs : global::Pulumi.InvokeArgs + { + /// + /// Sort by OrderField in ascending or descending order. Value range: + /// * 0: indicates the descending order; + /// * 1: indicates the ascending order; + /// The default value is 0. + /// + [Input("asc")] + public int? Asc { get; set; } + + /// + /// Cluster filtering policy. Value range: + /// * clusterList: Query the list of clusters except the destroyed cluster; + /// * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + /// + [Input("displayStrategy", required: true)] + public string DisplayStrategy { get; set; } = null!; + + [Input("filters")] + private List? _filters; + + /// + /// Custom query. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + /// + /// Sorting field. Value range: + /// * clusterId: Sorting by instance ID; + /// * addTime: sorted by instance creation time; + /// * status: sorted by the status code of the instance. + /// + [Input("orderField")] + public string? OrderField { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetHbaseInstancesArgs() + { + } + public static new GetHbaseInstancesArgs Empty => new GetHbaseInstancesArgs(); + } + + public sealed class GetHbaseInstancesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Sort by OrderField in ascending or descending order. Value range: + /// * 0: indicates the descending order; + /// * 1: indicates the ascending order; + /// The default value is 0. + /// + [Input("asc")] + public Input? Asc { get; set; } + + /// + /// Cluster filtering policy. Value range: + /// * clusterList: Query the list of clusters except the destroyed cluster; + /// * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + /// + [Input("displayStrategy", required: true)] + public Input DisplayStrategy { get; set; } = null!; + + [Input("filters")] + private InputList? _filters; + + /// + /// Custom query. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + /// + /// Sorting field. Value range: + /// * clusterId: Sorting by instance ID; + /// * addTime: sorted by instance creation time; + /// * status: sorted by the status code of the instance. + /// + [Input("orderField")] + public Input? OrderField { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetHbaseInstancesInvokeArgs() + { + } + public static new GetHbaseInstancesInvokeArgs Empty => new GetHbaseInstancesInvokeArgs(); + } + + + [OutputType] + public sealed class GetHbaseInstancesResult + { + public readonly int? Asc; + public readonly string DisplayStrategy; + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Cluster instance list. + /// + public readonly ImmutableArray InstanceLists; + public readonly string? OrderField; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetHbaseInstancesResult( + int? asc, + + string displayStrategy, + + ImmutableArray filters, + + string id, + + ImmutableArray instanceLists, + + string? orderField, + + string? resultOutputFile) + { + Asc = asc; + DisplayStrategy = displayStrategy; + Filters = filters; + Id = id; + InstanceLists = instanceLists; + OrderField = orderField; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/HbaseInstance.cs b/sdk/dotnet/Tencentcloud/Lite/HbaseInstance.cs new file mode 100644 index 000000000..7175a0426 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/HbaseInstance.cs @@ -0,0 +1,282 @@ +// *** 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.Lite +{ + /// + /// Provides a resource to create a emr lite_hbase_instance + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var liteHbaseInstance = new Tencentcloud.Lite.HbaseInstance("liteHbaseInstance", new() + /// { + /// DiskSize = 100, + /// DiskType = "CLOUD_HSSD", + /// InstanceName = "tf-test", + /// NodeType = "8C32G", + /// PayMode = 0, + /// Tags = new[] + /// { + /// new Tencentcloud.Lite.Inputs.HbaseInstanceTagArgs + /// { + /// TagKey = "test", + /// TagValue = "test", + /// }, + /// }, + /// ZoneSettings = new[] + /// { + /// new Tencentcloud.Lite.Inputs.HbaseInstanceZoneSettingArgs + /// { + /// NodeNum = 3, + /// VpcSettings = new Tencentcloud.Lite.Inputs.HbaseInstanceZoneSettingVpcSettingsArgs + /// { + /// SubnetId = "subnet-xxxxxx", + /// VpcId = "vpc-xxxxxx", + /// }, + /// Zone = "ap-shanghai-2", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// emr lite_hbase_instance can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Lite/hbaseInstance:HbaseInstance lite_hbase_instance lite_hbase_instance_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Lite/hbaseInstance:HbaseInstance")] + public partial class HbaseInstance : global::Pulumi.CustomResource + { + /// + /// Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + /// + [Output("diskSize")] + public Output DiskSize { get; private set; } = null!; + + /// + /// Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + /// + [Output("diskType")] + public Output DiskType { get; private set; } = null!; + + /// + /// Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + /// + [Output("instanceName")] + public Output InstanceName { get; private set; } = null!; + + /// + /// Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + /// + [Output("nodeType")] + public Output NodeType { get; private set; } = null!; + + /// + /// Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + /// + [Output("payMode")] + public Output PayMode { get; private set; } = null!; + + /// + /// List of tags to bind to the instance. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + /// + [Output("zoneSettings")] + public Output> ZoneSettings { get; private set; } = null!; + + + /// + /// Create a HbaseInstance 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 HbaseInstance(string name, HbaseInstanceArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Lite/hbaseInstance:HbaseInstance", name, args ?? new HbaseInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private HbaseInstance(string name, Input id, HbaseInstanceState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Lite/hbaseInstance:HbaseInstance", 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 HbaseInstance 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 HbaseInstance Get(string name, Input id, HbaseInstanceState? state = null, CustomResourceOptions? options = null) + { + return new HbaseInstance(name, id, state, options); + } + } + + public sealed class HbaseInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + /// + [Input("diskType", required: true)] + public Input DiskType { get; set; } = null!; + + /// + /// Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + /// + [Input("instanceName", required: true)] + public Input InstanceName { get; set; } = null!; + + /// + /// Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + /// + [Input("nodeType", required: true)] + public Input NodeType { get; set; } = null!; + + /// + /// Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + /// + [Input("payMode", required: true)] + public Input PayMode { get; set; } = null!; + + [Input("tags")] + private InputList? _tags; + + /// + /// List of tags to bind to the instance. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + [Input("zoneSettings", required: true)] + private InputList? _zoneSettings; + + /// + /// Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + /// + public InputList ZoneSettings + { + get => _zoneSettings ?? (_zoneSettings = new InputList()); + set => _zoneSettings = value; + } + + public HbaseInstanceArgs() + { + } + public static new HbaseInstanceArgs Empty => new HbaseInstanceArgs(); + } + + public sealed class HbaseInstanceState : global::Pulumi.ResourceArgs + { + /// + /// Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + /// + /// Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + /// + [Input("nodeType")] + public Input? NodeType { get; set; } + + /// + /// Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + /// + [Input("payMode")] + public Input? PayMode { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// List of tags to bind to the instance. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + [Input("zoneSettings")] + private InputList? _zoneSettings; + + /// + /// Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + /// + public InputList ZoneSettings + { + get => _zoneSettings ?? (_zoneSettings = new InputList()); + set => _zoneSettings = value; + } + + public HbaseInstanceState() + { + } + public static new HbaseInstanceState Empty => new HbaseInstanceState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilter.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilter.cs new file mode 100644 index 000000000..2c60f8449 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilter.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.Lite.Inputs +{ + + public sealed class GetHbaseInstancesFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Field name. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// Filter field value. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetHbaseInstancesFilterArgs() + { + } + public static new GetHbaseInstancesFilterArgs Empty => new GetHbaseInstancesFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilterArgs.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilterArgs.cs new file mode 100644 index 000000000..10df38045 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/GetHbaseInstancesFilterArgs.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.Lite.Inputs +{ + + public sealed class GetHbaseInstancesFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Field name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Filter field value. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetHbaseInstancesFilterInputArgs() + { + } + public static new GetHbaseInstancesFilterInputArgs Empty => new GetHbaseInstancesFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagArgs.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagArgs.cs new file mode 100644 index 000000000..cae94eec5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagArgs.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.Lite.Inputs +{ + + public sealed class HbaseInstanceTagArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("tagKey")] + public Input? TagKey { get; set; } + + /// + /// Tag value. + /// + [Input("tagValue")] + public Input? TagValue { get; set; } + + public HbaseInstanceTagArgs() + { + } + public static new HbaseInstanceTagArgs Empty => new HbaseInstanceTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagGetArgs.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagGetArgs.cs new file mode 100644 index 000000000..2d7dc9acd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceTagGetArgs.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.Lite.Inputs +{ + + public sealed class HbaseInstanceTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("tagKey")] + public Input? TagKey { get; set; } + + /// + /// Tag value. + /// + [Input("tagValue")] + public Input? TagValue { get; set; } + + public HbaseInstanceTagGetArgs() + { + } + public static new HbaseInstanceTagGetArgs Empty => new HbaseInstanceTagGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingArgs.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingArgs.cs new file mode 100644 index 000000000..1ce2b5d47 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingArgs.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.Lite.Inputs +{ + + public sealed class HbaseInstanceZoneSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of nodes. + /// + [Input("nodeNum", required: true)] + public Input NodeNum { get; set; } = null!; + + /// + /// Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + /// + [Input("vpcSettings", required: true)] + public Input VpcSettings { get; set; } = null!; + + /// + /// The availability zone to which the instance belongs, such as ap-guangzhou-1. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public HbaseInstanceZoneSettingArgs() + { + } + public static new HbaseInstanceZoneSettingArgs Empty => new HbaseInstanceZoneSettingArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingGetArgs.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingGetArgs.cs new file mode 100644 index 000000000..e8173143f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingGetArgs.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.Lite.Inputs +{ + + public sealed class HbaseInstanceZoneSettingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of nodes. + /// + [Input("nodeNum", required: true)] + public Input NodeNum { get; set; } = null!; + + /// + /// Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + /// + [Input("vpcSettings", required: true)] + public Input VpcSettings { get; set; } = null!; + + /// + /// The availability zone to which the instance belongs, such as ap-guangzhou-1. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public HbaseInstanceZoneSettingGetArgs() + { + } + public static new HbaseInstanceZoneSettingGetArgs Empty => new HbaseInstanceZoneSettingGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsArgs.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsArgs.cs new file mode 100644 index 000000000..e93534fe7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsArgs.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.Lite.Inputs +{ + + public sealed class HbaseInstanceZoneSettingVpcSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Subnet ID. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + /// + /// VPC ID. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public HbaseInstanceZoneSettingVpcSettingsArgs() + { + } + public static new HbaseInstanceZoneSettingVpcSettingsArgs Empty => new HbaseInstanceZoneSettingVpcSettingsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsGetArgs.cs b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsGetArgs.cs new file mode 100644 index 000000000..b02f8a764 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Inputs/HbaseInstanceZoneSettingVpcSettingsGetArgs.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.Lite.Inputs +{ + + public sealed class HbaseInstanceZoneSettingVpcSettingsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Subnet ID. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + /// + /// VPC ID. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public HbaseInstanceZoneSettingVpcSettingsGetArgs() + { + } + public static new HbaseInstanceZoneSettingVpcSettingsGetArgs Empty => new HbaseInstanceZoneSettingVpcSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesFilterResult.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesFilterResult.cs new file mode 100644 index 000000000..3ef2dd8fb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesFilterResult.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.Lite.Outputs +{ + + [OutputType] + public sealed class GetHbaseInstancesFilterResult + { + /// + /// Field name. + /// + public readonly string Name; + /// + /// Filter field value. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetHbaseInstancesFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListResult.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListResult.cs new file mode 100644 index 000000000..44442e5a9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListResult.cs @@ -0,0 +1,127 @@ +// *** 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.Lite.Outputs +{ + + [OutputType] + public sealed class GetHbaseInstancesInstanceListResult + { + /// + /// Creation time. + /// + public readonly string AddTime; + /// + /// User APP ID. + /// + public readonly int AppId; + /// + /// Cluster Instance String ID. + /// + public readonly string ClusterId; + /// + /// Cluster Instance name. + /// + public readonly string ClusterName; + /// + /// Cluster Instance Digital ID. + /// + public readonly int Id; + /// + /// Cluster charging type. 0 means charging by volume, 1 means annual and monthly. + /// + public readonly int PayMode; + /// + /// Region ID. + /// + public readonly int RegionId; + /// + /// Status code, please refer to the StatusDesc. + /// + public readonly int Status; + /// + /// State description. + /// + public readonly string StatusDesc; + /// + /// Subnet ID. + /// + public readonly int SubnetId; + /// + /// List of tags. + /// + public readonly ImmutableArray Tags; + /// + /// VPC ID. + /// + public readonly int VpcId; + /// + /// Primary Availability Zone Name. + /// + public readonly string Zone; + /// + /// Primary Availability Zone ID. + /// + public readonly int ZoneId; + /// + /// Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50. + /// + public readonly ImmutableArray ZoneSettings; + + [OutputConstructor] + private GetHbaseInstancesInstanceListResult( + string addTime, + + int appId, + + string clusterId, + + string clusterName, + + int id, + + int payMode, + + int regionId, + + int status, + + string statusDesc, + + int subnetId, + + ImmutableArray tags, + + int vpcId, + + string zone, + + int zoneId, + + ImmutableArray zoneSettings) + { + AddTime = addTime; + AppId = appId; + ClusterId = clusterId; + ClusterName = clusterName; + Id = id; + PayMode = payMode; + RegionId = regionId; + Status = status; + StatusDesc = statusDesc; + SubnetId = subnetId; + Tags = tags; + VpcId = vpcId; + Zone = zone; + ZoneId = zoneId; + ZoneSettings = zoneSettings; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListTagResult.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListTagResult.cs new file mode 100644 index 000000000..e25f5a182 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListTagResult.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.Lite.Outputs +{ + + [OutputType] + public sealed class GetHbaseInstancesInstanceListTagResult + { + /// + /// Tag key. + /// + public readonly string? TagKey; + /// + /// Tag value. + /// + public readonly string? TagValue; + + [OutputConstructor] + private GetHbaseInstancesInstanceListTagResult( + string? tagKey, + + string? tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingResult.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingResult.cs new file mode 100644 index 000000000..7925ba6c3 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingResult.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.Lite.Outputs +{ + + [OutputType] + public sealed class GetHbaseInstancesInstanceListZoneSettingResult + { + /// + /// Number of nodes. + /// + public readonly int NodeNum; + /// + /// Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + /// + public readonly ImmutableArray VpcSettings; + /// + /// Primary Availability Zone Name. + /// + public readonly string Zone; + + [OutputConstructor] + private GetHbaseInstancesInstanceListZoneSettingResult( + int nodeNum, + + ImmutableArray vpcSettings, + + string zone) + { + NodeNum = nodeNum; + VpcSettings = vpcSettings; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingVpcSettingResult.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingVpcSettingResult.cs new file mode 100644 index 000000000..d5aed3869 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/GetHbaseInstancesInstanceListZoneSettingVpcSettingResult.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.Lite.Outputs +{ + + [OutputType] + public sealed class GetHbaseInstancesInstanceListZoneSettingVpcSettingResult + { + /// + /// Subnet ID. + /// + public readonly string SubnetId; + /// + /// VPC ID. + /// + public readonly string VpcId; + + [OutputConstructor] + private GetHbaseInstancesInstanceListZoneSettingVpcSettingResult( + string subnetId, + + string vpcId) + { + SubnetId = subnetId; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceTag.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceTag.cs new file mode 100644 index 000000000..dc1767295 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceTag.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.Lite.Outputs +{ + + [OutputType] + public sealed class HbaseInstanceTag + { + /// + /// Tag key. + /// + public readonly string? TagKey; + /// + /// Tag value. + /// + public readonly string? TagValue; + + [OutputConstructor] + private HbaseInstanceTag( + string? tagKey, + + string? tagValue) + { + TagKey = tagKey; + TagValue = tagValue; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSetting.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSetting.cs new file mode 100644 index 000000000..093ca0b11 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSetting.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.Lite.Outputs +{ + + [OutputType] + public sealed class HbaseInstanceZoneSetting + { + /// + /// Number of nodes. + /// + public readonly int NodeNum; + /// + /// Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + /// + public readonly Outputs.HbaseInstanceZoneSettingVpcSettings VpcSettings; + /// + /// The availability zone to which the instance belongs, such as ap-guangzhou-1. + /// + public readonly string Zone; + + [OutputConstructor] + private HbaseInstanceZoneSetting( + int nodeNum, + + Outputs.HbaseInstanceZoneSettingVpcSettings vpcSettings, + + string zone) + { + NodeNum = nodeNum; + VpcSettings = vpcSettings; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSettingVpcSettings.cs b/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSettingVpcSettings.cs new file mode 100644 index 000000000..019199d9d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/Outputs/HbaseInstanceZoneSettingVpcSettings.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.Lite.Outputs +{ + + [OutputType] + public sealed class HbaseInstanceZoneSettingVpcSettings + { + /// + /// Subnet ID. + /// + public readonly string SubnetId; + /// + /// VPC ID. + /// + public readonly string VpcId; + + [OutputConstructor] + private HbaseInstanceZoneSettingVpcSettings( + string subnetId, + + string vpcId) + { + SubnetId = subnetId; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Lite/README.md b/sdk/dotnet/Tencentcloud/Lite/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Lite/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Mongodb/Instance.cs b/sdk/dotnet/Tencentcloud/Mongodb/Instance.cs index 50537f684..18f3e89cb 100644 --- a/sdk/dotnet/Tencentcloud/Mongodb/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Mongodb/Instance.cs @@ -117,6 +117,20 @@ public partial class Instance : global::Pulumi.CustomResource [Output("machineType")] public Output MachineType { get; private set; } = null!; + /// + /// Maintenance window end time. + /// - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + /// - The end time must be based on the start time backwards. + /// + [Output("maintenanceEnd")] + public Output MaintenanceEnd { get; private set; } = null!; + + /// + /// Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + /// + [Output("maintenanceStart")] + public Output MaintenanceStart { get; private set; } = null!; + /// /// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. /// @@ -328,6 +342,20 @@ public InputList AvailabilityZoneLists [Input("machineType", required: true)] public Input MachineType { get; set; } = null!; + /// + /// Maintenance window end time. + /// - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + /// - The end time must be based on the start time backwards. + /// + [Input("maintenanceEnd")] + public Input? MaintenanceEnd { get; set; } + + /// + /// Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + /// + [Input("maintenanceStart")] + public Input? MaintenanceStart { get; set; } + /// /// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. /// @@ -506,6 +534,20 @@ public InputList AvailabilityZoneLists [Input("machineType")] public Input? MachineType { get; set; } + /// + /// Maintenance window end time. + /// - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + /// - The end time must be based on the start time backwards. + /// + [Input("maintenanceEnd")] + public Input? MaintenanceEnd { get; set; } + + /// + /// Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + /// + [Input("maintenanceStart")] + public Input? MaintenanceStart { get; set; } + /// /// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. /// diff --git a/sdk/dotnet/Tencentcloud/Monitor/GetTmpInstances.cs b/sdk/dotnet/Tencentcloud/Monitor/GetTmpInstances.cs new file mode 100644 index 000000000..8770eb644 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/GetTmpInstances.cs @@ -0,0 +1,344 @@ +// *** 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.Monitor +{ + public static class GetTmpInstances + { + /// + /// Use this data source to query detailed information of monitor tmp instances + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var tmpInstances = Tencentcloud.Monitor.GetTmpInstances.Invoke(new() + /// { + /// InstanceIds = new[] + /// { + /// "prom-xxxxxx", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetTmpInstancesArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Monitor/getTmpInstances:getTmpInstances", args ?? new GetTmpInstancesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of monitor tmp instances + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var tmpInstances = Tencentcloud.Monitor.GetTmpInstances.Invoke(new() + /// { + /// InstanceIds = new[] + /// { + /// "prom-xxxxxx", + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetTmpInstancesInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Monitor/getTmpInstances:getTmpInstances", args ?? new GetTmpInstancesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTmpInstancesArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter according to instance charge type. + /// - 2: Prepaid; + /// - 3: Postpaid by hour. + /// + [Input("instanceChargeType")] + public int? InstanceChargeType { get; set; } + + [Input("instanceIds")] + private List? _instanceIds; + + /// + /// Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + /// + public List InstanceIds + { + get => _instanceIds ?? (_instanceIds = new List()); + set => _instanceIds = value; + } + + /// + /// Filter according to instance name. + /// + [Input("instanceName")] + public string? InstanceName { get; set; } + + [Input("instanceStatuses")] + private List? _instanceStatuses; + + /// + /// Filter according to instance status. + /// - 1: Creating; + /// - 2: In operation; + /// - 3: Abnormal; + /// - 4: Reconstruction; + /// - 5: Destruction; + /// - 6: Stopped taking; + /// - 8: Suspension of service due to arrears; + /// - 9: Service has been suspended due to arrears. + /// + public List InstanceStatuses + { + get => _instanceStatuses ?? (_instanceStatuses = new List()); + set => _instanceStatuses = value; + } + + [Input("ipv4Addresses")] + private List? _ipv4Addresses; + + /// + /// Filter according to ipv4 address. + /// + public List Ipv4Addresses + { + get => _ipv4Addresses ?? (_ipv4Addresses = new List()); + set => _ipv4Addresses = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + [Input("tagFilters")] + private List? _tagFilters; + + /// + /// Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + /// + public List TagFilters + { + get => _tagFilters ?? (_tagFilters = new List()); + set => _tagFilters = value; + } + + [Input("zones")] + private List? _zones; + + /// + /// Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + /// + public List Zones + { + get => _zones ?? (_zones = new List()); + set => _zones = value; + } + + public GetTmpInstancesArgs() + { + } + public static new GetTmpInstancesArgs Empty => new GetTmpInstancesArgs(); + } + + public sealed class GetTmpInstancesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter according to instance charge type. + /// - 2: Prepaid; + /// - 3: Postpaid by hour. + /// + [Input("instanceChargeType")] + public Input? InstanceChargeType { get; set; } + + [Input("instanceIds")] + private InputList? _instanceIds; + + /// + /// Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + /// + public InputList InstanceIds + { + get => _instanceIds ?? (_instanceIds = new InputList()); + set => _instanceIds = value; + } + + /// + /// Filter according to instance name. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + [Input("instanceStatuses")] + private InputList? _instanceStatuses; + + /// + /// Filter according to instance status. + /// - 1: Creating; + /// - 2: In operation; + /// - 3: Abnormal; + /// - 4: Reconstruction; + /// - 5: Destruction; + /// - 6: Stopped taking; + /// - 8: Suspension of service due to arrears; + /// - 9: Service has been suspended due to arrears. + /// + public InputList InstanceStatuses + { + get => _instanceStatuses ?? (_instanceStatuses = new InputList()); + set => _instanceStatuses = value; + } + + [Input("ipv4Addresses")] + private InputList? _ipv4Addresses; + + /// + /// Filter according to ipv4 address. + /// + public InputList Ipv4Addresses + { + get => _ipv4Addresses ?? (_ipv4Addresses = new InputList()); + set => _ipv4Addresses = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + [Input("tagFilters")] + private InputList? _tagFilters; + + /// + /// Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + /// + public InputList TagFilters + { + get => _tagFilters ?? (_tagFilters = new InputList()); + set => _tagFilters = value; + } + + [Input("zones")] + private InputList? _zones; + + /// + /// Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + /// + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + + public GetTmpInstancesInvokeArgs() + { + } + public static new GetTmpInstancesInvokeArgs Empty => new GetTmpInstancesInvokeArgs(); + } + + + [OutputType] + public sealed class GetTmpInstancesResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Instance charge type. + /// - 2: Prepaid; + /// - 3: Postpaid by hour. + /// + public readonly int? InstanceChargeType; + public readonly ImmutableArray InstanceIds; + /// + /// Instance name. + /// + public readonly string? InstanceName; + /// + /// Instance details list. + /// + public readonly ImmutableArray InstanceSets; + /// + /// Filter according to instance status. + /// - 1: Creating; + /// - 2: In operation; + /// - 3: Abnormal; + /// - 4: Reconstruction; + /// - 5: Destruction; + /// - 6: Stopped taking; + /// - 8: Suspension of service due to arrears; + /// - 9: Service has been suspended due to arrears. + /// + public readonly ImmutableArray InstanceStatuses; + /// + /// IPV4 address. + /// + public readonly ImmutableArray Ipv4Addresses; + public readonly string? ResultOutputFile; + public readonly ImmutableArray TagFilters; + public readonly ImmutableArray Zones; + + [OutputConstructor] + private GetTmpInstancesResult( + string id, + + int? instanceChargeType, + + ImmutableArray instanceIds, + + string? instanceName, + + ImmutableArray instanceSets, + + ImmutableArray instanceStatuses, + + ImmutableArray ipv4Addresses, + + string? resultOutputFile, + + ImmutableArray tagFilters, + + ImmutableArray zones) + { + Id = id; + InstanceChargeType = instanceChargeType; + InstanceIds = instanceIds; + InstanceName = instanceName; + InstanceSets = instanceSets; + InstanceStatuses = instanceStatuses; + Ipv4Addresses = ipv4Addresses; + ResultOutputFile = resultOutputFile; + TagFilters = tagFilters; + Zones = zones; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilter.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilter.cs new file mode 100644 index 000000000..5c8b6ddce --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilter.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.Monitor.Inputs +{ + + public sealed class GetTmpInstancesTagFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// The key of the tag. + /// + [Input("key", required: true)] + public string Key { get; set; } = null!; + + /// + /// The value of the tag. + /// + [Input("value", required: true)] + public string Value { get; set; } = null!; + + public GetTmpInstancesTagFilterArgs() + { + } + public static new GetTmpInstancesTagFilterArgs Empty => new GetTmpInstancesTagFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilterArgs.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilterArgs.cs new file mode 100644 index 000000000..163a6542b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/GetTmpInstancesTagFilterArgs.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.Monitor.Inputs +{ + + public sealed class GetTmpInstancesTagFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The key of the tag. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The value of the tag. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public GetTmpInstancesTagFilterInputArgs() + { + } + public static new GetTmpInstancesTagFilterInputArgs Empty => new GetTmpInstancesTagFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetGrantResult.cs b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetGrantResult.cs new file mode 100644 index 000000000..1ec6ae2a4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetGrantResult.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.Monitor.Outputs +{ + + [OutputType] + public sealed class GetTmpInstancesInstanceSetGrantResult + { + /// + /// Whether you have permission to manage the agent (1=yes, 2=no). + /// + public readonly int HasAgentManage; + /// + /// Whether to display API and other information (1=yes, 2=no). + /// + public readonly int HasApiOperation; + /// + /// Whether you have charging operation authority (1=yes, 2=no). + /// + public readonly int HasChargeOperation; + /// + /// Whether the status of Grafana can be modified (1=yes, 2=no). + /// + public readonly int HasGrafanaStatusChange; + /// + /// Whether you have permission to manage TKE integration (1=yes, 2=no). + /// + public readonly int HasTkeManage; + /// + /// Whether to display VPC information (1=yes, 2=no). + /// + public readonly int HasVpcDisplay; + + [OutputConstructor] + private GetTmpInstancesInstanceSetGrantResult( + int hasAgentManage, + + int hasApiOperation, + + int hasChargeOperation, + + int hasGrafanaStatusChange, + + int hasTkeManage, + + int hasVpcDisplay) + { + HasAgentManage = hasAgentManage; + HasApiOperation = hasApiOperation; + HasChargeOperation = hasChargeOperation; + HasGrafanaStatusChange = hasGrafanaStatusChange; + HasTkeManage = hasTkeManage; + HasVpcDisplay = hasVpcDisplay; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetResult.cs b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetResult.cs new file mode 100644 index 000000000..fe489c6d5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetResult.cs @@ -0,0 +1,265 @@ +// *** 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.Monitor.Outputs +{ + + [OutputType] + public sealed class GetTmpInstancesInstanceSetResult + { + /// + /// Alert rule limit. + /// + public readonly int AlertRuleLimit; + /// + /// Prometheus http api root address. + /// + public readonly string ApiRootPath; + /// + /// Token required for data writing. + /// + public readonly string AuthToken; + /// + /// Automatic renewal flag. + /// - 0: No automatic renewal; + /// - 1: Enable automatic renewal; + /// - 2: Automatic renewal is prohibited; + /// - -1: Invalid. + /// + public readonly int AutoRenewFlag; + /// + /// Charge status. + /// - 1: Normal; + /// - 2: Expires; + /// - 3: Destruction; + /// - 4: Allocation; + /// - 5: Allocation failed. + /// + public readonly int ChargeStatus; + /// + /// Created_at. + /// + public readonly string CreatedAt; + /// + /// Data retention time. + /// + public readonly int DataRetentionTime; + /// + /// Whether to enable grafana. + /// - 0: closed; + /// - 1: open. + /// + public readonly int EnableGrafana; + /// + /// Expires for purchased instances. + /// + public readonly string ExpireTime; + /// + /// Binding grafana instance id. + /// + public readonly string GrafanaInstanceId; + /// + /// Grafana IP whitelist list. + /// + public readonly string GrafanaIpWhiteList; + /// + /// Grafana status. + /// - 1: Creating; + /// - 2: In operation; + /// - 3: Abnormal; + /// - 4: Rebooting; + /// - 5: Destruction; + /// - 6: Shutdown; + /// - 7: Deleted. + /// + public readonly int GrafanaStatus; + /// + /// Grafana panel url. + /// + public readonly string GrafanaUrl; + /// + /// Authorization information for the instance. + /// + public readonly ImmutableArray Grants; + /// + /// Filter according to instance charge type. + /// - 2: Prepaid; + /// - 3: Postpaid by hour. + /// + public readonly int InstanceChargeType; + /// + /// Instance id. + /// + public readonly string InstanceId; + /// + /// Filter according to instance name. + /// + public readonly string InstanceName; + /// + /// Filter according to instance status. + /// - 1: Creating; + /// - 2: In operation; + /// - 3: Abnormal; + /// - 4: Reconstruction; + /// - 5: Destruction; + /// - 6: Stopped taking; + /// - 8: Suspension of service due to arrears; + /// - 9: Service has been suspended due to arrears. + /// + public readonly int InstanceStatus; + /// + /// Filter according to ipv4 address. + /// + public readonly string Ipv4Address; + /// + /// Whether it is about to expire. + /// - 0: No; + /// - 1: Expiring soon. + /// + public readonly int IsNearExpire; + /// + /// Migration status. + /// - 0: Not in migration; + /// + - 1: Migrating, original instance; + /// + - 2: Migrating, target instance. + /// + public readonly int MigrationType; + /// + /// Proxy address. + /// + public readonly string ProxyAddress; + /// + /// Pre-aggregation rule limitations. + /// + public readonly int RecordingRuleLimit; + /// + /// Region id. + /// + public readonly int RegionId; + /// + /// Address of prometheus remote write. + /// + public readonly string RemoteWrite; + /// + /// Specification name. + /// + public readonly string SpecName; + /// + /// Subnet id. + /// + public readonly string SubnetId; + /// + /// List of tags associated with the instance. + /// + public readonly ImmutableArray TagSpecifications; + /// + /// VPC id. + /// + public readonly string VpcId; + /// + /// Zone. + /// + public readonly string Zone; + + [OutputConstructor] + private GetTmpInstancesInstanceSetResult( + int alertRuleLimit, + + string apiRootPath, + + string authToken, + + int autoRenewFlag, + + int chargeStatus, + + string createdAt, + + int dataRetentionTime, + + int enableGrafana, + + string expireTime, + + string grafanaInstanceId, + + string grafanaIpWhiteList, + + int grafanaStatus, + + string grafanaUrl, + + ImmutableArray grants, + + int instanceChargeType, + + string instanceId, + + string instanceName, + + int instanceStatus, + + string ipv4Address, + + int isNearExpire, + + int migrationType, + + string proxyAddress, + + int recordingRuleLimit, + + int regionId, + + string remoteWrite, + + string specName, + + string subnetId, + + ImmutableArray tagSpecifications, + + string vpcId, + + string zone) + { + AlertRuleLimit = alertRuleLimit; + ApiRootPath = apiRootPath; + AuthToken = authToken; + AutoRenewFlag = autoRenewFlag; + ChargeStatus = chargeStatus; + CreatedAt = createdAt; + DataRetentionTime = dataRetentionTime; + EnableGrafana = enableGrafana; + ExpireTime = expireTime; + GrafanaInstanceId = grafanaInstanceId; + GrafanaIpWhiteList = grafanaIpWhiteList; + GrafanaStatus = grafanaStatus; + GrafanaUrl = grafanaUrl; + Grants = grants; + InstanceChargeType = instanceChargeType; + InstanceId = instanceId; + InstanceName = instanceName; + InstanceStatus = instanceStatus; + Ipv4Address = ipv4Address; + IsNearExpire = isNearExpire; + MigrationType = migrationType; + ProxyAddress = proxyAddress; + RecordingRuleLimit = recordingRuleLimit; + RegionId = regionId; + RemoteWrite = remoteWrite; + SpecName = specName; + SubnetId = subnetId; + TagSpecifications = tagSpecifications; + VpcId = vpcId; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetTagSpecificationResult.cs b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetTagSpecificationResult.cs new file mode 100644 index 000000000..5f7c5872d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesInstanceSetTagSpecificationResult.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.Monitor.Outputs +{ + + [OutputType] + public sealed class GetTmpInstancesInstanceSetTagSpecificationResult + { + /// + /// The key of the tag. + /// + public readonly string Key; + /// + /// The value of the tag. + /// + public readonly string Value; + + [OutputConstructor] + private GetTmpInstancesInstanceSetTagSpecificationResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesTagFilterResult.cs b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesTagFilterResult.cs new file mode 100644 index 000000000..6b48a6b4c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Outputs/GetTmpInstancesTagFilterResult.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.Monitor.Outputs +{ + + [OutputType] + public sealed class GetTmpInstancesTagFilterResult + { + /// + /// The key of the tag. + /// + public readonly string Key; + /// + /// The value of the tag. + /// + public readonly string Value; + + [OutputConstructor] + private GetTmpInstancesTagFilterResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs b/sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs index d3800cb65..ce3c09f1e 100644 --- a/sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs +++ b/sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs @@ -24,36 +24,59 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor /// /// return await Deployment.RunAsync(() => /// { - /// var tmpAlertGroup = new Tencentcloud.Monitor.TmpAlertGroup("tmpAlertGroup", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { - /// AmpReceivers = new[] + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = availabilityZone, + /// CidrBlock = "10.0.1.0/24", + /// }); + /// + /// var exampleTmpInstance = new Tencentcloud.Monitor.TmpInstance("exampleTmpInstance", new() + /// { + /// InstanceName = "tf-tmp-instance", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DataRetentionTime = 30, + /// Zone = availabilityZone, + /// Tags = /// { - /// "notice-om017kc2", + /// { "createdBy", "terraform" }, /// }, + /// }); + /// + /// var exampleTmpAlertGroup = new Tencentcloud.Monitor.TmpAlertGroup("exampleTmpAlertGroup", new() + /// { + /// GroupName = "tf-example", + /// InstanceId = exampleTmpInstance.Id, + /// RepeatInterval = "5m", /// CustomReceiver = new Tencentcloud.Monitor.Inputs.TmpAlertGroupCustomReceiverArgs /// { /// Type = "amp", /// }, - /// GroupName = "tf-test", - /// InstanceId = "prom-ip429jis", - /// RepeatInterval = "5m", /// Rules = new[] /// { /// new Tencentcloud.Monitor.Inputs.TmpAlertGroupRuleArgs /// { + /// Duration = "1m", + /// Expr = "up{job=\"prometheus-agent\"} != 1", + /// RuleName = "Agent health check", + /// State = 2, /// Annotations = /// { - /// { "description", "Agent {{$labels.instance}} is deactivated, please pay attention!" }, /// { "summary", "Agent health check" }, + /// { "description", "Agent {{$labels.instance}} is deactivated, please pay attention!" }, /// }, - /// Duration = "1m", - /// Expr = "up{job=\"prometheus-agent\"} != 1", /// Labels = /// { /// { "severity", "critical" }, /// }, - /// RuleName = "Agent health check", - /// State = 2, /// }, /// }, /// }); @@ -67,7 +90,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor /// monitor tmp_alert_group can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + /// $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup example prom-34qkzwvs#alert-rfkkr6cw /// ``` /// [TencentcloudResourceType("tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup")] diff --git a/sdk/dotnet/Tencentcloud/Mysql/ClsLogAttachment.cs b/sdk/dotnet/Tencentcloud/Mysql/ClsLogAttachment.cs new file mode 100644 index 000000000..924885d82 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mysql/ClsLogAttachment.cs @@ -0,0 +1,393 @@ +// *** 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.Mysql +{ + /// + /// Provides a resource to create a mysql log to cls + /// + /// > **NOTE:** The CLS resource bound to resource `tencentcloud.Mysql.ClsLogAttachment` needs to be manually deleted. + /// + /// ## Example Usage + /// + /// ### Create Error Log to ClS + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = "ap-guangzhou-6", + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.0.0/16", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var securityGroup = new Tencentcloud.Security.Group("securityGroup", new() + /// { + /// Description = "mysql test", + /// }); + /// + /// // create mysql instance + /// var exampleInstance = new Tencentcloud.Mysql.Instance("exampleInstance", new() + /// { + /// InternetService = 1, + /// EngineVersion = "5.7", + /// ChargeType = "POSTPAID", + /// RootPassword = "PassWord123", + /// SlaveDeployMode = 0, + /// AvailabilityZone = "ap-guangzhou-6", + /// SlaveSyncMode = 1, + /// InstanceName = "tf-example-mysql", + /// MemSize = 4000, + /// VolumeSize = 200, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// IntranetPort = 3306, + /// SecurityGroups = new[] + /// { + /// securityGroup.Id, + /// }, + /// Tags = + /// { + /// { "name", "test" }, + /// }, + /// Parameters = + /// { + /// { "character_set_server", "utf8" }, + /// { "max_connections", "1000" }, + /// }, + /// }); + /// + /// // attachment cls log + /// var exampleClsLogAttachment = new Tencentcloud.Mysql.ClsLogAttachment("exampleClsLogAttachment", new() + /// { + /// InstanceId = exampleInstance.Id, + /// LogType = "error", + /// CreateLogSet = true, + /// CreateLogTopic = true, + /// LogSet = "tf_log_set", + /// LogTopic = "tf_log_topic", + /// Period = 30, + /// CreateIndex = true, + /// ClsRegion = "ap-guangzhou", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create Slow Log to ClS + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Mysql.ClsLogAttachment("example", new() + /// { + /// InstanceId = tencentcloud_mysql_instance.Example.Id, + /// LogType = "slowlog", + /// LogSet = "50d499a8-c4c0-4442-aa04-e8aa8a02437d", + /// LogTopic = "140d4d39-4307-45a8-9655-290f679b063d", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// mysql log to cls can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment example cdb-8fk7id2l#slowlog + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment")] + public partial class ClsLogAttachment : global::Pulumi.CustomResource + { + /// + /// Cls region. + /// + [Output("clsRegion")] + public Output ClsRegion { get; private set; } = null!; + + /// + /// Whether to create index. + /// + [Output("createIndex")] + public Output CreateIndex { get; private set; } = null!; + + /// + /// Whether to create log set. + /// + [Output("createLogSet")] + public Output CreateLogSet { get; private set; } = null!; + + /// + /// Whether to create log topic. + /// + [Output("createLogTopic")] + public Output CreateLogTopic { get; private set; } = null!; + + /// + /// The id of instance. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// If `create_log_set` is `true`, use log set name, Else use log set Id. + /// + [Output("logSet")] + public Output LogSet { get; private set; } = null!; + + /// + /// Log set Id. + /// + [Output("logSetId")] + public Output LogSetId { get; private set; } = null!; + + /// + /// If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + /// + [Output("logTopic")] + public Output LogTopic { get; private set; } = null!; + + /// + /// Log topic Id. + /// + [Output("logTopicId")] + public Output LogTopicId { get; private set; } = null!; + + /// + /// Log type. Support `error` or `slowlog`. + /// + [Output("logType")] + public Output LogType { get; private set; } = null!; + + /// + /// The validity period of the log theme is 30 days by default when not filled in. + /// + [Output("period")] + public Output Period { get; private set; } = null!; + + /// + /// Log Status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a ClsLogAttachment 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 ClsLogAttachment(string name, ClsLogAttachmentArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment", name, args ?? new ClsLogAttachmentArgs(), MakeResourceOptions(options, "")) + { + } + + private ClsLogAttachment(string name, Input id, ClsLogAttachmentState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment", 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 ClsLogAttachment 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 ClsLogAttachment Get(string name, Input id, ClsLogAttachmentState? state = null, CustomResourceOptions? options = null) + { + return new ClsLogAttachment(name, id, state, options); + } + } + + public sealed class ClsLogAttachmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Cls region. + /// + [Input("clsRegion")] + public Input? ClsRegion { get; set; } + + /// + /// Whether to create index. + /// + [Input("createIndex")] + public Input? CreateIndex { get; set; } + + /// + /// Whether to create log set. + /// + [Input("createLogSet")] + public Input? CreateLogSet { get; set; } + + /// + /// Whether to create log topic. + /// + [Input("createLogTopic")] + public Input? CreateLogTopic { get; set; } + + /// + /// The id of instance. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// If `create_log_set` is `true`, use log set name, Else use log set Id. + /// + [Input("logSet", required: true)] + public Input LogSet { get; set; } = null!; + + /// + /// If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + /// + [Input("logTopic", required: true)] + public Input LogTopic { get; set; } = null!; + + /// + /// Log type. Support `error` or `slowlog`. + /// + [Input("logType", required: true)] + public Input LogType { get; set; } = null!; + + /// + /// The validity period of the log theme is 30 days by default when not filled in. + /// + [Input("period")] + public Input? Period { get; set; } + + public ClsLogAttachmentArgs() + { + } + public static new ClsLogAttachmentArgs Empty => new ClsLogAttachmentArgs(); + } + + public sealed class ClsLogAttachmentState : global::Pulumi.ResourceArgs + { + /// + /// Cls region. + /// + [Input("clsRegion")] + public Input? ClsRegion { get; set; } + + /// + /// Whether to create index. + /// + [Input("createIndex")] + public Input? CreateIndex { get; set; } + + /// + /// Whether to create log set. + /// + [Input("createLogSet")] + public Input? CreateLogSet { get; set; } + + /// + /// Whether to create log topic. + /// + [Input("createLogTopic")] + public Input? CreateLogTopic { get; set; } + + /// + /// The id of instance. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// If `create_log_set` is `true`, use log set name, Else use log set Id. + /// + [Input("logSet")] + public Input? LogSet { get; set; } + + /// + /// Log set Id. + /// + [Input("logSetId")] + public Input? LogSetId { get; set; } + + /// + /// If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + /// + [Input("logTopic")] + public Input? LogTopic { get; set; } + + /// + /// Log topic Id. + /// + [Input("logTopicId")] + public Input? LogTopicId { get; set; } + + /// + /// Log type. Support `error` or `slowlog`. + /// + [Input("logType")] + public Input? LogType { get; set; } + + /// + /// The validity period of the log theme is 30 days by default when not filled in. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// Log Status. + /// + [Input("status")] + public Input? Status { get; set; } + + public ClsLogAttachmentState() + { + } + public static new ClsLogAttachmentState Empty => new ClsLogAttachmentState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Mysql/Instance.cs b/sdk/dotnet/Tencentcloud/Mysql/Instance.cs index fa1c07ef7..52912544f 100644 --- a/sdk/dotnet/Tencentcloud/Mysql/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Mysql/Instance.cs @@ -175,6 +175,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("deviceType")] public Output DeviceType { get; private set; } = null!; + /// + /// Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + /// + [Output("engineType")] + public Output EngineType { get; private set; } = null!; + /// /// The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. /// @@ -454,6 +460,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("deviceType")] public Input? DeviceType { get; set; } + /// + /// Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + /// + [Input("engineType")] + public Input? EngineType { get; set; } + /// /// The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. /// @@ -676,6 +688,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("deviceType")] public Input? DeviceType { get; set; } + /// + /// Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + /// + [Input("engineType")] + public Input? EngineType { get; set; } + /// /// The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. /// diff --git a/sdk/dotnet/Tencentcloud/Mysql/ReadonlyInstance.cs b/sdk/dotnet/Tencentcloud/Mysql/ReadonlyInstance.cs index 004df5b9a..5fcced3d8 100644 --- a/sdk/dotnet/Tencentcloud/Mysql/ReadonlyInstance.cs +++ b/sdk/dotnet/Tencentcloud/Mysql/ReadonlyInstance.cs @@ -217,6 +217,12 @@ public partial class ReadonlyInstance : global::Pulumi.CustomResource [Output("prepaidPeriod")] public Output PrepaidPeriod { get; private set; } = null!; + /// + /// Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + /// + [Output("roGroupId")] + public Output RoGroupId { get; private set; } = null!; + /// /// Security groups to use. /// @@ -414,6 +420,12 @@ public sealed class ReadonlyInstanceArgs : global::Pulumi.ResourceArgs [Input("prepaidPeriod")] public Input? PrepaidPeriod { get; set; } + /// + /// Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + /// + [Input("roGroupId")] + public Input? RoGroupId { get; set; } + [Input("securityGroups")] private InputList? _securityGroups; @@ -584,6 +596,12 @@ public sealed class ReadonlyInstanceState : global::Pulumi.ResourceArgs [Input("prepaidPeriod")] public Input? PrepaidPeriod { get; set; } + /// + /// Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + /// + [Input("roGroupId")] + public Input? RoGroupId { get; set; } + [Input("securityGroups")] private InputList? _securityGroups; diff --git a/sdk/dotnet/Tencentcloud/Mysql/Ssl.cs b/sdk/dotnet/Tencentcloud/Mysql/Ssl.cs new file mode 100644 index 000000000..de3ec3be0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mysql/Ssl.cs @@ -0,0 +1,156 @@ +// *** 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.Mysql +{ + /// + /// Provides a resource to create a mysql ssl + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var ssl = new Tencentcloud.Mysql.Ssl("ssl", new() + /// { + /// InstanceId = "cdb-j5rprr8n", + /// Status = "OFF", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// mysql ssl can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Mysql/ssl:Ssl ssl instanceId + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Mysql/ssl:Ssl")] + public partial class Ssl : global::Pulumi.CustomResource + { + /// + /// Instance ID. Example value: cdb-c1nl9rpv. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The certificate download link. Example value: http://testdownload.url. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a Ssl 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 Ssl(string name, SslArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Mysql/ssl:Ssl", name, args ?? new SslArgs(), MakeResourceOptions(options, "")) + { + } + + private Ssl(string name, Input id, SslState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Mysql/ssl:Ssl", 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 Ssl 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 Ssl Get(string name, Input id, SslState? state = null, CustomResourceOptions? options = null) + { + return new Ssl(name, id, state, options); + } + } + + public sealed class SslArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance ID. Example value: cdb-c1nl9rpv. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public SslArgs() + { + } + public static new SslArgs Empty => new SslArgs(); + } + + public sealed class SslState : global::Pulumi.ResourceArgs + { + /// + /// Instance ID. Example value: cdb-c1nl9rpv. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The certificate download link. Example value: http://testdownload.url. + /// + [Input("url")] + public Input? Url { get; set; } + + public SslState() + { + } + public static new SslState Empty => new SslState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Organization/GetServices.cs b/sdk/dotnet/Tencentcloud/Organization/GetServices.cs new file mode 100644 index 000000000..6a29b68b2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/GetServices.cs @@ -0,0 +1,178 @@ +// *** 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.Organization +{ + public static class GetServices + { + /// + /// Use this data source to query detailed information of organization services + /// + /// ## Example Usage + /// + /// ### Query all organization services + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var services = Tencentcloud.Organization.GetServices.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query organization services by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var services = Tencentcloud.Organization.GetServices.Invoke(new() + /// { + /// SearchKey = "KeyWord", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetServicesArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Organization/getServices:getServices", args ?? new GetServicesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of organization services + /// + /// ## Example Usage + /// + /// ### Query all organization services + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var services = Tencentcloud.Organization.GetServices.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query organization services by filter + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var services = Tencentcloud.Organization.GetServices.Invoke(new() + /// { + /// SearchKey = "KeyWord", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetServicesInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Organization/getServices:getServices", args ?? new GetServicesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetServicesArgs : global::Pulumi.InvokeArgs + { + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// Keyword for search by name. + /// + [Input("searchKey")] + public string? SearchKey { get; set; } + + public GetServicesArgs() + { + } + public static new GetServicesArgs Empty => new GetServicesArgs(); + } + + public sealed class GetServicesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// Keyword for search by name. + /// + [Input("searchKey")] + public Input? SearchKey { get; set; } + + public GetServicesInvokeArgs() + { + } + public static new GetServicesInvokeArgs Empty => new GetServicesInvokeArgs(); + } + + + [OutputType] + public sealed class GetServicesResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Organization service list. + /// + public readonly ImmutableArray Items; + public readonly string? ResultOutputFile; + public readonly string? SearchKey; + + [OutputConstructor] + private GetServicesResult( + string id, + + ImmutableArray items, + + string? resultOutputFile, + + string? searchKey) + { + Id = id; + Items = items; + ResultOutputFile = resultOutputFile; + SearchKey = searchKey; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Organization/Instance.cs b/sdk/dotnet/Tencentcloud/Organization/Instance.cs index 0ff436a59..052fe6a6d 100644 --- a/sdk/dotnet/Tencentcloud/Organization/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Organization/Instance.cs @@ -137,6 +137,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("rootNodeId")] public Output RootNodeId { get; private set; } = null!; + /// + /// Root node name. + /// + [Output("rootNodeName")] + public Output RootNodeName { get; private set; } = null!; + /// /// Create a Instance resource with the given unique name, arguments, and options. @@ -184,6 +190,12 @@ public static Instance Get(string name, Input id, InstanceState? state = public sealed class InstanceArgs : global::Pulumi.ResourceArgs { + /// + /// Root node name. + /// + [Input("rootNodeName")] + public Input? RootNodeName { get; set; } + public InstanceArgs() { } @@ -294,6 +306,12 @@ public InputList OrgPermissions [Input("rootNodeId")] public Input? RootNodeId { get; set; } + /// + /// Root node name. + /// + [Input("rootNodeName")] + public Input? RootNodeName { get; set; } + public InstanceState() { } diff --git a/sdk/dotnet/Tencentcloud/Organization/OrgMember.cs b/sdk/dotnet/Tencentcloud/Organization/OrgMember.cs index 3ada1a212..ee86747e6 100644 --- a/sdk/dotnet/Tencentcloud/Organization/OrgMember.cs +++ b/sdk/dotnet/Tencentcloud/Organization/OrgMember.cs @@ -137,6 +137,12 @@ public partial class OrgMember : global::Pulumi.CustomResource [Output("remark")] public Output Remark { get; private set; } = null!; + /// + /// Tag description list. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + /// /// Member update time. /// @@ -238,6 +244,18 @@ public InputList PermissionIds [Input("remark")] public Input? Remark { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Tag description list. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + public OrgMemberArgs() { } @@ -342,6 +360,18 @@ public InputList PermissionIds [Input("remark")] public Input? Remark { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Tag description list. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// Member update time. /// diff --git a/sdk/dotnet/Tencentcloud/Organization/OrgNode.cs b/sdk/dotnet/Tencentcloud/Organization/OrgNode.cs index 66c0e936c..f65c59343 100644 --- a/sdk/dotnet/Tencentcloud/Organization/OrgNode.cs +++ b/sdk/dotnet/Tencentcloud/Organization/OrgNode.cs @@ -69,6 +69,12 @@ public partial class OrgNode : global::Pulumi.CustomResource [Output("remark")] public Output Remark { get; private set; } = null!; + /// + /// Tag description list. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + /// /// Node update time. /// @@ -140,6 +146,18 @@ public sealed class OrgNodeArgs : global::Pulumi.ResourceArgs [Input("remark")] public Input? Remark { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Tag description list. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + public OrgNodeArgs() { } @@ -172,6 +190,18 @@ public sealed class OrgNodeState : global::Pulumi.ResourceArgs [Input("remark")] public Input? Remark { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Tag description list. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// Node update time. /// diff --git a/sdk/dotnet/Tencentcloud/Organization/Outputs/GetServicesItemResult.cs b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetServicesItemResult.cs new file mode 100644 index 000000000..3167e6279 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/Outputs/GetServicesItemResult.cs @@ -0,0 +1,114 @@ +// *** 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.Organization.Outputs +{ + + [OutputType] + public sealed class GetServicesItemResult + { + /// + /// Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int CanAssignCount; + /// + /// Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string ConsoleUrl; + /// + /// Organization service description. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Description; + /// + /// Help documentation. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Document; + /// + /// Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string GrantStatus; + /// + /// Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int IsAssign; + /// + /// Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no). + /// Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int IsSetManagementScope; + /// + /// Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int IsUsageStatus; + /// + /// Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string MemberNum; + /// + /// Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string Product; + /// + /// Organization service product name. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly string ProductName; + /// + /// Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int ServiceGrant; + /// + /// Organization service ID. Note: This field may return null, indicating that no valid values can be obtained. + /// + public readonly int ServiceId; + + [OutputConstructor] + private GetServicesItemResult( + int canAssignCount, + + string consoleUrl, + + string description, + + string document, + + string grantStatus, + + int isAssign, + + int isSetManagementScope, + + int isUsageStatus, + + string memberNum, + + string product, + + string productName, + + int serviceGrant, + + int serviceId) + { + CanAssignCount = canAssignCount; + ConsoleUrl = consoleUrl; + Description = description; + Document = document; + GrantStatus = grantStatus; + IsAssign = isAssign; + IsSetManagementScope = isSetManagementScope; + IsUsageStatus = isUsageStatus; + MemberNum = memberNum; + Product = product; + ProductName = productName; + ServiceGrant = serviceGrant; + ServiceId = serviceId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Organization/ServiceAssign.cs b/sdk/dotnet/Tencentcloud/Organization/ServiceAssign.cs new file mode 100644 index 000000000..7278592c5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Organization/ServiceAssign.cs @@ -0,0 +1,273 @@ +// *** 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.Organization +{ + /// + /// Provides a resource to create a organization service assign + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Organization.ServiceAssign("example", new() + /// { + /// ManagementScope = 1, + /// MemberUins = new[] + /// { + /// 100037235241, + /// 100033738111, + /// }, + /// ServiceId = 15, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Tencentcloud.Organization.ServiceAssign("example", new() + /// { + /// ManagementScope = 2, + /// ManagementScopeNodeIds = new[] + /// { + /// 2024256, + /// 2024259, + /// }, + /// ManagementScopeUins = new[] + /// { + /// 100019287759, + /// 100020537485, + /// }, + /// MemberUins = new[] + /// { + /// 100013415241, + /// 100078908111, + /// }, + /// ServiceId = 15, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// organization service assign can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Organization/serviceAssign:ServiceAssign example 15 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Organization/serviceAssign:ServiceAssign")] + public partial class ServiceAssign : global::Pulumi.CustomResource + { + /// + /// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + /// + [Output("managementScope")] + public Output ManagementScope { get; private set; } = null!; + + /// + /// ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + /// + [Output("managementScopeNodeIds")] + public Output> ManagementScopeNodeIds { get; private set; } = null!; + + /// + /// Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + /// + [Output("managementScopeUins")] + public Output> ManagementScopeUins { get; private set; } = null!; + + /// + /// Uin list of the delegated admins, Including up to 20 items. + /// + [Output("memberUins")] + public Output> MemberUins { get; private set; } = null!; + + /// + /// Organization service ID. + /// + [Output("serviceId")] + public Output ServiceId { get; private set; } = null!; + + + /// + /// Create a ServiceAssign 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 ServiceAssign(string name, ServiceAssignArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Organization/serviceAssign:ServiceAssign", name, args ?? new ServiceAssignArgs(), MakeResourceOptions(options, "")) + { + } + + private ServiceAssign(string name, Input id, ServiceAssignState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Organization/serviceAssign:ServiceAssign", 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 ServiceAssign 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 ServiceAssign Get(string name, Input id, ServiceAssignState? state = null, CustomResourceOptions? options = null) + { + return new ServiceAssign(name, id, state, options); + } + } + + public sealed class ServiceAssignArgs : global::Pulumi.ResourceArgs + { + /// + /// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + /// + [Input("managementScope")] + public Input? ManagementScope { get; set; } + + [Input("managementScopeNodeIds")] + private InputList? _managementScopeNodeIds; + + /// + /// ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + /// + public InputList ManagementScopeNodeIds + { + get => _managementScopeNodeIds ?? (_managementScopeNodeIds = new InputList()); + set => _managementScopeNodeIds = value; + } + + [Input("managementScopeUins")] + private InputList? _managementScopeUins; + + /// + /// Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + /// + public InputList ManagementScopeUins + { + get => _managementScopeUins ?? (_managementScopeUins = new InputList()); + set => _managementScopeUins = value; + } + + [Input("memberUins", required: true)] + private InputList? _memberUins; + + /// + /// Uin list of the delegated admins, Including up to 20 items. + /// + public InputList MemberUins + { + get => _memberUins ?? (_memberUins = new InputList()); + set => _memberUins = value; + } + + /// + /// Organization service ID. + /// + [Input("serviceId", required: true)] + public Input ServiceId { get; set; } = null!; + + public ServiceAssignArgs() + { + } + public static new ServiceAssignArgs Empty => new ServiceAssignArgs(); + } + + public sealed class ServiceAssignState : global::Pulumi.ResourceArgs + { + /// + /// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + /// + [Input("managementScope")] + public Input? ManagementScope { get; set; } + + [Input("managementScopeNodeIds")] + private InputList? _managementScopeNodeIds; + + /// + /// ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + /// + public InputList ManagementScopeNodeIds + { + get => _managementScopeNodeIds ?? (_managementScopeNodeIds = new InputList()); + set => _managementScopeNodeIds = value; + } + + [Input("managementScopeUins")] + private InputList? _managementScopeUins; + + /// + /// Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + /// + public InputList ManagementScopeUins + { + get => _managementScopeUins ?? (_managementScopeUins = new InputList()); + set => _managementScopeUins = value; + } + + [Input("memberUins")] + private InputList? _memberUins; + + /// + /// Uin list of the delegated admins, Including up to 20 items. + /// + public InputList MemberUins + { + get => _memberUins ?? (_memberUins = new InputList()); + set => _memberUins = value; + } + + /// + /// Organization service ID. + /// + [Input("serviceId")] + public Input? ServiceId { get; set; } + + public ServiceAssignState() + { + } + public static new ServiceAssignState Empty => new ServiceAssignState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Account.cs b/sdk/dotnet/Tencentcloud/Postgresql/Account.cs new file mode 100644 index 000000000..4c8ec2775 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Account.cs @@ -0,0 +1,284 @@ +// *** 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.Postgresql +{ + /// + /// Provides a resource to create a postgresql account + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create postgresql + /// var exampleInstance = new Tencentcloud.Postgresql.Instance("exampleInstance", new() + /// { + /// AvailabilityZone = availabilityZone, + /// ChargeType = "POSTPAID_BY_HOUR", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DbMajorVersion = "10", + /// EngineVersion = "10.23", + /// RootUser = "root123", + /// RootPassword = "Root123$", + /// Charset = "UTF8", + /// ProjectId = 0, + /// Cpu = 1, + /// Memory = 2, + /// Storage = 10, + /// Tags = + /// { + /// { "test", "tf" }, + /// }, + /// }); + /// + /// // create account + /// var exampleAccount = new Tencentcloud.Postgresql.Account("exampleAccount", new() + /// { + /// DbInstanceId = exampleInstance.Id, + /// UserName = "tf_example", + /// Password = "Password@123", + /// Type = "normal", + /// Remark = "remark", + /// LockStatus = false, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// postgres account can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Postgresql/account:Account example postgres-3hk6b6tj#tf_example + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Postgresql/account:Account")] + public partial class Account : global::Pulumi.CustomResource + { + /// + /// Instance ID in the format of postgres-4wdeb0zv. + /// + [Output("dbInstanceId")] + public Output DbInstanceId { get; private set; } = null!; + + /// + /// whether lock account. true: locked; false: unlock. + /// + [Output("lockStatus")] + public Output LockStatus { get; private set; } = null!; + + /// + /// Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;amp;*-+=_|{}[]:;&amp;amp;#39;&amp;amp;lt;&amp;amp;gt;,.?/); can&amp;amp;#39;t start with slash /. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + /// + [Output("remark")] + public Output Remark { get; private set; } = null!; + + /// + /// The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;amp;#39;t be postgres; can&amp;amp;#39;t start with numbers, pg_, and tencentdb_. + /// + [Output("userName")] + public Output UserName { get; private set; } = null!; + + + /// + /// Create a Account 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 Account(string name, AccountArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/account:Account", name, args ?? new AccountArgs(), MakeResourceOptions(options, "")) + { + } + + private Account(string name, Input id, AccountState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/account:Account", 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", + AdditionalSecretOutputs = + { + "password", + }, + }; + 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 Account 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 Account Get(string name, Input id, AccountState? state = null, CustomResourceOptions? options = null) + { + return new Account(name, id, state, options); + } + } + + public sealed class AccountArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance ID in the format of postgres-4wdeb0zv. + /// + [Input("dbInstanceId", required: true)] + public Input DbInstanceId { get; set; } = null!; + + /// + /// whether lock account. true: locked; false: unlock. + /// + [Input("lockStatus")] + public Input? LockStatus { get; set; } + + [Input("password", required: true)] + private Input? _password; + + /// + /// Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;amp;*-+=_|{}[]:;&amp;amp;#39;&amp;amp;lt;&amp;amp;gt;,.?/); can&amp;amp;#39;t start with slash /. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;amp;#39;t be postgres; can&amp;amp;#39;t start with numbers, pg_, and tencentdb_. + /// + [Input("userName", required: true)] + public Input UserName { get; set; } = null!; + + public AccountArgs() + { + } + public static new AccountArgs Empty => new AccountArgs(); + } + + public sealed class AccountState : global::Pulumi.ResourceArgs + { + /// + /// Instance ID in the format of postgres-4wdeb0zv. + /// + [Input("dbInstanceId")] + public Input? DbInstanceId { get; set; } + + /// + /// whether lock account. true: locked; false: unlock. + /// + [Input("lockStatus")] + public Input? LockStatus { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;amp;*-+=_|{}[]:;&amp;amp;#39;&amp;amp;lt;&amp;amp;gt;,.?/); can&amp;amp;#39;t start with slash /. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + /// + [Input("remark")] + public Input? Remark { get; set; } + + /// + /// The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;amp;#39;t be postgres; can&amp;amp;#39;t start with numbers, pg_, and tencentdb_. + /// + [Input("userName")] + public Input? UserName { get; set; } + + public AccountState() + { + } + public static new AccountState Empty => new AccountState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/AccountPrivilegesOperation.cs b/sdk/dotnet/Tencentcloud/Postgresql/AccountPrivilegesOperation.cs new file mode 100644 index 000000000..ebbc19cda --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/AccountPrivilegesOperation.cs @@ -0,0 +1,239 @@ +// *** 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.Postgresql +{ + /// + /// Provides a resource to create postgresql account privileges + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create postgresql + /// var exampleInstance = new Tencentcloud.Postgresql.Instance("exampleInstance", new() + /// { + /// AvailabilityZone = availabilityZone, + /// ChargeType = "POSTPAID_BY_HOUR", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DbMajorVersion = "10", + /// EngineVersion = "10.23", + /// RootUser = "root123", + /// RootPassword = "Root123$", + /// Charset = "UTF8", + /// ProjectId = 0, + /// Cpu = 1, + /// Memory = 2, + /// Storage = 10, + /// Tags = + /// { + /// { "test", "tf" }, + /// }, + /// }); + /// + /// // create account + /// var exampleAccount = new Tencentcloud.Postgresql.Account("exampleAccount", new() + /// { + /// DbInstanceId = exampleInstance.Id, + /// UserName = "tf_example", + /// Password = "Password@123", + /// Type = "normal", + /// Remark = "remark", + /// LockStatus = false, + /// }); + /// + /// // create account privileges + /// var exampleAccountPrivilegesOperation = new Tencentcloud.Postgresql.AccountPrivilegesOperation("exampleAccountPrivilegesOperation", new() + /// { + /// DbInstanceId = exampleInstance.Id, + /// UserName = exampleAccount.UserName, + /// ModifyPrivilegeSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.AccountPrivilegesOperationModifyPrivilegeSetArgs + /// { + /// DatabasePrivilege = new Tencentcloud.Postgresql.Inputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs + /// { + /// Object = new Tencentcloud.Postgresql.Inputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs + /// { + /// ObjectName = "postgres", + /// ObjectType = "database", + /// }, + /// PrivilegeSets = new[] + /// { + /// "CONNECT", + /// "TEMPORARY", + /// "CREATE", + /// }, + /// }, + /// ModifyType = "grantObject", + /// IsCascade = false, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + [TencentcloudResourceType("tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation")] + public partial class AccountPrivilegesOperation : global::Pulumi.CustomResource + { + /// + /// Instance ID in the format of postgres-4wdeb0zv. + /// + [Output("dbInstanceId")] + public Output DbInstanceId { get; private set; } = null!; + + /// + /// Privileges to modify. Batch modification supported, up to 50 entries at a time. + /// + [Output("modifyPrivilegeSets")] + public Output> ModifyPrivilegeSets { get; private set; } = null!; + + /// + /// Instance username. + /// + [Output("userName")] + public Output UserName { get; private set; } = null!; + + + /// + /// Create a AccountPrivilegesOperation 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 AccountPrivilegesOperation(string name, AccountPrivilegesOperationArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation", name, args ?? new AccountPrivilegesOperationArgs(), MakeResourceOptions(options, "")) + { + } + + private AccountPrivilegesOperation(string name, Input id, AccountPrivilegesOperationState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation", 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 AccountPrivilegesOperation 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 AccountPrivilegesOperation Get(string name, Input id, AccountPrivilegesOperationState? state = null, CustomResourceOptions? options = null) + { + return new AccountPrivilegesOperation(name, id, state, options); + } + } + + public sealed class AccountPrivilegesOperationArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance ID in the format of postgres-4wdeb0zv. + /// + [Input("dbInstanceId", required: true)] + public Input DbInstanceId { get; set; } = null!; + + [Input("modifyPrivilegeSets", required: true)] + private InputList? _modifyPrivilegeSets; + + /// + /// Privileges to modify. Batch modification supported, up to 50 entries at a time. + /// + public InputList ModifyPrivilegeSets + { + get => _modifyPrivilegeSets ?? (_modifyPrivilegeSets = new InputList()); + set => _modifyPrivilegeSets = value; + } + + /// + /// Instance username. + /// + [Input("userName", required: true)] + public Input UserName { get; set; } = null!; + + public AccountPrivilegesOperationArgs() + { + } + public static new AccountPrivilegesOperationArgs Empty => new AccountPrivilegesOperationArgs(); + } + + public sealed class AccountPrivilegesOperationState : global::Pulumi.ResourceArgs + { + /// + /// Instance ID in the format of postgres-4wdeb0zv. + /// + [Input("dbInstanceId")] + public Input? DbInstanceId { get; set; } + + [Input("modifyPrivilegeSets")] + private InputList? _modifyPrivilegeSets; + + /// + /// Privileges to modify. Batch modification supported, up to 50 entries at a time. + /// + public InputList ModifyPrivilegeSets + { + get => _modifyPrivilegeSets ?? (_modifyPrivilegeSets = new InputList()); + set => _modifyPrivilegeSets = value; + } + + /// + /// Instance username. + /// + [Input("userName")] + public Input? UserName { get; set; } + + public AccountPrivilegesOperationState() + { + } + public static new AccountPrivilegesOperationState Empty => new AccountPrivilegesOperationState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/GetAccountPrivileges.cs b/sdk/dotnet/Tencentcloud/Postgresql/GetAccountPrivileges.cs new file mode 100644 index 000000000..8990e0046 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/GetAccountPrivileges.cs @@ -0,0 +1,202 @@ +// *** 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.Postgresql +{ + public static class GetAccountPrivileges + { + /// + /// Use this data source to query detailed information of postgresql account privileges + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Postgresql.GetAccountPrivileges.Invoke(new() + /// { + /// DatabaseObjectSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.GetAccountPrivilegesDatabaseObjectSetInputArgs + /// { + /// ObjectName = "postgres", + /// ObjectType = "database", + /// }, + /// }, + /// DbInstanceId = "postgres-3hk6b6tj", + /// UserName = "tf_example", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetAccountPrivilegesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Postgresql/getAccountPrivileges:getAccountPrivileges", args ?? new GetAccountPrivilegesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of postgresql account privileges + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Postgresql.GetAccountPrivileges.Invoke(new() + /// { + /// DatabaseObjectSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.GetAccountPrivilegesDatabaseObjectSetInputArgs + /// { + /// ObjectName = "postgres", + /// ObjectType = "database", + /// }, + /// }, + /// DbInstanceId = "postgres-3hk6b6tj", + /// UserName = "tf_example", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetAccountPrivilegesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Postgresql/getAccountPrivileges:getAccountPrivileges", args ?? new GetAccountPrivilegesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAccountPrivilegesArgs : global::Pulumi.InvokeArgs + { + [Input("databaseObjectSets", required: true)] + private List? _databaseObjectSets; + + /// + /// Instance database object info. + /// + public List DatabaseObjectSets + { + get => _databaseObjectSets ?? (_databaseObjectSets = new List()); + set => _databaseObjectSets = value; + } + + /// + /// Instance ID. + /// + [Input("dbInstanceId", required: true)] + public string DbInstanceId { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + /// + /// Instance username. + /// + [Input("userName", required: true)] + public string UserName { get; set; } = null!; + + public GetAccountPrivilegesArgs() + { + } + public static new GetAccountPrivilegesArgs Empty => new GetAccountPrivilegesArgs(); + } + + public sealed class GetAccountPrivilegesInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("databaseObjectSets", required: true)] + private InputList? _databaseObjectSets; + + /// + /// Instance database object info. + /// + public InputList DatabaseObjectSets + { + get => _databaseObjectSets ?? (_databaseObjectSets = new InputList()); + set => _databaseObjectSets = value; + } + + /// + /// Instance ID. + /// + [Input("dbInstanceId", required: true)] + public Input DbInstanceId { get; set; } = null!; + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + /// + /// Instance username. + /// + [Input("userName", required: true)] + public Input UserName { get; set; } = null!; + + public GetAccountPrivilegesInvokeArgs() + { + } + public static new GetAccountPrivilegesInvokeArgs Empty => new GetAccountPrivilegesInvokeArgs(); + } + + + [OutputType] + public sealed class GetAccountPrivilegesResult + { + public readonly ImmutableArray DatabaseObjectSets; + public readonly string DbInstanceId; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly ImmutableArray PrivilegeSets; + public readonly string? ResultOutputFile; + public readonly string UserName; + + [OutputConstructor] + private GetAccountPrivilegesResult( + ImmutableArray databaseObjectSets, + + string dbInstanceId, + + string id, + + ImmutableArray privilegeSets, + + string? resultOutputFile, + + string userName) + { + DatabaseObjectSets = databaseObjectSets; + DbInstanceId = dbInstanceId; + Id = id; + PrivilegeSets = privilegeSets; + ResultOutputFile = resultOutputFile; + UserName = userName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/GetDedicatedClusters.cs b/sdk/dotnet/Tencentcloud/Postgresql/GetDedicatedClusters.cs new file mode 100644 index 000000000..447518a5c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/GetDedicatedClusters.cs @@ -0,0 +1,210 @@ +// *** 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.Postgresql +{ + public static class GetDedicatedClusters + { + /// + /// Use this data source to query detailed information of Postgresql dedicated clusters + /// + /// ## Example Usage + /// + /// ### Query all instances + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Postgresql.GetDedicatedClusters.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query instances by filters + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Postgresql.GetDedicatedClusters.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.GetDedicatedClustersFilterInputArgs + /// { + /// Name = "dedicated-cluster-id", + /// Values = new[] + /// { + /// "cluster-262n63e8", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetDedicatedClustersArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Postgresql/getDedicatedClusters:getDedicatedClusters", args ?? new GetDedicatedClustersArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of Postgresql dedicated clusters + /// + /// ## Example Usage + /// + /// ### Query all instances + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Postgresql.GetDedicatedClusters.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Query instances by filters + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Tencentcloud.Postgresql.GetDedicatedClusters.Invoke(new() + /// { + /// Filters = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.GetDedicatedClustersFilterInputArgs + /// { + /// Name = "dedicated-cluster-id", + /// Values = new[] + /// { + /// "cluster-262n63e8", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetDedicatedClustersInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Postgresql/getDedicatedClusters:getDedicatedClusters", args ?? new GetDedicatedClustersInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDedicatedClustersArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private List? _filters; + + /// + /// Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetDedicatedClustersArgs() + { + } + public static new GetDedicatedClustersArgs Empty => new GetDedicatedClustersArgs(); + } + + public sealed class GetDedicatedClustersInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("filters")] + private InputList? _filters; + + /// + /// Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetDedicatedClustersInvokeArgs() + { + } + public static new GetDedicatedClustersInvokeArgs Empty => new GetDedicatedClustersInvokeArgs(); + } + + + [OutputType] + public sealed class GetDedicatedClustersResult + { + /// + /// Dedicated cluster set info. + /// + public readonly ImmutableArray DedicatedClusterSets; + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetDedicatedClustersResult( + ImmutableArray dedicatedClusterSets, + + ImmutableArray filters, + + string id, + + string? resultOutputFile) + { + DedicatedClusterSets = dedicatedClusterSets; + Filters = filters; + Id = id; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetArgs.cs new file mode 100644 index 000000000..7f750decb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetArgs.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.Postgresql.Inputs +{ + + public sealed class AccountPrivilegesOperationModifyPrivilegeSetArgs : global::Pulumi.ResourceArgs + { + /// + /// Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("databasePrivilege")] + public Input? DatabasePrivilege { get; set; } + + /// + /// Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + /// + [Input("isCascade")] + public Input? IsCascade { get; set; } + + /// + /// Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + /// + [Input("modifyType")] + public Input? ModifyType { get; set; } + + public AccountPrivilegesOperationModifyPrivilegeSetArgs() + { + } + public static new AccountPrivilegesOperationModifyPrivilegeSetArgs Empty => new AccountPrivilegesOperationModifyPrivilegeSetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs.cs new file mode 100644 index 000000000..1a9fd0729 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs.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.Postgresql.Inputs +{ + + public sealed class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs : global::Pulumi.ResourceArgs + { + /// + /// Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&amp;#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("object")] + public Input? Object { get; set; } + + [Input("privilegeSets")] + private InputList? _privilegeSets; + + /// + /// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + /// + public InputList PrivilegeSets + { + get => _privilegeSets ?? (_privilegeSets = new InputList()); + set => _privilegeSets = value; + } + + public AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs() + { + } + public static new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs Empty => new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs.cs new file mode 100644 index 000000000..736356b7a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs.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.Postgresql.Inputs +{ + + public sealed class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&amp;#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("object")] + public Input? Object { get; set; } + + [Input("privilegeSets")] + private InputList? _privilegeSets; + + /// + /// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + /// + public InputList PrivilegeSets + { + get => _privilegeSets ?? (_privilegeSets = new InputList()); + set => _privilegeSets = value; + } + + public AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs() + { + } + public static new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs Empty => new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs.cs new file mode 100644 index 000000000..0312fc84a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Postgresql.Inputs +{ + + public sealed class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs : global::Pulumi.ResourceArgs + { + /// + /// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + /// + /// Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectName", required: true)] + public Input ObjectName { get; set; } = null!; + + /// + /// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectType", required: true)] + public Input ObjectType { get; set; } = null!; + + /// + /// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("schemaName")] + public Input? SchemaName { get; set; } + + /// + /// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("tableName")] + public Input? TableName { get; set; } + + public AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs() + { + } + public static new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs Empty => new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs.cs new file mode 100644 index 000000000..4cc34f2de --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Postgresql.Inputs +{ + + public sealed class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + /// + /// Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectName", required: true)] + public Input ObjectName { get; set; } = null!; + + /// + /// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectType", required: true)] + public Input ObjectType { get; set; } = null!; + + /// + /// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("schemaName")] + public Input? SchemaName { get; set; } + + /// + /// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("tableName")] + public Input? TableName { get; set; } + + public AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs() + { + } + public static new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs Empty => new AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetGetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetGetArgs.cs new file mode 100644 index 000000000..0abbe8562 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/AccountPrivilegesOperationModifyPrivilegeSetGetArgs.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.Postgresql.Inputs +{ + + public sealed class AccountPrivilegesOperationModifyPrivilegeSetGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("databasePrivilege")] + public Input? DatabasePrivilege { get; set; } + + /// + /// Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + /// + [Input("isCascade")] + public Input? IsCascade { get; set; } + + /// + /// Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + /// + [Input("modifyType")] + public Input? ModifyType { get; set; } + + public AccountPrivilegesOperationModifyPrivilegeSetGetArgs() + { + } + public static new AccountPrivilegesOperationModifyPrivilegeSetGetArgs Empty => new AccountPrivilegesOperationModifyPrivilegeSetGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSet.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSet.cs new file mode 100644 index 000000000..8c8b8e6fb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSet.cs @@ -0,0 +1,51 @@ +// *** 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.Postgresql.Inputs +{ + + public sealed class GetAccountPrivilegesDatabaseObjectSetArgs : global::Pulumi.InvokeArgs + { + /// + /// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("databaseName")] + public string? DatabaseName { get; set; } + + /// + /// Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectName", required: true)] + public string ObjectName { get; set; } = null!; + + /// + /// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectType", required: true)] + public string ObjectType { get; set; } = null!; + + /// + /// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("schemaName")] + public string? SchemaName { get; set; } + + /// + /// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("tableName")] + public string? TableName { get; set; } + + public GetAccountPrivilegesDatabaseObjectSetArgs() + { + } + public static new GetAccountPrivilegesDatabaseObjectSetArgs Empty => new GetAccountPrivilegesDatabaseObjectSetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSetArgs.cs new file mode 100644 index 000000000..13c01fa87 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetAccountPrivilegesDatabaseObjectSetArgs.cs @@ -0,0 +1,51 @@ +// *** 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.Postgresql.Inputs +{ + + public sealed class GetAccountPrivilegesDatabaseObjectSetInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + /// + /// Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectName", required: true)] + public Input ObjectName { get; set; } = null!; + + /// + /// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("objectType", required: true)] + public Input ObjectType { get; set; } = null!; + + /// + /// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("schemaName")] + public Input? SchemaName { get; set; } + + /// + /// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("tableName")] + public Input? TableName { get; set; } + + public GetAccountPrivilegesDatabaseObjectSetInputArgs() + { + } + public static new GetAccountPrivilegesDatabaseObjectSetInputArgs Empty => new GetAccountPrivilegesDatabaseObjectSetInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilter.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilter.cs new file mode 100644 index 000000000..dc9287793 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilter.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.Postgresql.Inputs +{ + + public sealed class GetDedicatedClustersFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Filter name. + /// + [Input("name")] + public string? Name { get; set; } + + [Input("values")] + private List? _values; + + /// + /// Filter values. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetDedicatedClustersFilterArgs() + { + } + public static new GetDedicatedClustersFilterArgs Empty => new GetDedicatedClustersFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilterArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilterArgs.cs new file mode 100644 index 000000000..10e625b45 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/GetDedicatedClustersFilterArgs.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.Postgresql.Inputs +{ + + public sealed class GetDedicatedClustersFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Filter name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("values")] + private InputList? _values; + + /// + /// Filter values. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetDedicatedClustersFilterInputArgs() + { + } + public static new GetDedicatedClustersFilterInputArgs Empty => new GetDedicatedClustersFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetArgs.cs index ff3084124..84333d03e 100644 --- a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetArgs.cs @@ -13,6 +13,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql.Inputs public sealed class InstanceDbNodeSetArgs : global::Pulumi.ResourceArgs { + /// + /// Dedicated cluster ID. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. /// diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetGetArgs.cs b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetGetArgs.cs index 29c6cd2e9..ba84258b0 100644 --- a/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Postgresql/Inputs/InstanceDbNodeSetGetArgs.cs @@ -13,6 +13,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql.Inputs public sealed class InstanceDbNodeSetGetArgs : global::Pulumi.ResourceArgs { + /// + /// Dedicated cluster ID. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. /// diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs b/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs index 85bfe2383..ce562be25 100644 --- a/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs @@ -18,6 +18,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// /// ## Example Usage /// + /// ### Create a postgresql instance + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -70,7 +72,62 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### Create a multi available zone bucket + /// ### Create a postgresql instance with delete protection + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create postgresql + /// var example = new Tencentcloud.Postgresql.Instance("example", new() + /// { + /// AvailabilityZone = availabilityZone, + /// ChargeType = "POSTPAID_BY_HOUR", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DbMajorVersion = "10", + /// EngineVersion = "10.23", + /// RootUser = "root123", + /// RootPassword = "Root123$", + /// Charset = "UTF8", + /// ProjectId = 0, + /// Cpu = 1, + /// Memory = 2, + /// Storage = 10, + /// DeleteProtection = true, + /// Tags = + /// { + /// { "test", "tf" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a multi available zone postgresql instance /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -136,7 +193,74 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### create pgsql with kms key + /// ### Create a multi available zone postgresql instance of CDC + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create postgresql + /// var example = new Tencentcloud.Postgresql.Instance("example", new() + /// { + /// AvailabilityZone = availabilityZone, + /// ChargeType = "POSTPAID_BY_HOUR", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DbMajorVersion = "10", + /// RootUser = "root123", + /// RootPassword = "Root123$", + /// Charset = "UTF8", + /// ProjectId = 0, + /// Memory = 2, + /// Cpu = 1, + /// Storage = 10, + /// DbNodeSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs + /// { + /// Role = "Primary", + /// Zone = availabilityZone, + /// DedicatedClusterId = "cluster-262n63e8", + /// }, + /// new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs + /// { + /// Zone = availabilityZone, + /// DedicatedClusterId = "cluster-262n63e8", + /// }, + /// }, + /// Tags = + /// { + /// { "CreateBy", "terraform" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create pgsql with kms key /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -187,7 +311,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### upgrade kernel version + /// ### Upgrade kernel version /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -323,6 +447,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("dbNodeSets")] public Output> DbNodeSets { get; private set; } = null!; + /// + /// Whether to enable instance deletion protection. Default: false. + /// + [Output("deleteProtection")] + public Output DeleteProtection { get; private set; } = null!; + /// /// 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`. /// @@ -590,6 +720,12 @@ public InputList DbNodeSets set => _dbNodeSets = value; } + /// + /// Whether to enable instance deletion protection. Default: false. + /// + [Input("deleteProtection")] + public Input? DeleteProtection { get; set; } + /// /// 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`. /// @@ -818,6 +954,12 @@ public InputList DbNodeSets set => _dbNodeSets = value; } + /// + /// Whether to enable instance deletion protection. Default: false. + /// + [Input("deleteProtection")] + public Input? DeleteProtection { get; set; } + /// /// 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`. /// diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSet.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSet.cs new file mode 100644 index 000000000..1ac65748c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSet.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class AccountPrivilegesOperationModifyPrivilegeSet + { + /// + /// Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly Outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege? DatabasePrivilege; + /// + /// Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + /// + public readonly bool? IsCascade; + /// + /// Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + /// + public readonly string? ModifyType; + + [OutputConstructor] + private AccountPrivilegesOperationModifyPrivilegeSet( + Outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege? databasePrivilege, + + bool? isCascade, + + string? modifyType) + { + DatabasePrivilege = databasePrivilege; + IsCascade = isCascade; + ModifyType = modifyType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege.cs new file mode 100644 index 000000000..e8b6d49e7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege + { + /// + /// Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&amp;#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly Outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject? Object; + /// + /// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly ImmutableArray PrivilegeSets; + + [OutputConstructor] + private AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege( + Outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject? @object, + + ImmutableArray privilegeSets) + { + Object = @object; + PrivilegeSets = privilegeSets; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject.cs new file mode 100644 index 000000000..702ae5ca0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject + { + /// + /// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? DatabaseName; + /// + /// Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string ObjectName; + /// + /// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string ObjectType; + /// + /// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? SchemaName; + /// + /// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? TableName; + + [OutputConstructor] + private AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject( + string? databaseName, + + string objectName, + + string objectType, + + string? schemaName, + + string? tableName) + { + DatabaseName = databaseName; + ObjectName = objectName; + ObjectType = objectType; + SchemaName = schemaName; + TableName = tableName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesDatabaseObjectSetResult.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesDatabaseObjectSetResult.cs new file mode 100644 index 000000000..2d1de10da --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesDatabaseObjectSetResult.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class GetAccountPrivilegesDatabaseObjectSetResult + { + /// + /// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? DatabaseName; + /// + /// Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string ObjectName; + /// + /// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string ObjectType; + /// + /// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? SchemaName; + /// + /// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string? TableName; + + [OutputConstructor] + private GetAccountPrivilegesDatabaseObjectSetResult( + string? databaseName, + + string objectName, + + string objectType, + + string? schemaName, + + string? tableName) + { + DatabaseName = databaseName; + ObjectName = objectName; + ObjectType = objectType; + SchemaName = schemaName; + TableName = tableName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetObjectResult.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetObjectResult.cs new file mode 100644 index 000000000..57eed9cca --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetObjectResult.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class GetAccountPrivilegesPrivilegeSetObjectResult + { + /// + /// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string DatabaseName; + /// + /// Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string ObjectName; + /// + /// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string ObjectType; + /// + /// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string SchemaName; + /// + /// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly string TableName; + + [OutputConstructor] + private GetAccountPrivilegesPrivilegeSetObjectResult( + string databaseName, + + string objectName, + + string objectType, + + string schemaName, + + string tableName) + { + DatabaseName = databaseName; + ObjectName = objectName; + ObjectType = objectType; + SchemaName = schemaName; + TableName = tableName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetResult.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetResult.cs new file mode 100644 index 000000000..9f790b978 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetAccountPrivilegesPrivilegeSetResult.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class GetAccountPrivilegesPrivilegeSetResult + { + /// + /// Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&amp;#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly ImmutableArray Objects; + /// + /// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + /// + public readonly ImmutableArray PrivilegeSets; + + [OutputConstructor] + private GetAccountPrivilegesPrivilegeSetResult( + ImmutableArray objects, + + ImmutableArray privilegeSets) + { + Objects = objects; + PrivilegeSets = privilegeSets; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersDedicatedClusterSetResult.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersDedicatedClusterSetResult.cs new file mode 100644 index 000000000..401c1d288 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersDedicatedClusterSetResult.cs @@ -0,0 +1,99 @@ +// *** 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.Postgresql.Outputs +{ + + [OutputType] + public sealed class GetDedicatedClustersDedicatedClusterSetResult + { + /// + /// Number of available CPUs. + /// + public readonly int? CpuAvailable; + /// + /// Cpu total. + /// + public readonly int? CpuTotal; + /// + /// Dedicated cluster ID. + /// + public readonly string? DedicatedClusterId; + /// + /// Disk availability. + /// + public readonly int? DiskAvailable; + /// + /// Total number of disks. + /// + public readonly int? DiskTotal; + /// + /// Instance count. + /// + public readonly int? InstanceCount; + /// + /// Available Memory. + /// + public readonly int? MemAvailable; + /// + /// Total amount of memory. + /// + public readonly int? MemTotal; + /// + /// Filter name. + /// + public readonly string? Name; + /// + /// Disaster recovery cluster. + /// + public readonly ImmutableArray StandbyDedicatedClusterSets; + /// + /// Zone. + /// + public readonly string? Zone; + + [OutputConstructor] + private GetDedicatedClustersDedicatedClusterSetResult( + int? cpuAvailable, + + int? cpuTotal, + + string? dedicatedClusterId, + + int? diskAvailable, + + int? diskTotal, + + int? instanceCount, + + int? memAvailable, + + int? memTotal, + + string? name, + + ImmutableArray standbyDedicatedClusterSets, + + string? zone) + { + CpuAvailable = cpuAvailable; + CpuTotal = cpuTotal; + DedicatedClusterId = dedicatedClusterId; + DiskAvailable = diskAvailable; + DiskTotal = diskTotal; + InstanceCount = instanceCount; + MemAvailable = memAvailable; + MemTotal = memTotal; + Name = name; + StandbyDedicatedClusterSets = standbyDedicatedClusterSets; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersFilterResult.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersFilterResult.cs new file mode 100644 index 000000000..58a3d2130 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/GetDedicatedClustersFilterResult.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.Postgresql.Outputs +{ + + [OutputType] + public sealed class GetDedicatedClustersFilterResult + { + /// + /// Filter name. + /// + public readonly string? Name; + /// + /// Filter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetDedicatedClustersFilterResult( + string? name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/InstanceDbNodeSet.cs b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/InstanceDbNodeSet.cs index 6c866fd51..b9848bfcd 100644 --- a/sdk/dotnet/Tencentcloud/Postgresql/Outputs/InstanceDbNodeSet.cs +++ b/sdk/dotnet/Tencentcloud/Postgresql/Outputs/InstanceDbNodeSet.cs @@ -14,6 +14,10 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql.Outputs [OutputType] public sealed class InstanceDbNodeSet { + /// + /// Dedicated cluster ID. + /// + public readonly string? DedicatedClusterId; /// /// Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. /// @@ -25,10 +29,13 @@ public sealed class InstanceDbNodeSet [OutputConstructor] private InstanceDbNodeSet( + string? dedicatedClusterId, + string? role, string zone) { + DedicatedClusterId = dedicatedClusterId; Role = role; Zone = zone; } diff --git a/sdk/dotnet/Tencentcloud/Postgresql/ReadonlyInstance.cs b/sdk/dotnet/Tencentcloud/Postgresql/ReadonlyInstance.cs index 6d5452af9..d27dbef4d 100644 --- a/sdk/dotnet/Tencentcloud/Postgresql/ReadonlyInstance.cs +++ b/sdk/dotnet/Tencentcloud/Postgresql/ReadonlyInstance.cs @@ -15,6 +15,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// /// ## Example Usage /// + /// ### Create postgresql readonly instance + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; @@ -48,7 +50,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// ChargeType = "POSTPAID_BY_HOUR", /// VpcId = vpc.Id, /// SubnetId = subnet.Id, - /// EngineVersion = "10.4", + /// DbMajorVersion = "10", /// RootUser = "root123", /// RootPassword = "Root123$", /// Charset = "UTF8", @@ -62,6 +64,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// }, /// }); /// + /// // create postgresql readonly group /// var exampleReadonlyGroup = new Tencentcloud.Postgresql.ReadonlyGroup("exampleReadonlyGroup", new() /// { /// MasterDbInstanceId = exampleInstance.Id, @@ -86,13 +89,128 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// }, /// }); /// + /// // create postgresql readonly instance + /// var exampleReadonlyInstance = new Tencentcloud.Postgresql.ReadonlyInstance("exampleReadonlyInstance", new() + /// { + /// ReadOnlyGroupId = exampleReadonlyGroup.Id, + /// MasterDbInstanceId = exampleInstance.Id, + /// Zone = availabilityZone, + /// AutoRenewFlag = 0, + /// DbVersion = "10.23", + /// InstanceChargeType = "POSTPAID_BY_HOUR", + /// Memory = 4, + /// Cpu = 2, + /// Storage = 250, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// NeedSupportIpv6 = 0, + /// ProjectId = 0, + /// SecurityGroupsIds = new[] + /// { + /// exampleGroup.Id, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create postgresql readonly instance of CDC + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create postgresql + /// var exampleInstance = new Tencentcloud.Postgresql.Instance("exampleInstance", new() + /// { + /// AvailabilityZone = availabilityZone, + /// ChargeType = "POSTPAID_BY_HOUR", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// DbMajorVersion = "10", + /// RootUser = "root123", + /// RootPassword = "Root123$", + /// Charset = "UTF8", + /// ProjectId = 0, + /// Memory = 2, + /// Cpu = 1, + /// Storage = 10, + /// DbNodeSets = new[] + /// { + /// new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs + /// { + /// Role = "Primary", + /// Zone = availabilityZone, + /// DedicatedClusterId = "cluster-262n63e8", + /// }, + /// new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs + /// { + /// Zone = availabilityZone, + /// DedicatedClusterId = "cluster-262n63e8", + /// }, + /// }, + /// Tags = + /// { + /// { "CreateBy", "terraform" }, + /// }, + /// }); + /// + /// // create postgresql readonly group + /// var exampleReadonlyGroup = new Tencentcloud.Postgresql.ReadonlyGroup("exampleReadonlyGroup", new() + /// { + /// MasterDbInstanceId = exampleInstance.Id, + /// ProjectId = 0, + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// ReplayLagEliminate = 1, + /// ReplayLatencyEliminate = 1, + /// MaxReplayLag = 100, + /// MaxReplayLatency = 512, + /// MinDelayEliminateReserve = 1, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "sg desc.", + /// ProjectId = 0, + /// Tags = + /// { + /// { "CreateBy", "terraform" }, + /// }, + /// }); + /// + /// // create postgresql readonly instance /// var exampleReadonlyInstance = new Tencentcloud.Postgresql.ReadonlyInstance("exampleReadonlyInstance", new() /// { /// ReadOnlyGroupId = exampleReadonlyGroup.Id, /// MasterDbInstanceId = exampleInstance.Id, /// Zone = availabilityZone, /// AutoRenewFlag = 0, - /// DbVersion = "10.4", + /// DbVersion = "10.23", /// InstanceChargeType = "POSTPAID_BY_HOUR", /// Memory = 4, /// Cpu = 2, @@ -101,6 +219,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// SubnetId = subnet.Id, /// NeedSupportIpv6 = 0, /// ProjectId = 0, + /// DedicatedClusterId = "cluster-262n63e8", /// SecurityGroupsIds = new[] /// { /// exampleGroup.Id, @@ -116,7 +235,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// postgresql readonly instance can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example instance_id + /// $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example pgro-gih5m0ke /// ``` /// [TencentcloudResourceType("tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance")] @@ -152,6 +271,12 @@ public partial class ReadonlyInstance : global::Pulumi.CustomResource [Output("dbVersion")] public Output DbVersion { get; private set; } = null!; + /// + /// Dedicated cluster ID. + /// + [Output("dedicatedClusterId")] + public Output DedicatedClusterId { get; private set; } = null!; + /// /// instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). /// @@ -325,6 +450,12 @@ public sealed class ReadonlyInstanceArgs : global::Pulumi.ResourceArgs [Input("dbVersion", required: true)] public Input DbVersion { get; set; } = null!; + /// + /// Dedicated cluster ID. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). /// @@ -459,6 +590,12 @@ public sealed class ReadonlyInstanceState : global::Pulumi.ResourceArgs [Input("dbVersion")] public Input? DbVersion { get; set; } + /// + /// Dedicated cluster ID. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). /// diff --git a/sdk/dotnet/Tencentcloud/PrivateDns/Record.cs b/sdk/dotnet/Tencentcloud/PrivateDns/Record.cs index 2ab1d6ec5..a48cfe271 100644 --- a/sdk/dotnet/Tencentcloud/PrivateDns/Record.cs +++ b/sdk/dotnet/Tencentcloud/PrivateDns/Record.cs @@ -24,11 +24,13 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns /// /// return await Deployment.RunAsync(() => /// { + /// // create vpc /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", /// }); /// + /// // create private dns zone /// var exampleZone = new Tencentcloud.PrivateDns.Zone("exampleZone", new() /// { /// Domain = "domain.com", @@ -49,6 +51,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.PrivateDns /// }, /// }); /// + /// // create private dns record /// var exampleRecord = new Tencentcloud.PrivateDns.Record("exampleRecord", new() /// { /// ZoneId = exampleZone.Id, @@ -82,7 +85,7 @@ public partial class Record : global::Pulumi.CustomResource public Output Mx { get; private set; } = null!; /// - /// Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + /// Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. /// [Output("recordType")] public Output RecordType { get; private set; } = null!; @@ -94,7 +97,7 @@ public partial class Record : global::Pulumi.CustomResource public Output RecordValue { get; private set; } = null!; /// - /// Subdomain, such as "www", "m", and "@". + /// Subdomain, such as `www`, `m`, and `@`. /// [Output("subDomain")] public Output SubDomain { get; private set; } = null!; @@ -171,7 +174,7 @@ public sealed class RecordArgs : global::Pulumi.ResourceArgs public Input? Mx { get; set; } /// - /// Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + /// Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. /// [Input("recordType", required: true)] public Input RecordType { get; set; } = null!; @@ -183,7 +186,7 @@ public sealed class RecordArgs : global::Pulumi.ResourceArgs public Input RecordValue { get; set; } = null!; /// - /// Subdomain, such as "www", "m", and "@". + /// Subdomain, such as `www`, `m`, and `@`. /// [Input("subDomain", required: true)] public Input SubDomain { get; set; } = null!; @@ -221,7 +224,7 @@ public sealed class RecordState : global::Pulumi.ResourceArgs public Input? Mx { get; set; } /// - /// Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + /// Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. /// [Input("recordType")] public Input? RecordType { get; set; } @@ -233,7 +236,7 @@ public sealed class RecordState : global::Pulumi.ResourceArgs public Input? RecordValue { get; set; } /// - /// Subdomain, such as "www", "m", and "@". + /// Subdomain, such as `www`, `m`, and `@`. /// [Input("subDomain")] public Input? SubDomain { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Provider.cs b/sdk/dotnet/Tencentcloud/Provider.cs index 9e685fc14..388a68b4f 100644 --- a/sdk/dotnet/Tencentcloud/Provider.cs +++ b/sdk/dotnet/Tencentcloud/Provider.cs @@ -19,6 +19,19 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud [TencentcloudResourceType("pulumi:providers:tencentcloud")] public partial class Provider : global::Pulumi.ProviderResource { + /// + /// The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + /// + [Output("camRoleName")] + public Output CamRoleName { get; private set; } = null!; + + /// + /// The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + /// `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + /// + [Output("cosDomain")] + public Output CosDomain { get; private set; } = null!; + /// /// The root domain of the API request, Default is `tencentcloudapi.com`. /// @@ -39,22 +52,20 @@ public partial class Provider : global::Pulumi.ProviderResource public Output Protocol { get; private set; } = null!; /// - /// This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - /// environment variables. The default input value is ap-guangzhou. + /// This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + /// default input value is ap-guangzhou. /// [Output("region")] public Output Region { get; private set; } = null!; /// - /// This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - /// environment variable. + /// This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. /// [Output("secretId")] public Output SecretId { get; private set; } = null!; /// - /// This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - /// environment variable. + /// This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. /// [Output("secretKey")] public Output SecretKey { get; private set; } = null!; @@ -114,12 +125,45 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs [Input("assumeRole", json: true)] public Input? AssumeRole { get; set; } + /// + /// The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied + /// credentials. + /// + [Input("assumeRoleWithSaml", json: true)] + public Input? AssumeRoleWithSaml { get; set; } + + /// + /// The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied + /// credentials. + /// + [Input("assumeRoleWithWebIdentity", json: true)] + public Input? AssumeRoleWithWebIdentity { get; set; } + + /// + /// The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + /// + [Input("camRoleName")] + public Input? CamRoleName { get; set; } + + /// + /// The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + /// `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + /// + [Input("cosDomain")] + public Input? CosDomain { get; set; } + /// /// The root domain of the API request, Default is `tencentcloudapi.com`. /// [Input("domain")] public Input? Domain { get; set; } + /// + /// Whether to enable pod oidc. + /// + [Input("enablePodOidc", json: true)] + public Input? EnablePodOidc { get; set; } + /// /// The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment /// variable. If not set, the default profile created with `tccli configure` will be used. @@ -134,15 +178,14 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs public Input? Protocol { get; set; } /// - /// This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - /// environment variables. The default input value is ap-guangzhou. + /// This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + /// default input value is ap-guangzhou. /// [Input("region")] public Input? Region { get; set; } /// - /// This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - /// environment variable. + /// This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. /// [Input("secretId")] public Input? SecretId { get; set; } @@ -151,8 +194,7 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs private Input? _secretKey; /// - /// This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - /// environment variable. + /// This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. /// public Input? SecretKey { diff --git a/sdk/dotnet/Tencentcloud/Redis/GetClusters.cs b/sdk/dotnet/Tencentcloud/Redis/GetClusters.cs new file mode 100644 index 000000000..e35a76598 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Redis/GetClusters.cs @@ -0,0 +1,362 @@ +// *** 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.Redis +{ + public static class GetClusters + { + /// + /// Use this data source to query detailed information of redis clusters + /// + /// ## Example Usage + /// + /// ### Query all instance + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var clusters = Tencentcloud.Redis.GetClusters.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Also Support the following query conditions + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var clusters = Tencentcloud.Redis.GetClusters.Invoke(new() + /// { + /// AutoRenewFlags = new[] + /// { + /// 0, + /// 1, + /// 2, + /// }, + /// ClusterName = "crs-cdc-9nyfki8h", + /// DedicatedClusterId = "cluster-0astoh6a", + /// ProjectIds = new[] + /// { + /// 0, + /// 1, + /// }, + /// RedisClusterIds = new[] + /// { + /// "crs-cdc-9nyfki8h", + /// }, + /// Statuses = new[] + /// { + /// 0, + /// 1, + /// 2, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetClustersArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Redis/getClusters:getClusters", args ?? new GetClustersArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of redis clusters + /// + /// ## Example Usage + /// + /// ### Query all instance + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var clusters = Tencentcloud.Redis.GetClusters.Invoke(); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Also Support the following query conditions + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var clusters = Tencentcloud.Redis.GetClusters.Invoke(new() + /// { + /// AutoRenewFlags = new[] + /// { + /// 0, + /// 1, + /// 2, + /// }, + /// ClusterName = "crs-cdc-9nyfki8h", + /// DedicatedClusterId = "cluster-0astoh6a", + /// ProjectIds = new[] + /// { + /// 0, + /// 1, + /// }, + /// RedisClusterIds = new[] + /// { + /// "crs-cdc-9nyfki8h", + /// }, + /// Statuses = new[] + /// { + /// 0, + /// 1, + /// 2, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetClustersInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Redis/getClusters:getClusters", args ?? new GetClustersInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClustersArgs : global::Pulumi.InvokeArgs + { + [Input("autoRenewFlags")] + private List? _autoRenewFlags; + + /// + /// Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + /// + public List AutoRenewFlags + { + get => _autoRenewFlags ?? (_autoRenewFlags = new List()); + set => _autoRenewFlags = value; + } + + /// + /// Cluster name. + /// + [Input("clusterName")] + public string? ClusterName { get; set; } + + /// + /// Dedicated cluster Id. + /// + [Input("dedicatedClusterId")] + public string? DedicatedClusterId { get; set; } + + [Input("projectIds")] + private List? _projectIds; + + /// + /// Project Ids. + /// + public List ProjectIds + { + get => _projectIds ?? (_projectIds = new List()); + set => _projectIds = value; + } + + [Input("redisClusterIds")] + private List? _redisClusterIds; + + /// + /// Redis Cluster Ids. + /// + public List RedisClusterIds + { + get => _redisClusterIds ?? (_redisClusterIds = new List()); + set => _redisClusterIds = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + [Input("statuses")] + private List? _statuses; + + /// + /// Cluster status: 1- In process, 2- Running, 3- Isolated. + /// + public List Statuses + { + get => _statuses ?? (_statuses = new List()); + set => _statuses = value; + } + + public GetClustersArgs() + { + } + public static new GetClustersArgs Empty => new GetClustersArgs(); + } + + public sealed class GetClustersInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("autoRenewFlags")] + private InputList? _autoRenewFlags; + + /// + /// Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + /// + public InputList AutoRenewFlags + { + get => _autoRenewFlags ?? (_autoRenewFlags = new InputList()); + set => _autoRenewFlags = value; + } + + /// + /// Cluster name. + /// + [Input("clusterName")] + public Input? ClusterName { get; set; } + + /// + /// Dedicated cluster Id. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + + [Input("projectIds")] + private InputList? _projectIds; + + /// + /// Project Ids. + /// + public InputList ProjectIds + { + get => _projectIds ?? (_projectIds = new InputList()); + set => _projectIds = value; + } + + [Input("redisClusterIds")] + private InputList? _redisClusterIds; + + /// + /// Redis Cluster Ids. + /// + public InputList RedisClusterIds + { + get => _redisClusterIds ?? (_redisClusterIds = new InputList()); + set => _redisClusterIds = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + [Input("statuses")] + private InputList? _statuses; + + /// + /// Cluster status: 1- In process, 2- Running, 3- Isolated. + /// + public InputList Statuses + { + get => _statuses ?? (_statuses = new InputList()); + set => _statuses = value; + } + + public GetClustersInvokeArgs() + { + } + public static new GetClustersInvokeArgs Empty => new GetClustersInvokeArgs(); + } + + + [OutputType] + public sealed class GetClustersResult + { + /// + /// Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + /// + public readonly ImmutableArray AutoRenewFlags; + /// + /// Cluster name. + /// + public readonly string? ClusterName; + /// + /// Dedicated cluster Id. + /// + public readonly string? DedicatedClusterId; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly ImmutableArray ProjectIds; + public readonly ImmutableArray RedisClusterIds; + /// + /// . + /// + public readonly ImmutableArray Resources; + public readonly string? ResultOutputFile; + /// + /// Cluster status: 1- In process, 2- Running, 3- Isolated. + /// + public readonly ImmutableArray Statuses; + + [OutputConstructor] + private GetClustersResult( + ImmutableArray autoRenewFlags, + + string? clusterName, + + string? dedicatedClusterId, + + string id, + + ImmutableArray projectIds, + + ImmutableArray redisClusterIds, + + ImmutableArray resources, + + string? resultOutputFile, + + ImmutableArray statuses) + { + AutoRenewFlags = autoRenewFlags; + ClusterName = clusterName; + DedicatedClusterId = dedicatedClusterId; + Id = id; + ProjectIds = projectIds; + RedisClusterIds = redisClusterIds; + Resources = resources; + ResultOutputFile = resultOutputFile; + Statuses = statuses; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Redis/Instance.cs b/sdk/dotnet/Tencentcloud/Redis/Instance.cs index be9d8e431..d1cae7cb4 100644 --- a/sdk/dotnet/Tencentcloud/Redis/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Redis/Instance.cs @@ -48,11 +48,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Redis /// CidrBlock = "10.0.1.0/24", /// }); /// - /// var foo = new Tencentcloud.Redis.Instance("foo", new() + /// var example = new Tencentcloud.Redis.Instance("example", new() /// { /// AvailabilityZone = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.Zone), /// TypeId = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.TypeId), - /// Password = "test12345789", + /// Password = "Password@123", /// MemSize = 8192, /// RedisShardNum = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.RedisShardNums[0]), /// RedisReplicasNum = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.RedisReplicasNums[0]), @@ -65,12 +65,65 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Redis /// ``` /// <!--End PulumiCodeChooser --> /// + /// ### Create a CDC scenario instance + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var cdcId = config.Get("cdcId") ?? "cluster-xxxx"; + /// var clusters = Tencentcloud.Redis.GetClusters.Invoke(new() + /// { + /// DedicatedClusterId = cdcId, + /// }); + /// + /// var zone = Tencentcloud.Redis.GetZoneConfig.Invoke(new() + /// { + /// TypeId = 7, + /// Region = "ap-guangzhou", + /// }); + /// + /// var subnets = Tencentcloud.Vpc.GetSubnets.Invoke(new() + /// { + /// CdcId = cdcId, + /// }); + /// + /// var example = new Tencentcloud.Redis.Instance("example", new() + /// { + /// AvailabilityZone = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.Zone), + /// TypeId = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.TypeId), + /// Password = "Password@123", + /// MemSize = 8192, + /// RedisShardNum = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.RedisShardNums[0]), + /// RedisReplicasNum = zone.Apply(getZoneConfigResult => getZoneConfigResult.Lists[0]?.RedisReplicasNums[0]), + /// Port = 6379, + /// VpcId = subnets.Apply(getSubnetsResult => getSubnetsResult.InstanceLists[0]?.VpcId), + /// SubnetId = subnets.Apply(getSubnetsResult => getSubnetsResult.InstanceLists[0]?.SubnetId), + /// ProductVersion = "cdc", + /// RedisClusterId = clusters.Apply(getClustersResult => getClustersResult.Resources[0]?.RedisClusterId), + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["name"] = clusters.Apply(getClustersResult => getClustersResult.Resources[0]?.RedisClusterId), + /// }; + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// /// ## Import /// /// Redis instance can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Redis/instance:Instance redislab redis-id + /// $ pulumi import tencentcloud:Redis/instance:Instance example crs-iu22tdrf /// ``` /// [TencentcloudResourceType("tencentcloud:Redis/instance:Instance")] @@ -100,6 +153,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("createTime")] public Output CreateTime { get; private set; } = null!; + /// + /// Dedicated Cluster ID. + /// + [Output("dedicatedClusterId")] + public Output DedicatedClusterId { get; private set; } = null!; + /// /// Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. /// @@ -166,6 +225,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("prepaidPeriod")] public Output PrepaidPeriod { get; private set; } = null!; + /// + /// Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + /// + [Output("productVersion")] + public Output ProductVersion { get; private set; } = null!; + /// /// Specifies which project the instance should belong to. /// @@ -178,6 +243,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("recycle")] public Output Recycle { get; private set; } = null!; + /// + /// Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. + /// + [Output("redisClusterId")] + public Output RedisClusterId { get; private set; } = null!; + /// /// The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. /// @@ -389,6 +460,12 @@ public Input? Password [Input("prepaidPeriod")] public Input? PrepaidPeriod { get; set; } + /// + /// Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + /// + [Input("productVersion")] + public Input? ProductVersion { get; set; } + /// /// Specifies which project the instance should belong to. /// @@ -401,6 +478,12 @@ public Input? Password [Input("recycle")] public Input? Recycle { get; set; } + /// + /// Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. + /// + [Input("redisClusterId")] + public Input? RedisClusterId { get; set; } + /// /// The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. /// @@ -517,6 +600,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("createTime")] public Input? CreateTime { get; set; } + /// + /// Dedicated Cluster ID. + /// + [Input("dedicatedClusterId")] + public Input? DedicatedClusterId { get; set; } + /// /// Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. /// @@ -599,6 +688,12 @@ public Input? Password [Input("prepaidPeriod")] public Input? PrepaidPeriod { get; set; } + /// + /// Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + /// + [Input("productVersion")] + public Input? ProductVersion { get; set; } + /// /// Specifies which project the instance should belong to. /// @@ -611,6 +706,12 @@ public Input? Password [Input("recycle")] public Input? Recycle { get; set; } + /// + /// Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. + /// + [Input("redisClusterId")] + public Input? RedisClusterId { get; set; } + /// /// The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. /// diff --git a/sdk/dotnet/Tencentcloud/Redis/LogDelivery.cs b/sdk/dotnet/Tencentcloud/Redis/LogDelivery.cs new file mode 100644 index 000000000..99ed0a980 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Redis/LogDelivery.cs @@ -0,0 +1,307 @@ +// *** 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.Redis +{ + /// + /// Provides a resource to create Redis instance log delivery land set its attributes. + /// + /// > **NOTE:** When you use an existing cls logset and topic to enable logging, there is no need to set parameters such + /// as `period`, `create_index`, `log_region`, etc. + /// + /// ## Example Usage + /// + /// ### Use cls logset and topic which existed + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var delivery = new Tencentcloud.Redis.LogDelivery("delivery", new() + /// { + /// InstanceId = "crs-dmjj8en7", + /// LogsetId = "cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + /// TopicId = "5c2333e9-0bab-41fd-9f75-c602b3f9545f", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Use exist cls logset and create new topic + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var delivery = new Tencentcloud.Redis.LogDelivery("delivery", new() + /// { + /// CreateIndex = true, + /// InstanceId = "crs-dmjj8en7", + /// LogsetId = "cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + /// Period = 20, + /// TopicName = "test13", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create new cls logset and topic + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var delivery = new Tencentcloud.Redis.LogDelivery("delivery", new() + /// { + /// CreateIndex = true, + /// InstanceId = "crs-dmjj8en7", + /// LogRegion = "ap-guangzhou", + /// LogsetName = "test", + /// Period = 20, + /// TopicName = "test", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// Redis log delivery can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Redis/logDelivery:LogDelivery delivery crs-dmjj8en7 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Redis/logDelivery:LogDelivery")] + public partial class LogDelivery : global::Pulumi.CustomResource + { + /// + /// Whether to create an index when creating a log topic. + /// + [Output("createIndex")] + public Output CreateIndex { get; private set; } = null!; + + /// + /// Instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// The region where the log set is located; if not specified, the region where the instance is located will be used by default. + /// + [Output("logRegion")] + public Output LogRegion { get; private set; } = null!; + + /// + /// The ID of the log set being delivered. + /// + [Output("logsetId")] + public Output LogsetId { get; private set; } = null!; + + /// + /// Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + /// + [Output("logsetName")] + public Output LogsetName { get; private set; } = null!; + + /// + /// Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + /// + [Output("period")] + public Output Period { get; private set; } = null!; + + /// + /// The ID of the topic being delivered. + /// + [Output("topicId")] + public Output TopicId { get; private set; } = null!; + + /// + /// Log topic name, required when TopicId is empty, a new log topic will be automatically created. + /// + [Output("topicName")] + public Output TopicName { get; private set; } = null!; + + + /// + /// Create a LogDelivery 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 LogDelivery(string name, LogDeliveryArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Redis/logDelivery:LogDelivery", name, args ?? new LogDeliveryArgs(), MakeResourceOptions(options, "")) + { + } + + private LogDelivery(string name, Input id, LogDeliveryState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Redis/logDelivery:LogDelivery", 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 LogDelivery 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 LogDelivery Get(string name, Input id, LogDeliveryState? state = null, CustomResourceOptions? options = null) + { + return new LogDelivery(name, id, state, options); + } + } + + public sealed class LogDeliveryArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to create an index when creating a log topic. + /// + [Input("createIndex")] + public Input? CreateIndex { get; set; } + + /// + /// Instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// The region where the log set is located; if not specified, the region where the instance is located will be used by default. + /// + [Input("logRegion")] + public Input? LogRegion { get; set; } + + /// + /// The ID of the log set being delivered. + /// + [Input("logsetId")] + public Input? LogsetId { get; set; } + + /// + /// Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + /// + [Input("logsetName")] + public Input? LogsetName { get; set; } + + /// + /// Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// The ID of the topic being delivered. + /// + [Input("topicId")] + public Input? TopicId { get; set; } + + /// + /// Log topic name, required when TopicId is empty, a new log topic will be automatically created. + /// + [Input("topicName")] + public Input? TopicName { get; set; } + + public LogDeliveryArgs() + { + } + public static new LogDeliveryArgs Empty => new LogDeliveryArgs(); + } + + public sealed class LogDeliveryState : global::Pulumi.ResourceArgs + { + /// + /// Whether to create an index when creating a log topic. + /// + [Input("createIndex")] + public Input? CreateIndex { get; set; } + + /// + /// Instance ID. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// The region where the log set is located; if not specified, the region where the instance is located will be used by default. + /// + [Input("logRegion")] + public Input? LogRegion { get; set; } + + /// + /// The ID of the log set being delivered. + /// + [Input("logsetId")] + public Input? LogsetId { get; set; } + + /// + /// Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + /// + [Input("logsetName")] + public Input? LogsetName { get; set; } + + /// + /// Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// The ID of the topic being delivered. + /// + [Input("topicId")] + public Input? TopicId { get; set; } + + /// + /// Log topic name, required when TopicId is empty, a new log topic will be automatically created. + /// + [Input("topicName")] + public Input? TopicName { get; set; } + + public LogDeliveryState() + { + } + public static new LogDeliveryState Empty => new LogDeliveryState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceBaseBundleResult.cs b/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceBaseBundleResult.cs new file mode 100644 index 000000000..fbf6cce05 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceBaseBundleResult.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.Redis.Outputs +{ + + [OutputType] + public sealed class GetClustersResourceBaseBundleResult + { + /// + /// Saleable memory, unit: GB. + /// + public readonly int AvailableMemory; + /// + /// Resource bundle count. + /// + public readonly int Count; + /// + /// Resource bundle name. + /// + public readonly string ResourceBundleName; + + [OutputConstructor] + private GetClustersResourceBaseBundleResult( + int availableMemory, + + int count, + + string resourceBundleName) + { + AvailableMemory = availableMemory; + Count = count; + ResourceBundleName = resourceBundleName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResourceBundleResult.cs b/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResourceBundleResult.cs new file mode 100644 index 000000000..df65dea8d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResourceBundleResult.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.Redis.Outputs +{ + + [OutputType] + public sealed class GetClustersResourceResourceBundleResult + { + /// + /// Saleable memory, unit: GB. + /// + public readonly int AvailableMemory; + /// + /// Resource bundle count. + /// + public readonly int Count; + /// + /// Resource bundle name. + /// + public readonly string ResourceBundleName; + + [OutputConstructor] + private GetClustersResourceResourceBundleResult( + int availableMemory, + + int count, + + string resourceBundleName) + { + AvailableMemory = availableMemory; + Count = count; + ResourceBundleName = resourceBundleName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResult.cs b/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResult.cs new file mode 100644 index 000000000..27aebaec6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Redis/Outputs/GetClustersResourceResult.cs @@ -0,0 +1,120 @@ +// *** 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.Redis.Outputs +{ + + [OutputType] + public sealed class GetClustersResourceResult + { + /// + /// User's Appid. + /// + public readonly int AppId; + /// + /// Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + /// + public readonly int AutoRenewFlag; + /// + /// Basic Control Resource Package. + /// + public readonly ImmutableArray BaseBundles; + /// + /// Cluster name. + /// + public readonly string ClusterName; + /// + /// Dedicated cluster Id. + /// + public readonly string DedicatedClusterId; + /// + /// Instance expiration time. + /// + public readonly string EndTime; + /// + /// Billing mode, 1-annual and monthly package, 0-quantity based billing. + /// + public readonly int PayMode; + /// + /// Project Id. + /// + public readonly int ProjectId; + /// + /// Redis Cluster Id. + /// + public readonly string RedisClusterId; + /// + /// Region Id. + /// + public readonly int RegionId; + /// + /// List of Resource Packages. + /// + public readonly ImmutableArray ResourceBundles; + /// + /// Instance create time. + /// + public readonly string StartTime; + /// + /// Cluster status: 1- In process, 2- Running, 3- Isolated. + /// + public readonly int Status; + /// + /// zone Id. + /// + public readonly int ZoneId; + + [OutputConstructor] + private GetClustersResourceResult( + int appId, + + int autoRenewFlag, + + ImmutableArray baseBundles, + + string clusterName, + + string dedicatedClusterId, + + string endTime, + + int payMode, + + int projectId, + + string redisClusterId, + + int regionId, + + ImmutableArray resourceBundles, + + string startTime, + + int status, + + int zoneId) + { + AppId = appId; + AutoRenewFlag = autoRenewFlag; + BaseBundles = baseBundles; + ClusterName = clusterName; + DedicatedClusterId = dedicatedClusterId; + EndTime = endTime; + PayMode = payMode; + ProjectId = projectId; + RedisClusterId = redisClusterId; + RegionId = regionId; + ResourceBundles = resourceBundles; + StartTime = startTime; + Status = status; + ZoneId = zoneId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Route/TableEntry.cs b/sdk/dotnet/Tencentcloud/Route/TableEntry.cs index 3fbcf0af1..cf4e1751c 100644 --- a/sdk/dotnet/Tencentcloud/Route/TableEntry.cs +++ b/sdk/dotnet/Tencentcloud/Route/TableEntry.cs @@ -25,34 +25,42 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Route /// return await Deployment.RunAsync(() => /// { /// var config = new Config(); - /// var availabilityZone = config.Get("availabilityZone") ?? "na-siliconvalley-1"; - /// var fooInstance = new Tencentcloud.Vpc.Instance("fooInstance", new() + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-4"; + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", /// }); /// - /// var fooTable = new Tencentcloud.Route.Table("fooTable", new() + /// // create route table + /// var exampleTable = new Tencentcloud.Route.Table("exampleTable", new() /// { - /// VpcId = fooInstance.Id, + /// VpcId = vpc.Id, /// }); /// - /// var fooSubnet_instanceInstance = new Tencentcloud.Subnet.Instance("fooSubnet/instanceInstance", new() + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() /// { - /// VpcId = fooInstance.Id, + /// VpcId = vpc.Id, /// CidrBlock = "10.0.12.0/24", /// AvailabilityZone = availabilityZone, - /// RouteTableId = fooTable.Id, + /// RouteTableId = exampleTable.Id, /// }); /// - /// var instance = new Tencentcloud.Route.TableEntry("instance", new() + /// // create route table entry + /// var exampleTableEntry = new Tencentcloud.Route.TableEntry("exampleTableEntry", new() /// { - /// RouteTableId = fooTable.Id, + /// RouteTableId = exampleTable.Id, /// DestinationCidrBlock = "10.4.4.0/24", /// NextType = "EIP", /// NextHub = "0", - /// Description = "ci-test-route-table-entry", + /// Description = "describe", /// }); /// + /// return new Dictionary<string, object?> + /// { + /// ["itemId"] = exampleTableEntry.RouteItemId, + /// }; /// }); /// ``` /// <!--End PulumiCodeChooser --> @@ -62,7 +70,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Route /// Route table entry can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Route/tableEntry:TableEntry foo 83517.rtb-mlhpg09u + /// $ pulumi import tencentcloud:Route/tableEntry:TableEntry example 3065857.rtb-b050fg94 /// ``` /// [TencentcloudResourceType("tencentcloud:Route/tableEntry:TableEntry")] @@ -98,6 +106,12 @@ public partial class TableEntry : global::Pulumi.CustomResource [Output("nextType")] public Output NextType { get; private set; } = null!; + /// + /// ID of route table entry. + /// + [Output("routeItemId")] + public Output RouteItemId { get; private set; } = null!; + /// /// ID of routing table to which this entry belongs. /// @@ -225,6 +239,12 @@ public sealed class TableEntryState : global::Pulumi.ResourceArgs [Input("nextType")] public Input? NextType { get; set; } + /// + /// ID of route table entry. + /// + [Input("routeItemId")] + public Input? RouteItemId { get; set; } + /// /// ID of routing table to which this entry belongs. /// diff --git a/sdk/dotnet/Tencentcloud/Rum/Project.cs b/sdk/dotnet/Tencentcloud/Rum/Project.cs index 4d2924b89..d7a955b26 100644 --- a/sdk/dotnet/Tencentcloud/Rum/Project.cs +++ b/sdk/dotnet/Tencentcloud/Rum/Project.cs @@ -24,15 +24,28 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Rum /// /// return await Deployment.RunAsync(() => /// { - /// var project = new Tencentcloud.Rum.Project("project", new() + /// var exampleTawInstance = new Tencentcloud.Rum.TawInstance("exampleTawInstance", new() /// { - /// Desc = "projectDesc-1", - /// EnableUrlGroup = 0, - /// InstanceId = "rum-pasZKEI3RLgakj", + /// AreaId = 1, + /// ChargeType = 1, + /// DataRetentionDays = 30, + /// InstanceName = "tf-example", + /// InstanceDesc = "desc.", + /// Tags = + /// { + /// { "createdBy", "terraform" }, + /// }, + /// }); + /// + /// var exampleProject = new Tencentcloud.Rum.Project("exampleProject", new() + /// { + /// InstanceId = exampleTawInstance.Id, /// Rate = "100", - /// Repo = "", + /// EnableUrlGroup = 0, /// Type = "web", + /// Repo = "https://github.com/xxx", /// Url = "iac-tf.com", + /// Desc = "desc.", /// }); /// /// }); @@ -44,14 +57,14 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Rum /// rum project can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Rum/project:Project project project_id + /// $ pulumi import tencentcloud:Rum/project:Project example 139422 /// ``` /// [TencentcloudResourceType("tencentcloud:Rum/project:Project")] public partial class Project : global::Pulumi.CustomResource { /// - /// Creata Time. + /// Create Time. /// [Output("createTime")] public Output CreateTime { get; private set; } = null!; @@ -244,7 +257,7 @@ public ProjectArgs() public sealed class ProjectState : global::Pulumi.ResourceArgs { /// - /// Creata Time. + /// Create Time. /// [Input("createTime")] public Input? CreateTime { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Rum/TawInstance.cs b/sdk/dotnet/Tencentcloud/Rum/TawInstance.cs index cf33a7fa6..ee8607cb1 100644 --- a/sdk/dotnet/Tencentcloud/Rum/TawInstance.cs +++ b/sdk/dotnet/Tencentcloud/Rum/TawInstance.cs @@ -24,13 +24,13 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Rum /// /// return await Deployment.RunAsync(() => /// { - /// var tawInstance = new Tencentcloud.Rum.TawInstance("tawInstance", new() + /// var example = new Tencentcloud.Rum.TawInstance("example", new() /// { /// AreaId = 1, /// ChargeType = 1, /// DataRetentionDays = 30, - /// InstanceDesc = "instanceDesc-1", - /// InstanceName = "instanceName-1", + /// InstanceDesc = "desc.", + /// InstanceName = "tf-example", /// Tags = /// { /// { "createdBy", "terraform" }, @@ -46,7 +46,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Rum /// rum taw_instance can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Rum/tawInstance:TawInstance taw_instance tawInstance_id + /// $ pulumi import tencentcloud:Rum/tawInstance:TawInstance example rum-WYsjMaiGOVXBeJ /// ``` /// [TencentcloudResourceType("tencentcloud:Rum/tawInstance:TawInstance")] diff --git a/sdk/dotnet/Tencentcloud/Ssl/Outputs/GetCertificatesCertificateResult.cs b/sdk/dotnet/Tencentcloud/Ssl/Outputs/GetCertificatesCertificateResult.cs index ce308feb4..183f5708c 100644 --- a/sdk/dotnet/Tencentcloud/Ssl/Outputs/GetCertificatesCertificateResult.cs +++ b/sdk/dotnet/Tencentcloud/Ssl/Outputs/GetCertificatesCertificateResult.cs @@ -55,6 +55,10 @@ public sealed class GetCertificatesCertificateResult /// public readonly string OrderId; /// + /// Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained. + /// + public readonly string OwnerUin; + /// /// Certificate authority. /// public readonly string ProductZhName; @@ -74,6 +78,10 @@ public sealed class GetCertificatesCertificateResult /// Type of the SSL certificate to be queried. Available values includes: `CA` and `SVR`. /// public readonly string Type; + /// + /// Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained. + /// + public readonly string ValidityPeriod; [OutputConstructor] private GetCertificatesCertificateResult( @@ -97,6 +105,8 @@ private GetCertificatesCertificateResult( string orderId, + string ownerUin, + string productZhName, int projectId, @@ -105,7 +115,9 @@ private GetCertificatesCertificateResult( ImmutableArray subjectNames, - string type) + string type, + + string validityPeriod) { BeginTime = beginTime; Cert = cert; @@ -117,11 +129,13 @@ private GetCertificatesCertificateResult( Key = key; Name = name; OrderId = orderId; + OwnerUin = ownerUin; ProductZhName = productZhName; ProjectId = projectId; Status = status; SubjectNames = subjectNames; Type = type; + ValidityPeriod = validityPeriod; } } } diff --git a/sdk/dotnet/Tencentcloud/Subnet/Instance.cs b/sdk/dotnet/Tencentcloud/Subnet/Instance.cs index 904e33b22..d87c16765 100644 --- a/sdk/dotnet/Tencentcloud/Subnet/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Subnet/Instance.cs @@ -13,12 +13,14 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Subnet /// /// Provide a resource to create a VPC subnet. /// + /// ## Example Usage + /// /// ## Import /// /// Vpc subnet instance can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Subnet/instance:Instance test subnet_id + /// $ pulumi import tencentcloud:Subnet/instance:Instance subnet subnet-b8j03v0c /// ``` /// [TencentcloudResourceType("tencentcloud:Subnet/instance:Instance")] @@ -36,6 +38,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("availableIpCount")] public Output AvailableIpCount { get; private set; } = null!; + /// + /// ID of CDC instance. + /// + [Output("cdcId")] + public Output CdcId { get; private set; } = null!; + /// /// A network address block of the subnet. /// @@ -137,6 +145,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("availabilityZone", required: true)] public Input AvailabilityZone { get; set; } = null!; + /// + /// ID of CDC instance. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// A network address block of the subnet. /// @@ -199,6 +213,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("availableIpCount")] public Input? AvailableIpCount { get; set; } + /// + /// ID of CDC instance. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// A network address block of the subnet. /// diff --git a/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs b/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs index 7210bdbc2..8ca5aa373 100644 --- a/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs +++ b/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs @@ -44,7 +44,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo /// teo acceleration_domain can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain acceleration_domain_id + /// $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain zone_id#domain_name /// ``` /// [TencentcloudResourceType("tencentcloud:Teo/accelerationDomain:AccelerationDomain")] diff --git a/sdk/dotnet/Tencentcloud/Teo/CertificateConfig.cs b/sdk/dotnet/Tencentcloud/Teo/CertificateConfig.cs index 714247653..d0ba4ec65 100644 --- a/sdk/dotnet/Tencentcloud/Teo/CertificateConfig.cs +++ b/sdk/dotnet/Tencentcloud/Teo/CertificateConfig.cs @@ -69,7 +69,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo /// teo certificate can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host#cert_id + /// $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host /// ``` /// [TencentcloudResourceType("tencentcloud:Teo/certificateConfig:CertificateConfig")] diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskArgs.cs new file mode 100644 index 000000000..9fb8746c3 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskArgs.cs @@ -0,0 +1,75 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Sudden performance. PS: During testing. + /// + [Input("burstPerformance")] + public Input? BurstPerformance { get; set; } + + /// + /// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + /// + [Input("deleteWithInstance")] + public Input? DeleteWithInstance { get; set; } + + /// + /// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + /// + [Input("diskId")] + public Input? DiskId { get; set; } + + /// + /// Size of the data disk, and unit is GB. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Decides whether the disk is encrypted. Default is `false`. + /// + [Input("encrypt")] + public Input? Encrypt { get; set; } + + /// + /// Kms key ID. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + /// + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + /// + /// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + /// + [Input("throughputPerformance")] + public Input? ThroughputPerformance { get; set; } + + public WorkspacesDataDiskArgs() + { + } + public static new WorkspacesDataDiskArgs Empty => new WorkspacesDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskGetArgs.cs new file mode 100644 index 000000000..bde6a0691 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesDataDiskGetArgs.cs @@ -0,0 +1,75 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesDataDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Sudden performance. PS: During testing. + /// + [Input("burstPerformance")] + public Input? BurstPerformance { get; set; } + + /// + /// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + /// + [Input("deleteWithInstance")] + public Input? DeleteWithInstance { get; set; } + + /// + /// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + /// + [Input("diskId")] + public Input? DiskId { get; set; } + + /// + /// Size of the data disk, and unit is GB. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + /// + /// Decides whether the disk is encrypted. Default is `false`. + /// + [Input("encrypt")] + public Input? Encrypt { get; set; } + + /// + /// Kms key ID. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + /// + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + /// + /// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + /// + [Input("throughputPerformance")] + public Input? ThroughputPerformance { get; set; } + + public WorkspacesDataDiskGetArgs() + { + } + public static new WorkspacesDataDiskGetArgs Empty => new WorkspacesDataDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceArgs.cs new file mode 100644 index 000000000..77c450dee --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + /// + [Input("automationService")] + public Input? AutomationService { get; set; } + + /// + /// Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + /// + [Input("monitorService")] + public Input? MonitorService { get; set; } + + /// + /// Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + /// + [Input("securityService")] + public Input? SecurityService { get; set; } + + public WorkspacesEnhancedServiceArgs() + { + } + public static new WorkspacesEnhancedServiceArgs Empty => new WorkspacesEnhancedServiceArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceArgs.cs new file mode 100644 index 000000000..09f8e9cce --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceAutomationServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public WorkspacesEnhancedServiceAutomationServiceArgs() + { + } + public static new WorkspacesEnhancedServiceAutomationServiceArgs Empty => new WorkspacesEnhancedServiceAutomationServiceArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceGetArgs.cs new file mode 100644 index 000000000..4f9620c5c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceAutomationServiceGetArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceAutomationServiceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public WorkspacesEnhancedServiceAutomationServiceGetArgs() + { + } + public static new WorkspacesEnhancedServiceAutomationServiceGetArgs Empty => new WorkspacesEnhancedServiceAutomationServiceGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceGetArgs.cs new file mode 100644 index 000000000..280ca3b3d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + /// + [Input("automationService")] + public Input? AutomationService { get; set; } + + /// + /// Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + /// + [Input("monitorService")] + public Input? MonitorService { get; set; } + + /// + /// Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + /// + [Input("securityService")] + public Input? SecurityService { get; set; } + + public WorkspacesEnhancedServiceGetArgs() + { + } + public static new WorkspacesEnhancedServiceGetArgs Empty => new WorkspacesEnhancedServiceGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceArgs.cs new file mode 100644 index 000000000..eace8f0db --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceMonitorServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public WorkspacesEnhancedServiceMonitorServiceArgs() + { + } + public static new WorkspacesEnhancedServiceMonitorServiceArgs Empty => new WorkspacesEnhancedServiceMonitorServiceArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceGetArgs.cs new file mode 100644 index 000000000..8537681bc --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceMonitorServiceGetArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceMonitorServiceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public WorkspacesEnhancedServiceMonitorServiceGetArgs() + { + } + public static new WorkspacesEnhancedServiceMonitorServiceGetArgs Empty => new WorkspacesEnhancedServiceMonitorServiceGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceArgs.cs new file mode 100644 index 000000000..11b3c0336 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceSecurityServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public WorkspacesEnhancedServiceSecurityServiceArgs() + { + } + public static new WorkspacesEnhancedServiceSecurityServiceArgs Empty => new WorkspacesEnhancedServiceSecurityServiceArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceGetArgs.cs new file mode 100644 index 000000000..eead06f61 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesEnhancedServiceSecurityServiceGetArgs.cs @@ -0,0 +1,27 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesEnhancedServiceSecurityServiceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public WorkspacesEnhancedServiceSecurityServiceGetArgs() + { + } + public static new WorkspacesEnhancedServiceSecurityServiceGetArgs Empty => new WorkspacesEnhancedServiceSecurityServiceGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleArgs.cs new file mode 100644 index 000000000..29346e249 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesInternetAccessibleArgs : global::Pulumi.ResourceArgs + { + /// + /// Bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. + /// + [Input("bandwidthPackageId")] + public Input? BandwidthPackageId { get; set; } + + /// + /// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. + /// + [Input("internetChargeType")] + public Input? InternetChargeType { get; set; } + + /// + /// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. + /// + [Input("internetMaxBandwidthOut")] + public Input? InternetMaxBandwidthOut { get; set; } + + /// + /// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + /// + [Input("publicIpAssigned")] + public Input? PublicIpAssigned { get; set; } + + public WorkspacesInternetAccessibleArgs() + { + } + public static new WorkspacesInternetAccessibleArgs Empty => new WorkspacesInternetAccessibleArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleGetArgs.cs new file mode 100644 index 000000000..7b2dcc122 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesInternetAccessibleGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesInternetAccessibleGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. + /// + [Input("bandwidthPackageId")] + public Input? BandwidthPackageId { get; set; } + + /// + /// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. + /// + [Input("internetChargeType")] + public Input? InternetChargeType { get; set; } + + /// + /// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. + /// + [Input("internetMaxBandwidthOut")] + public Input? InternetMaxBandwidthOut { get; set; } + + /// + /// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + /// + [Input("publicIpAssigned")] + public Input? PublicIpAssigned { get; set; } + + public WorkspacesInternetAccessibleGetArgs() + { + } + public static new WorkspacesInternetAccessibleGetArgs Empty => new WorkspacesInternetAccessibleGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsArgs.cs new file mode 100644 index 000000000..7b834b4b5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsArgs.cs @@ -0,0 +1,49 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesLoginSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("keyIds")] + private InputList? _keyIds; + + /// + /// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + /// + public InputList KeyIds + { + get => _keyIds ?? (_keyIds = new InputList()); + set => _keyIds = value; + } + + [Input("password")] + private Input? _password; + + /// + /// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public WorkspacesLoginSettingsArgs() + { + } + public static new WorkspacesLoginSettingsArgs Empty => new WorkspacesLoginSettingsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsGetArgs.cs new file mode 100644 index 000000000..ead48b926 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesLoginSettingsGetArgs.cs @@ -0,0 +1,49 @@ +// *** 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.Thpc.Inputs +{ + + public sealed class WorkspacesLoginSettingsGetArgs : global::Pulumi.ResourceArgs + { + [Input("keyIds")] + private InputList? _keyIds; + + /// + /// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + /// + public InputList KeyIds + { + get => _keyIds ?? (_keyIds = new InputList()); + set => _keyIds = value; + } + + [Input("password")] + private Input? _password; + + /// + /// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public WorkspacesLoginSettingsGetArgs() + { + } + public static new WorkspacesLoginSettingsGetArgs Empty => new WorkspacesLoginSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementArgs.cs new file mode 100644 index 000000000..adf7b4e1b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesPlacementArgs : global::Pulumi.ResourceArgs + { + /// + /// The project the instance belongs to, default to 0. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The available zone for the CVM instance. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public WorkspacesPlacementArgs() + { + } + public static new WorkspacesPlacementArgs Empty => new WorkspacesPlacementArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementGetArgs.cs new file mode 100644 index 000000000..db23c9337 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesPlacementGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesPlacementGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The project the instance belongs to, default to 0. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The available zone for the CVM instance. + /// + [Input("zone", required: true)] + public Input Zone { get; set; } = null!; + + public WorkspacesPlacementGetArgs() + { + } + public static new WorkspacesPlacementGetArgs Empty => new WorkspacesPlacementGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidArgs.cs new file mode 100644 index 000000000..3cf963004 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesSpaceChargePrepaidArgs : global::Pulumi.ResourceArgs + { + /// + /// 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`, `48`, `60`. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// 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`. + /// + [Input("renewFlag")] + public Input? RenewFlag { get; set; } + + public WorkspacesSpaceChargePrepaidArgs() + { + } + public static new WorkspacesSpaceChargePrepaidArgs Empty => new WorkspacesSpaceChargePrepaidArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidGetArgs.cs new file mode 100644 index 000000000..0ba687e8e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSpaceChargePrepaidGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesSpaceChargePrepaidGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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`, `48`, `60`. + /// + [Input("period")] + public Input? Period { get; set; } + + /// + /// 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`. + /// + [Input("renewFlag")] + public Input? RenewFlag { get; set; } + + public WorkspacesSpaceChargePrepaidGetArgs() + { + } + public static new WorkspacesSpaceChargePrepaidGetArgs Empty => new WorkspacesSpaceChargePrepaidGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskArgs.cs new file mode 100644 index 000000000..96829f688 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesSystemDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + /// + [Input("diskId")] + public Input? DiskId { get; set; } + + /// + /// Size of the system disk. unit is GB, Default is 50GB. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + public WorkspacesSystemDiskArgs() + { + } + public static new WorkspacesSystemDiskArgs Empty => new WorkspacesSystemDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskGetArgs.cs new file mode 100644 index 000000000..367e7a231 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesSystemDiskGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesSystemDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + /// + [Input("diskId")] + public Input? DiskId { get; set; } + + /// + /// Size of the system disk. unit is GB, Default is 50GB. + /// + [Input("diskSize")] + public Input? DiskSize { get; set; } + + /// + /// 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + /// + [Input("diskType")] + public Input? DiskType { get; set; } + + public WorkspacesSystemDiskGetArgs() + { + } + public static new WorkspacesSystemDiskGetArgs Empty => new WorkspacesSystemDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationArgs.cs new file mode 100644 index 000000000..4e0f8766d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesTagSpecificationArgs : global::Pulumi.ResourceArgs + { + [Input("tags", required: true)] + private InputList? _tags; + + /// + /// tags. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public WorkspacesTagSpecificationArgs() + { + } + public static new WorkspacesTagSpecificationArgs Empty => new WorkspacesTagSpecificationArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationGetArgs.cs new file mode 100644 index 000000000..2a4574fb8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesTagSpecificationGetArgs : global::Pulumi.ResourceArgs + { + [Input("tags", required: true)] + private InputList? _tags; + + /// + /// tags. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public WorkspacesTagSpecificationGetArgs() + { + } + public static new WorkspacesTagSpecificationGetArgs Empty => new WorkspacesTagSpecificationGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagArgs.cs new file mode 100644 index 000000000..1a3542a02 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesTagSpecificationTagArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public WorkspacesTagSpecificationTagArgs() + { + } + public static new WorkspacesTagSpecificationTagArgs Empty => new WorkspacesTagSpecificationTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagGetArgs.cs new file mode 100644 index 000000000..227e47082 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesTagSpecificationTagGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesTagSpecificationTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag key. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// Tag value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public WorkspacesTagSpecificationTagGetArgs() + { + } + public static new WorkspacesTagSpecificationTagGetArgs Empty => new WorkspacesTagSpecificationTagGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudArgs.cs new file mode 100644 index 000000000..f8b9f84d7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesVirtualPrivateCloudArgs : global::Pulumi.ResourceArgs + { + /// + /// Is it used as a public network gateway. + /// + [Input("asVpcGateway")] + public Input? AsVpcGateway { get; set; } + + /// + /// IPV6 address count. + /// + [Input("ipv6AddressCount")] + public Input? Ipv6AddressCount { get; set; } + + [Input("privateIpAddresses")] + private InputList? _privateIpAddresses; + + /// + /// Array of private ip address. + /// + public InputList PrivateIpAddresses + { + get => _privateIpAddresses ?? (_privateIpAddresses = new InputList()); + set => _privateIpAddresses = value; + } + + /// + /// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + /// + /// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public WorkspacesVirtualPrivateCloudArgs() + { + } + public static new WorkspacesVirtualPrivateCloudArgs Empty => new WorkspacesVirtualPrivateCloudArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudGetArgs.cs b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudGetArgs.cs new file mode 100644 index 000000000..7304ebcfd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Inputs/WorkspacesVirtualPrivateCloudGetArgs.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.Thpc.Inputs +{ + + public sealed class WorkspacesVirtualPrivateCloudGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Is it used as a public network gateway. + /// + [Input("asVpcGateway")] + public Input? AsVpcGateway { get; set; } + + /// + /// IPV6 address count. + /// + [Input("ipv6AddressCount")] + public Input? Ipv6AddressCount { get; set; } + + [Input("privateIpAddresses")] + private InputList? _privateIpAddresses; + + /// + /// Array of private ip address. + /// + public InputList PrivateIpAddresses + { + get => _privateIpAddresses ?? (_privateIpAddresses = new InputList()); + set => _privateIpAddresses = value; + } + + /// + /// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + /// + [Input("subnetId", required: true)] + public Input SubnetId { get; set; } = null!; + + /// + /// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public WorkspacesVirtualPrivateCloudGetArgs() + { + } + public static new WorkspacesVirtualPrivateCloudGetArgs Empty => new WorkspacesVirtualPrivateCloudGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesDataDisk.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesDataDisk.cs new file mode 100644 index 000000000..294a6eabe --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesDataDisk.cs @@ -0,0 +1,85 @@ +// *** 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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesDataDisk + { + /// + /// Sudden performance. PS: During testing. + /// + public readonly bool? BurstPerformance; + /// + /// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + /// + public readonly bool? DeleteWithInstance; + /// + /// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + /// + public readonly string? DiskId; + /// + /// Size of the data disk, and unit is GB. + /// + public readonly int? DiskSize; + /// + /// Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + /// + public readonly string? DiskType; + /// + /// Decides whether the disk is encrypted. Default is `false`. + /// + public readonly bool? Encrypt; + /// + /// Kms key ID. + /// + public readonly string? KmsKeyId; + /// + /// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + /// + public readonly string? SnapshotId; + /// + /// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + /// + public readonly int? ThroughputPerformance; + + [OutputConstructor] + private WorkspacesDataDisk( + bool? burstPerformance, + + bool? deleteWithInstance, + + string? diskId, + + int? diskSize, + + string? diskType, + + bool? encrypt, + + string? kmsKeyId, + + string? snapshotId, + + int? throughputPerformance) + { + BurstPerformance = burstPerformance; + DeleteWithInstance = deleteWithInstance; + DiskId = diskId; + DiskSize = diskSize; + DiskType = diskType; + Encrypt = encrypt; + KmsKeyId = kmsKeyId; + SnapshotId = snapshotId; + ThroughputPerformance = throughputPerformance; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedService.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedService.cs new file mode 100644 index 000000000..512e0f719 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedService.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesEnhancedService + { + /// + /// Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + /// + public readonly Outputs.WorkspacesEnhancedServiceAutomationService? AutomationService; + /// + /// Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + /// + public readonly Outputs.WorkspacesEnhancedServiceMonitorService? MonitorService; + /// + /// Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + /// + public readonly Outputs.WorkspacesEnhancedServiceSecurityService? SecurityService; + + [OutputConstructor] + private WorkspacesEnhancedService( + Outputs.WorkspacesEnhancedServiceAutomationService? automationService, + + Outputs.WorkspacesEnhancedServiceMonitorService? monitorService, + + Outputs.WorkspacesEnhancedServiceSecurityService? securityService) + { + AutomationService = automationService; + MonitorService = monitorService; + SecurityService = securityService; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceAutomationService.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceAutomationService.cs new file mode 100644 index 000000000..c8d7bc88e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceAutomationService.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesEnhancedServiceAutomationService + { + /// + /// Whether to enable. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private WorkspacesEnhancedServiceAutomationService(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceMonitorService.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceMonitorService.cs new file mode 100644 index 000000000..ab691df2d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceMonitorService.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesEnhancedServiceMonitorService + { + /// + /// Whether to enable. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private WorkspacesEnhancedServiceMonitorService(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceSecurityService.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceSecurityService.cs new file mode 100644 index 000000000..9f3847be6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesEnhancedServiceSecurityService.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesEnhancedServiceSecurityService + { + /// + /// Whether to enable. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private WorkspacesEnhancedServiceSecurityService(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesInternetAccessible.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesInternetAccessible.cs new file mode 100644 index 000000000..3b821411e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesInternetAccessible.cs @@ -0,0 +1,50 @@ +// *** 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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesInternetAccessible + { + /// + /// Bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. + /// + public readonly string? BandwidthPackageId; + /// + /// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. + /// + public readonly string? InternetChargeType; + /// + /// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. + /// + public readonly int? InternetMaxBandwidthOut; + /// + /// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + /// + public readonly bool? PublicIpAssigned; + + [OutputConstructor] + private WorkspacesInternetAccessible( + string? bandwidthPackageId, + + string? internetChargeType, + + int? internetMaxBandwidthOut, + + bool? publicIpAssigned) + { + BandwidthPackageId = bandwidthPackageId; + InternetChargeType = internetChargeType; + InternetMaxBandwidthOut = internetMaxBandwidthOut; + PublicIpAssigned = publicIpAssigned; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesLoginSettings.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesLoginSettings.cs new file mode 100644 index 000000000..b01f582db --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesLoginSettings.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesLoginSettings + { + /// + /// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + /// + public readonly ImmutableArray KeyIds; + /// + /// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + /// + public readonly string? Password; + + [OutputConstructor] + private WorkspacesLoginSettings( + ImmutableArray keyIds, + + string? password) + { + KeyIds = keyIds; + Password = password; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesPlacement.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesPlacement.cs new file mode 100644 index 000000000..cc21a7426 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesPlacement.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesPlacement + { + /// + /// The project the instance belongs to, default to 0. + /// + public readonly int? ProjectId; + /// + /// The available zone for the CVM instance. + /// + public readonly string Zone; + + [OutputConstructor] + private WorkspacesPlacement( + int? projectId, + + string zone) + { + ProjectId = projectId; + Zone = zone; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSpaceChargePrepaid.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSpaceChargePrepaid.cs new file mode 100644 index 000000000..f80feef0a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSpaceChargePrepaid.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesSpaceChargePrepaid + { + /// + /// 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`, `48`, `60`. + /// + public readonly int? Period; + /// + /// 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 readonly string? RenewFlag; + + [OutputConstructor] + private WorkspacesSpaceChargePrepaid( + int? period, + + string? renewFlag) + { + Period = period; + RenewFlag = renewFlag; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSystemDisk.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSystemDisk.cs new file mode 100644 index 000000000..b74ed46bc --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesSystemDisk.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesSystemDisk + { + /// + /// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + /// + public readonly string? DiskId; + /// + /// Size of the system disk. unit is GB, Default is 50GB. + /// + public readonly int? DiskSize; + /// + /// 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + /// + public readonly string? DiskType; + + [OutputConstructor] + private WorkspacesSystemDisk( + string? diskId, + + int? diskSize, + + string? diskType) + { + DiskId = diskId; + DiskSize = diskSize; + DiskType = diskType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecification.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecification.cs new file mode 100644 index 000000000..cc161b3bb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecification.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesTagSpecification + { + /// + /// tags. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private WorkspacesTagSpecification(ImmutableArray tags) + { + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecificationTag.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecificationTag.cs new file mode 100644 index 000000000..2a9474d4f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesTagSpecificationTag.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesTagSpecificationTag + { + /// + /// Tag key. + /// + public readonly string Key; + /// + /// Tag value. + /// + public readonly string Value; + + [OutputConstructor] + private WorkspacesTagSpecificationTag( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesVirtualPrivateCloud.cs b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesVirtualPrivateCloud.cs new file mode 100644 index 000000000..03cee3c89 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Outputs/WorkspacesVirtualPrivateCloud.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.Thpc.Outputs +{ + + [OutputType] + public sealed class WorkspacesVirtualPrivateCloud + { + /// + /// Is it used as a public network gateway. + /// + public readonly bool? AsVpcGateway; + /// + /// IPV6 address count. + /// + public readonly int? Ipv6AddressCount; + /// + /// Array of private ip address. + /// + public readonly ImmutableArray PrivateIpAddresses; + /// + /// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + /// + public readonly string SubnetId; + /// + /// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + /// + public readonly string VpcId; + + [OutputConstructor] + private WorkspacesVirtualPrivateCloud( + bool? asVpcGateway, + + int? ipv6AddressCount, + + ImmutableArray privateIpAddresses, + + string subnetId, + + string vpcId) + { + AsVpcGateway = asVpcGateway; + Ipv6AddressCount = ipv6AddressCount; + PrivateIpAddresses = privateIpAddresses; + SubnetId = subnetId; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Thpc/README.md b/sdk/dotnet/Tencentcloud/Thpc/README.md new file mode 100644 index 000000000..d8b61905c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Tencent Cloud resources. diff --git a/sdk/dotnet/Tencentcloud/Thpc/Workspaces.cs b/sdk/dotnet/Tencentcloud/Thpc/Workspaces.cs new file mode 100644 index 000000000..3a4621bf8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Thpc/Workspaces.cs @@ -0,0 +1,750 @@ +// *** 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.Thpc +{ + /// + /// Provides a resource to create a THPC workspaces + /// + /// > **Note:** If space_charge_type is UNDERWRITE, Not currently supported for deletion. + /// + /// ## Example Usage + /// + /// ### Create a PREPAID THPC workspaces + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-nanjing-1"; + /// var images = Tencentcloud.Images.GetInstance.Invoke(new() + /// { + /// ImageTypes = new[] + /// { + /// "PUBLIC_IMAGE", + /// }, + /// OsName = "TencentOS Server 3.1 (TK4) UEFI", + /// }); + /// + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "security group desc.", + /// Tags = + /// { + /// { "createBy", "Terraform" }, + /// }, + /// }); + /// + /// // create thpc workspaces + /// var exampleWorkspaces = new Tencentcloud.Thpc.Workspaces("exampleWorkspaces", new() + /// { + /// SpaceName = "tf-example", + /// SpaceChargeType = "PREPAID", + /// SpaceType = "96A.96XLARGE2304", + /// HpcClusterId = "hpc-l9anqcbl", + /// ImageId = images.Apply(getInstanceResult => getInstanceResult.Images[0]?.ImageId), + /// SecurityGroupIds = new[] + /// { + /// exampleGroup.Id, + /// }, + /// Placement = new Tencentcloud.Thpc.Inputs.WorkspacesPlacementArgs + /// { + /// Zone = availabilityZone, + /// ProjectId = 0, + /// }, + /// SpaceChargePrepaid = new Tencentcloud.Thpc.Inputs.WorkspacesSpaceChargePrepaidArgs + /// { + /// Period = 1, + /// RenewFlag = "NOTIFY_AND_AUTO_RENEW", + /// }, + /// SystemDisk = new Tencentcloud.Thpc.Inputs.WorkspacesSystemDiskArgs + /// { + /// DiskSize = 100, + /// DiskType = "CLOUD_HSSD", + /// }, + /// DataDisks = new[] + /// { + /// new Tencentcloud.Thpc.Inputs.WorkspacesDataDiskArgs + /// { + /// DiskSize = 200, + /// DiskType = "CLOUD_HSSD", + /// Encrypt = false, + /// }, + /// }, + /// VirtualPrivateCloud = new Tencentcloud.Thpc.Inputs.WorkspacesVirtualPrivateCloudArgs + /// { + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// AsVpcGateway = false, + /// Ipv6AddressCount = 0, + /// }, + /// InternetAccessible = new Tencentcloud.Thpc.Inputs.WorkspacesInternetAccessibleArgs + /// { + /// InternetChargeType = "TRAFFIC_POSTPAID_BY_HOUR", + /// InternetMaxBandwidthOut = 200, + /// PublicIpAssigned = true, + /// }, + /// LoginSettings = new Tencentcloud.Thpc.Inputs.WorkspacesLoginSettingsArgs + /// { + /// Password = "Password@123", + /// }, + /// EnhancedService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceArgs + /// { + /// SecurityService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceSecurityServiceArgs + /// { + /// Enabled = true, + /// }, + /// MonitorService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceMonitorServiceArgs + /// { + /// Enabled = true, + /// }, + /// AutomationService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceAutomationServiceArgs + /// { + /// Enabled = true, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### Create a UNDERWRITE THPC workspaces + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-nanjing-1"; + /// var images = Tencentcloud.Images.GetInstance.Invoke(new() + /// { + /// ImageTypes = new[] + /// { + /// "PUBLIC_IMAGE", + /// }, + /// OsName = "TencentOS Server 3.1 (TK4) UEFI", + /// }); + /// + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() + /// { + /// CidrBlock = "172.16.0.0/16", + /// }); + /// + /// // create subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// AvailabilityZone = availabilityZone, + /// VpcId = vpc.Id, + /// CidrBlock = "172.16.0.0/24", + /// IsMulticast = false, + /// }); + /// + /// // create security group + /// var exampleGroup = new Tencentcloud.Security.Group("exampleGroup", new() + /// { + /// Description = "security group desc.", + /// Tags = + /// { + /// { "createBy", "Terraform" }, + /// }, + /// }); + /// + /// // create thpc workspaces + /// var exampleWorkspaces = new Tencentcloud.Thpc.Workspaces("exampleWorkspaces", new() + /// { + /// SpaceName = "tf-example", + /// SpaceChargeType = "UNDERWRITE", + /// SpaceType = "96A.96XLARGE2304", + /// HpcClusterId = "hpc-l9anqcbl", + /// ImageId = images.Apply(getInstanceResult => getInstanceResult.Images[0]?.ImageId), + /// SecurityGroupIds = new[] + /// { + /// exampleGroup.Id, + /// }, + /// Placement = new Tencentcloud.Thpc.Inputs.WorkspacesPlacementArgs + /// { + /// Zone = availabilityZone, + /// ProjectId = 0, + /// }, + /// SpaceChargePrepaid = new Tencentcloud.Thpc.Inputs.WorkspacesSpaceChargePrepaidArgs + /// { + /// Period = 12, + /// RenewFlag = "NOTIFY_AND_AUTO_RENEW", + /// }, + /// SystemDisk = new Tencentcloud.Thpc.Inputs.WorkspacesSystemDiskArgs + /// { + /// DiskSize = 100, + /// DiskType = "CLOUD_HSSD", + /// }, + /// DataDisks = new[] + /// { + /// new Tencentcloud.Thpc.Inputs.WorkspacesDataDiskArgs + /// { + /// DiskSize = 200, + /// DiskType = "CLOUD_HSSD", + /// Encrypt = false, + /// }, + /// }, + /// VirtualPrivateCloud = new Tencentcloud.Thpc.Inputs.WorkspacesVirtualPrivateCloudArgs + /// { + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// AsVpcGateway = false, + /// Ipv6AddressCount = 0, + /// PrivateIpAddresses = new[] + /// { + /// "172.16.0.2", + /// }, + /// }, + /// InternetAccessible = new Tencentcloud.Thpc.Inputs.WorkspacesInternetAccessibleArgs + /// { + /// InternetChargeType = "BANDWIDTH_PREPAID", + /// InternetMaxBandwidthOut = 200, + /// PublicIpAssigned = true, + /// }, + /// LoginSettings = new Tencentcloud.Thpc.Inputs.WorkspacesLoginSettingsArgs + /// { + /// KeyIds = new[] + /// { + /// "skey-qxjpz7uj", + /// }, + /// }, + /// EnhancedService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceArgs + /// { + /// SecurityService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceSecurityServiceArgs + /// { + /// Enabled = true, + /// }, + /// MonitorService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceMonitorServiceArgs + /// { + /// Enabled = true, + /// }, + /// AutomationService = new Tencentcloud.Thpc.Inputs.WorkspacesEnhancedServiceAutomationServiceArgs + /// { + /// Enabled = true, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// THPC workspaces can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Thpc/workspaces:Workspaces example wks-gwg3ygz1 + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Thpc/workspaces:Workspaces")] + public partial class Workspaces : global::Pulumi.CustomResource + { + /// + /// CAM role name authorized to access. + /// + [Output("camRoleName")] + public Output CamRoleName { get; private set; } = null!; + + /// + /// A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + /// + [Output("clientToken")] + public Output ClientToken { get; private set; } = null!; + + /// + /// Workspace data disk information. + /// + [Output("dataDisks")] + public Output> DataDisks { get; private set; } = null!; + + /// + /// Placement Group ID. + /// + [Output("disasterRecoverGroupId")] + public Output DisasterRecoverGroupId { get; private set; } = null!; + + /// + /// Enhanced Services. + /// + [Output("enhancedService")] + public Output EnhancedService { get; private set; } = null!; + + /// + /// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + /// + [Output("hostName")] + public Output HostName { get; private set; } = null!; + + /// + /// Hyper Computing Cluster ID. + /// + [Output("hpcClusterId")] + public Output HpcClusterId { get; private set; } = null!; + + /// + /// Image ID. + /// + [Output("imageId")] + public Output ImageId { get; private set; } = null!; + + /// + /// Public network bandwidth settings. + /// + [Output("internetAccessible")] + public Output InternetAccessible { get; private set; } = null!; + + /// + /// Workspace Login Settings. + /// + [Output("loginSettings")] + public Output LoginSettings { get; private set; } = null!; + + /// + /// The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + /// + [Output("placement")] + public Output Placement { get; private set; } = null!; + + /// + /// CVM instance ID. + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// Workspace Security Group. + /// + [Output("securityGroupIds")] + public Output> SecurityGroupIds { get; private set; } = null!; + + /// + /// Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + /// + [Output("spaceChargePrepaid")] + public Output SpaceChargePrepaid { get; private set; } = null!; + + /// + /// Workspace billing type. + /// + [Output("spaceChargeType")] + public Output SpaceChargeType { get; private set; } = null!; + + /// + /// Workspace Display Name. + /// + [Output("spaceName")] + public Output SpaceName { get; private set; } = null!; + + /// + /// Workspace specifications. + /// + [Output("spaceType")] + public Output SpaceType { get; private set; } = null!; + + /// + /// Workspace system disk information. + /// + [Output("systemDisk")] + public Output SystemDisk { get; private set; } = null!; + + /// + /// Tag Description List. + /// + [Output("tagSpecifications")] + public Output> TagSpecifications { get; private set; } = null!; + + /// + /// User Data for Workspace. + /// + [Output("userData")] + public Output UserData { get; private set; } = null!; + + /// + /// VPC related information. + /// + [Output("virtualPrivateCloud")] + public Output VirtualPrivateCloud { get; private set; } = null!; + + + /// + /// Create a Workspaces 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 Workspaces(string name, WorkspacesArgs? args = null, CustomResourceOptions? options = null) + : base("tencentcloud:Thpc/workspaces:Workspaces", name, args ?? new WorkspacesArgs(), MakeResourceOptions(options, "")) + { + } + + private Workspaces(string name, Input id, WorkspacesState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Thpc/workspaces:Workspaces", 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 Workspaces 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 Workspaces Get(string name, Input id, WorkspacesState? state = null, CustomResourceOptions? options = null) + { + return new Workspaces(name, id, state, options); + } + } + + public sealed class WorkspacesArgs : global::Pulumi.ResourceArgs + { + /// + /// CAM role name authorized to access. + /// + [Input("camRoleName")] + public Input? CamRoleName { get; set; } + + /// + /// A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + /// + [Input("clientToken")] + public Input? ClientToken { get; set; } + + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Workspace data disk information. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// Placement Group ID. + /// + [Input("disasterRecoverGroupId")] + public Input? DisasterRecoverGroupId { get; set; } + + /// + /// Enhanced Services. + /// + [Input("enhancedService")] + public Input? EnhancedService { get; set; } + + /// + /// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + /// + [Input("hostName")] + public Input? HostName { get; set; } + + /// + /// Hyper Computing Cluster ID. + /// + [Input("hpcClusterId")] + public Input? HpcClusterId { get; set; } + + /// + /// Image ID. + /// + [Input("imageId")] + public Input? ImageId { get; set; } + + /// + /// Public network bandwidth settings. + /// + [Input("internetAccessible")] + public Input? InternetAccessible { get; set; } + + /// + /// Workspace Login Settings. + /// + [Input("loginSettings")] + public Input? LoginSettings { get; set; } + + /// + /// The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + /// + [Input("placement")] + public Input? Placement { get; set; } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Workspace Security Group. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + /// + /// Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + /// + [Input("spaceChargePrepaid")] + public Input? SpaceChargePrepaid { get; set; } + + /// + /// Workspace billing type. + /// + [Input("spaceChargeType")] + public Input? SpaceChargeType { get; set; } + + /// + /// Workspace Display Name. + /// + [Input("spaceName")] + public Input? SpaceName { get; set; } + + /// + /// Workspace specifications. + /// + [Input("spaceType")] + public Input? SpaceType { get; set; } + + /// + /// Workspace system disk information. + /// + [Input("systemDisk")] + public Input? SystemDisk { get; set; } + + [Input("tagSpecifications")] + private InputList? _tagSpecifications; + + /// + /// Tag Description List. + /// + public InputList TagSpecifications + { + get => _tagSpecifications ?? (_tagSpecifications = new InputList()); + set => _tagSpecifications = value; + } + + /// + /// User Data for Workspace. + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// VPC related information. + /// + [Input("virtualPrivateCloud")] + public Input? VirtualPrivateCloud { get; set; } + + public WorkspacesArgs() + { + } + public static new WorkspacesArgs Empty => new WorkspacesArgs(); + } + + public sealed class WorkspacesState : global::Pulumi.ResourceArgs + { + /// + /// CAM role name authorized to access. + /// + [Input("camRoleName")] + public Input? CamRoleName { get; set; } + + /// + /// A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + /// + [Input("clientToken")] + public Input? ClientToken { get; set; } + + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Workspace data disk information. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// Placement Group ID. + /// + [Input("disasterRecoverGroupId")] + public Input? DisasterRecoverGroupId { get; set; } + + /// + /// Enhanced Services. + /// + [Input("enhancedService")] + public Input? EnhancedService { get; set; } + + /// + /// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + /// + [Input("hostName")] + public Input? HostName { get; set; } + + /// + /// Hyper Computing Cluster ID. + /// + [Input("hpcClusterId")] + public Input? HpcClusterId { get; set; } + + /// + /// Image ID. + /// + [Input("imageId")] + public Input? ImageId { get; set; } + + /// + /// Public network bandwidth settings. + /// + [Input("internetAccessible")] + public Input? InternetAccessible { get; set; } + + /// + /// Workspace Login Settings. + /// + [Input("loginSettings")] + public Input? LoginSettings { get; set; } + + /// + /// The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + /// + [Input("placement")] + public Input? Placement { get; set; } + + /// + /// CVM instance ID. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// Workspace Security Group. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + /// + /// Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + /// + [Input("spaceChargePrepaid")] + public Input? SpaceChargePrepaid { get; set; } + + /// + /// Workspace billing type. + /// + [Input("spaceChargeType")] + public Input? SpaceChargeType { get; set; } + + /// + /// Workspace Display Name. + /// + [Input("spaceName")] + public Input? SpaceName { get; set; } + + /// + /// Workspace specifications. + /// + [Input("spaceType")] + public Input? SpaceType { get; set; } + + /// + /// Workspace system disk information. + /// + [Input("systemDisk")] + public Input? SystemDisk { get; set; } + + [Input("tagSpecifications")] + private InputList? _tagSpecifications; + + /// + /// Tag Description List. + /// + public InputList TagSpecifications + { + get => _tagSpecifications ?? (_tagSpecifications = new InputList()); + set => _tagSpecifications = value; + } + + /// + /// User Data for Workspace. + /// + [Input("userData")] + public Input? UserData { get; set; } + + /// + /// VPC related information. + /// + [Input("virtualPrivateCloud")] + public Input? VirtualPrivateCloud { get; set; } + + public WorkspacesState() + { + } + public static new WorkspacesState Empty => new WorkspacesState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs b/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs index bb5fa49f3..1078be881 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs @@ -54,6 +54,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Vpc [TencentcloudResourceType("tencentcloud:Vpc/endPoint:EndPoint")] public partial class EndPoint : global::Pulumi.CustomResource { + /// + /// CDC instance ID. + /// + [Output("cdcId")] + public Output CdcId { get; private set; } = null!; + /// /// Create Time. /// @@ -205,6 +211,12 @@ public EndPointArgs() public sealed class EndPointState : global::Pulumi.ResourceArgs { + /// + /// CDC instance ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// Create Time. /// diff --git a/sdk/dotnet/Tencentcloud/Vpc/EndPointService.cs b/sdk/dotnet/Tencentcloud/Vpc/EndPointService.cs index 9ada0bb84..1634371f5 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/EndPointService.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/EndPointService.cs @@ -54,6 +54,12 @@ public partial class EndPointService : global::Pulumi.CustomResource [Output("autoAcceptFlag")] public Output AutoAcceptFlag { get; private set; } = null!; + /// + /// CDC instance ID. + /// + [Output("cdcId")] + public Output CdcId { get; private set; } = null!; + /// /// Create Time. /// @@ -193,6 +199,12 @@ public sealed class EndPointServiceState : global::Pulumi.ResourceArgs [Input("autoAcceptFlag")] public Input? AutoAcceptFlag { get; set; } + /// + /// CDC instance ID. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// Create Time. /// diff --git a/sdk/dotnet/Tencentcloud/Vpc/GetSubnets.cs b/sdk/dotnet/Tencentcloud/Vpc/GetSubnets.cs index da64a6bab..57647682f 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/GetSubnets.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/GetSubnets.cs @@ -17,19 +17,20 @@ public static class GetSubnets /// /// ## Example Usage /// + /// ### Create subnet resource + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Tencentcloud = Pulumi.Tencentcloud; /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; /// /// return await Deployment.RunAsync(() => /// { /// var config = new Config(); /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; - /// var foo = new Tencentcloud.Vpc.Instance("foo", new() + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", /// }); @@ -37,7 +38,7 @@ public static class GetSubnets /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() /// { /// AvailabilityZone = availabilityZone, - /// VpcId = foo.Id, + /// VpcId = vpc.Id, /// CidrBlock = "10.0.20.0/28", /// IsMulticast = false, /// Tags = @@ -46,20 +47,31 @@ public static class GetSubnets /// }, /// }); /// - /// var idInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new() + /// var subnetCDC = new Tencentcloud.Subnet.Instance("subnetCDC", new() /// { - /// SubnetId = subnet.Id, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.0.0/16", + /// CdcId = "cluster-lchwgxhs", + /// AvailabilityZone = data.Tencentcloud_availability_zones.Zones.Zones[0].Name, + /// IsMulticast = false, /// }); /// - /// var nameInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new() - /// { - /// Name = subnet.Name, - /// }); + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> /// - /// var tagsInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new() - /// { - /// Tags = subnet.Tags, - /// }); + /// ### Query all subnets + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var subnets = Tencentcloud.Vpc.GetSubnets.Invoke(); /// /// }); /// ``` @@ -73,19 +85,20 @@ public static Task InvokeAsync(GetSubnetsArgs? args = null, In /// /// ## Example Usage /// + /// ### Create subnet resource + /// /// <!--Start PulumiCodeChooser --> /// ```csharp /// using System.Collections.Generic; /// using System.Linq; /// using Pulumi; - /// using Tencentcloud = Pulumi.Tencentcloud; /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; /// /// return await Deployment.RunAsync(() => /// { /// var config = new Config(); /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; - /// var foo = new Tencentcloud.Vpc.Instance("foo", new() + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { /// CidrBlock = "10.0.0.0/16", /// }); @@ -93,7 +106,7 @@ public static Task InvokeAsync(GetSubnetsArgs? args = null, In /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() /// { /// AvailabilityZone = availabilityZone, - /// VpcId = foo.Id, + /// VpcId = vpc.Id, /// CidrBlock = "10.0.20.0/28", /// IsMulticast = false, /// Tags = @@ -102,20 +115,31 @@ public static Task InvokeAsync(GetSubnetsArgs? args = null, In /// }, /// }); /// - /// var idInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new() + /// var subnetCDC = new Tencentcloud.Subnet.Instance("subnetCDC", new() /// { - /// SubnetId = subnet.Id, + /// VpcId = vpc.Id, + /// CidrBlock = "10.0.0.0/16", + /// CdcId = "cluster-lchwgxhs", + /// AvailabilityZone = data.Tencentcloud_availability_zones.Zones.Zones[0].Name, + /// IsMulticast = false, /// }); /// - /// var nameInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new() - /// { - /// Name = subnet.Name, - /// }); + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> /// - /// var tagsInstances = Tencentcloud.Vpc.GetSubnets.Invoke(new() - /// { - /// Tags = subnet.Tags, - /// }); + /// ### Query all subnets + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var subnets = Tencentcloud.Vpc.GetSubnets.Invoke(); /// /// }); /// ``` @@ -134,6 +158,12 @@ public sealed class GetSubnetsArgs : global::Pulumi.InvokeArgs [Input("availabilityZone")] public string? AvailabilityZone { get; set; } + /// + /// ID of CDC instance. + /// + [Input("cdcId")] + public string? CdcId { get; set; } + /// /// Filter subnet with this CIDR. /// @@ -208,6 +238,12 @@ public sealed class GetSubnetsInvokeArgs : global::Pulumi.InvokeArgs [Input("availabilityZone")] public Input? AvailabilityZone { get; set; } + /// + /// ID of CDC instance. + /// + [Input("cdcId")] + public Input? CdcId { get; set; } + /// /// Filter subnet with this CIDR. /// @@ -283,6 +319,10 @@ public sealed class GetSubnetsResult /// public readonly string? AvailabilityZone; /// + /// ID of CDC instance. + /// + public readonly string? CdcId; + /// /// A network address block of the subnet. /// public readonly string? CidrBlock; @@ -322,6 +362,8 @@ public sealed class GetSubnetsResult private GetSubnetsResult( string? availabilityZone, + string? cdcId, + string? cidrBlock, string id, @@ -345,6 +387,7 @@ private GetSubnetsResult( string? vpcId) { AvailabilityZone = availabilityZone; + CdcId = cdcId; CidrBlock = cidrBlock; Id = id; InstanceLists = instanceLists; diff --git a/sdk/dotnet/Tencentcloud/Vpc/NotifyRoutes.cs b/sdk/dotnet/Tencentcloud/Vpc/NotifyRoutes.cs index 7f78ff8f6..0e81e3483 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/NotifyRoutes.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/NotifyRoutes.cs @@ -23,7 +23,7 @@ public partial class NotifyRoutes : global::Pulumi.CustomResource /// The unique ID of the routing policy. /// [Output("routeItemIds")] - public Output> RouteItemIds { get; private set; } = null!; + public Output RouteItemIds { get; private set; } = null!; /// /// The unique ID of the routing table. @@ -78,17 +78,11 @@ public static NotifyRoutes Get(string name, Input id, NotifyRoutesState? public sealed class NotifyRoutesArgs : global::Pulumi.ResourceArgs { - [Input("routeItemIds", required: true)] - private InputList? _routeItemIds; - /// /// The unique ID of the routing policy. /// - public InputList RouteItemIds - { - get => _routeItemIds ?? (_routeItemIds = new InputList()); - set => _routeItemIds = value; - } + [Input("routeItemIds", required: true)] + public Input RouteItemIds { get; set; } = null!; /// /// The unique ID of the routing table. @@ -110,17 +104,11 @@ public sealed class NotifyRoutesState : global::Pulumi.ResourceArgs [Input("publishedToVbc")] public Input? PublishedToVbc { get; set; } - [Input("routeItemIds")] - private InputList? _routeItemIds; - /// /// The unique ID of the routing policy. /// - public InputList RouteItemIds - { - get => _routeItemIds ?? (_routeItemIds = new InputList()); - set => _routeItemIds = value; - } + [Input("routeItemIds")] + public Input? RouteItemIds { get; set; } /// /// The unique ID of the routing table. diff --git a/sdk/dotnet/Tencentcloud/Vpc/Outputs/GetSubnetsInstanceListResult.cs b/sdk/dotnet/Tencentcloud/Vpc/Outputs/GetSubnetsInstanceListResult.cs index b9a6dd8a7..c4b5c9e19 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/Outputs/GetSubnetsInstanceListResult.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/Outputs/GetSubnetsInstanceListResult.cs @@ -23,6 +23,10 @@ public sealed class GetSubnetsInstanceListResult /// public readonly int AvailableIpCount; /// + /// ID of CDC instance. + /// + public readonly string CdcId; + /// /// Filter subnet with this CIDR. /// public readonly string CidrBlock; @@ -65,6 +69,8 @@ private GetSubnetsInstanceListResult( int availableIpCount, + string cdcId, + string cidrBlock, string createTime, @@ -85,6 +91,7 @@ private GetSubnetsInstanceListResult( { AvailabilityZone = availabilityZone; AvailableIpCount = availableIpCount; + CdcId = cdcId; CidrBlock = cidrBlock; CreateTime = createTime; IsDefault = isDefault; diff --git a/sdk/dotnet/Tencentcloud/Vpc/PrivateNatGateway.cs b/sdk/dotnet/Tencentcloud/Vpc/PrivateNatGateway.cs new file mode 100644 index 000000000..b8196436b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Vpc/PrivateNatGateway.cs @@ -0,0 +1,198 @@ +// *** 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.Vpc +{ + /// + /// Provides a resource to create a vpc private nat gateway + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var privateNatGateway = new Tencentcloud.Vpc.PrivateNatGateway("privateNatGateway", new() + /// { + /// NatGatewayName = "xxx", + /// VpcId = "xxx", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// vpc private_nat_gateway can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Vpc/privateNatGateway:PrivateNatGateway private_nat_gateway private_nat_gateway_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Vpc/privateNatGateway:PrivateNatGateway")] + public partial class PrivateNatGateway : global::Pulumi.CustomResource + { + /// + /// Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + /// + [Output("ccnId")] + public Output CcnId { get; private set; } = null!; + + /// + /// Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + /// + [Output("crossDomain")] + public Output CrossDomain { get; private set; } = null!; + + /// + /// Private network gateway name. + /// + [Output("natGatewayName")] + public Output NatGatewayName { get; private set; } = null!; + + /// + /// Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + /// + /// VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + /// + [Output("vpcType")] + public Output VpcType { get; private set; } = null!; + + + /// + /// Create a PrivateNatGateway 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 PrivateNatGateway(string name, PrivateNatGatewayArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Vpc/privateNatGateway:PrivateNatGateway", name, args ?? new PrivateNatGatewayArgs(), MakeResourceOptions(options, "")) + { + } + + private PrivateNatGateway(string name, Input id, PrivateNatGatewayState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Vpc/privateNatGateway:PrivateNatGateway", 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 PrivateNatGateway 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 PrivateNatGateway Get(string name, Input id, PrivateNatGatewayState? state = null, CustomResourceOptions? options = null) + { + return new PrivateNatGateway(name, id, state, options); + } + } + + public sealed class PrivateNatGatewayArgs : global::Pulumi.ResourceArgs + { + /// + /// Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + /// + [Input("ccnId")] + public Input? CcnId { get; set; } + + /// + /// Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + /// + [Input("crossDomain")] + public Input? CrossDomain { get; set; } + + /// + /// Private network gateway name. + /// + [Input("natGatewayName", required: true)] + public Input NatGatewayName { get; set; } = null!; + + /// + /// Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + /// + [Input("vpcType")] + public Input? VpcType { get; set; } + + public PrivateNatGatewayArgs() + { + } + public static new PrivateNatGatewayArgs Empty => new PrivateNatGatewayArgs(); + } + + public sealed class PrivateNatGatewayState : global::Pulumi.ResourceArgs + { + /// + /// Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + /// + [Input("ccnId")] + public Input? CcnId { get; set; } + + /// + /// Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + /// + [Input("crossDomain")] + public Input? CrossDomain { get; set; } + + /// + /// Private network gateway name. + /// + [Input("natGatewayName")] + public Input? NatGatewayName { get; set; } + + /// + /// Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + /// + /// VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + /// + [Input("vpcType")] + public Input? VpcType { get; set; } + + public PrivateNatGatewayState() + { + } + public static new PrivateNatGatewayState Empty => new PrivateNatGatewayState(); + } +} diff --git a/sdk/go.mod b/sdk/go.mod index 11a32cb33..acf55ef0a 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,58 +1,94 @@ module github.com/tencentcloudstack/pulumi-tencentcloud/sdk -go 1.17 +go 1.21 + +toolchain go1.21.13 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pkg/errors v0.9.1 - github.com/pulumi/pulumi/sdk/v3 v3.33.1 + github.com/pulumi/pulumi/sdk/v3 v3.134.1 ) require ( - github.com/cheggaaa/pb v1.0.18 // indirect - github.com/djherbis/times v1.2.0 // indirect - github.com/emirpasic/gods v1.12.0 // indirect - github.com/gofrs/uuid v3.3.0+incompatible // indirect + dario.cat/mergo v1.0.0 // indirect + github.com/BurntSushi/toml v1.2.1 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/ProtonMail/go-crypto v1.0.0 // indirect + github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.25.0 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect + github.com/cloudflare/circl v1.3.7 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect + github.com/cyphar/filepath-securejoin v0.2.4 // indirect + github.com/djherbis/times v1.5.0 // indirect + github.com/emirpasic/gods v1.18.1 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/go-git/go-git/v5 v5.12.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect - github.com/golang/protobuf v1.4.2 // indirect + github.com/golang/glog v1.2.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect - github.com/hashicorp/errwrap v1.0.0 // indirect - github.com/hashicorp/go-multierror v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/hcl/v2 v2.17.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.8 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mitchellh/go-ps v1.0.0 // indirect - github.com/opentracing/basictracer-go v1.0.0 // indirect - github.com/opentracing/opentracing-go v1.1.0 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect + github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.2 // indirect + github.com/opentracing/basictracer-go v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pgavlin/fx v0.1.6 // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect - github.com/rogpeppe/go-internal v1.8.1 // indirect - github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 // indirect - github.com/sergi/go-diff v1.1.0 // indirect - github.com/spf13/cast v1.3.1 // indirect - github.com/spf13/cobra v1.4.0 // indirect + github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect + github.com/pulumi/esc v0.9.1 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect + github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect + github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect + github.com/skeema/knownhosts v1.2.2 // indirect + github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/src-d/gcfg v1.4.0 // indirect - github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6 // indirect - github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect - github.com/uber/jaeger-client-go v2.22.1+incompatible // indirect - github.com/uber/jaeger-lib v2.2.0+incompatible // indirect - github.com/xanzy/ssh-agent v0.2.1 // indirect - go.uber.org/atomic v1.6.0 // indirect - golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect - golang.org/x/net v0.0.0-20201021035429-f5854403a974 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/text v0.3.3 // indirect - google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482 // indirect - google.golang.org/grpc v1.29.1 // indirect - google.golang.org/protobuf v1.24.0 // indirect - gopkg.in/src-d/go-billy.v4 v4.3.2 // indirect - gopkg.in/src-d/go-git.v4 v4.13.1 // indirect + github.com/stretchr/objx v0.2.0 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/zclconf/go-cty v1.13.2 // indirect + go.uber.org/atomic v1.9.0 // indirect + golang.org/x/crypto v0.24.0 // indirect + golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/net v0.26.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/tools v0.22.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/grpc v1.63.2 // indirect + google.golang.org/protobuf v1.33.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + lukechampine.com/frand v1.4.2 // indirect ) diff --git a/sdk/go.sum b/sdk/go.sum index 84bb30a97..afc9a80e4 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -1,284 +1,314 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= +github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= +github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= +github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cheggaaa/pb v1.0.18 h1:G/DgkKaBP0V5lnBg/vx61nVxxAU+VqU5yMzSc0f2PPE= -github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.25.0 h1:bAfwk7jRz7FKFl9RzlIULPkStffg5k6pNt5dywy4TcM= +github.com/charmbracelet/bubbletea v0.25.0/go.mod h1:EN3QDR1T5ZdWmdfDzYcqOCAps45+QIJbLOBxmVNWNNg= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/djherbis/times v1.2.0 h1:xANXjsC/iBqbO00vkWlYwPWgBgEVU6m6AFYg0Pic+Mc= -github.com/djherbis/times v1.2.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= -github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= +github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= +github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/gofrs/uuid v3.3.0+incompatible h1:8K4tyRfvU1CYPgJsveYFQMhpFd/wXNM7iK6rR7UHz84= -github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= +github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= +github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= +github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= +github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1 h1:/exdXoGamhu5ONeUJH0deniYLWYvQwW66yvlfiiKTu0= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= +github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd h1:Coekwdh0v2wtGp9Gmz1Ze3eVRAWJMLokvN3QjdzCHLY= -github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.8 h1:3tS41NlGYSmhhe/8fhGRzc+z3AYCw1Fe1WAyLuujKs0= -github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI= +github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= +github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= +github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU= +github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/pulumi/pulumi/sdk/v3 v3.33.1 h1:CCJdxK91D0ycuAIBV94xmCZQXeoSdRmKwe3rEvjtrVg= -github.com/pulumi/pulumi/sdk/v3 v3.33.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0= +github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= +github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= +github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= +github.com/pulumi/pulumi/sdk/v3 v3.134.1 h1:v1zd0d+B9gpUhsdJ483YUMHwHXqDvXvZ+mh/A4HhPWg= +github.com/pulumi/pulumi/sdk/v3 v3.134.1/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 h1:G04eS0JkAIVZfaJLjla9dNxkJCPiKIGZlw9AfOhzOD0= -github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94/go.mod h1:b18R55ulyQ/h3RaWyloPyER7fWQVZvimKKhnI5OfrJQ= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= +github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= +github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= -github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6 h1:9VTskZOIRf2vKF3UL8TuWElry5pgUpV1tFSe/e/0m/E= -github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= -github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= -github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= -github.com/uber/jaeger-client-go v2.22.1+incompatible h1:NHcubEkVbahf9t3p75TOCR83gdUHXjRJvjoBh1yACsM= -github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw= -github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70= -github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a h1:CB3a9Nez8M13wwlr/E2YtwoU+qYHKfC+JrDa45RXXoQ= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482 h1:i+Aiej6cta/Frzp13/swvwz5O00kYcSe0A/C5Wd7zX8= -google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.28 h1:n1tBJnnK2r7g9OW2btFH91V92STTUevLXYFb8gy9EMk= -gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/src-d/go-billy.v4 v4.3.2 h1:0SQA1pRztfTFx2miS8sA97XvooFeNOmvUenF4o0EcVg= -gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= -gopkg.in/src-d/go-git-fixtures.v3 v3.5.0 h1:ivZFOIltbce2Mo8IjzUHAFoq/IylO9WHhNOAJK+LsJg= -gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= -gopkg.in/src-d/go-git.v4 v4.13.1 h1:SRtFyV8Kxc0UP7aCHcijOMQGPxHSmMOPrzulQWolkYE= -gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= -pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= +lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= +pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/sdk/go/tencentcloud/as/init.go b/sdk/go/tencentcloud/as/init.go index b09dab587..30adc9634 100644 --- a/sdk/go/tencentcloud/as/init.go +++ b/sdk/go/tencentcloud/as/init.go @@ -51,6 +51,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ScalingPolicy{} case "tencentcloud:As/schedule:Schedule": r = &Schedule{} + case "tencentcloud:As/startInstanceRefresh:StartInstanceRefresh": + r = &StartInstanceRefresh{} case "tencentcloud:As/startInstances:StartInstances": r = &StartInstances{} case "tencentcloud:As/stopInstances:StopInstances": @@ -143,6 +145,11 @@ func init() { "As/schedule", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "As/startInstanceRefresh", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "As/startInstances", diff --git a/sdk/go/tencentcloud/as/lifecycleHook.go b/sdk/go/tencentcloud/as/lifecycleHook.go index 833544ac5..10627aef5 100644 --- a/sdk/go/tencentcloud/as/lifecycleHook.go +++ b/sdk/go/tencentcloud/as/lifecycleHook.go @@ -176,6 +176,49 @@ import ( // // ``` // +// +// ### Use TAT Command +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/As" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := As.NewLifecycleHook(ctx, "example", &As.LifecycleHookArgs{ +// DefaultResult: pulumi.String("CONTINUE"), +// HeartbeatTimeout: pulumi.Int(300), +// LifecycleHookName: pulumi.String("test"), +// LifecycleTransition: pulumi.String("INSTANCE_TERMINATING"), +// ScalingGroupId: pulumi.Any(tencentcloud_as_scaling_group.Example.Id), +// LifecycleCommand: &as.LifecycleHookLifecycleCommandArgs{ +// CommandId: pulumi.String("cmd-xxxx"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// lifecycle hook can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:As/lifecycleHook:LifecycleHook example lifecycle_hook_id +// ``` type LifecycleHook struct { pulumi.CustomResourceState @@ -183,6 +226,8 @@ type LifecycleHook struct { DefaultResult pulumi.StringPtrOutput `pulumi:"defaultResult"` // Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. HeartbeatTimeout pulumi.IntPtrOutput `pulumi:"heartbeatTimeout"` + // Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + LifecycleCommand LifecycleHookLifecycleCommandOutput `pulumi:"lifecycleCommand"` // The name of the lifecycle hook. LifecycleHookName pulumi.StringOutput `pulumi:"lifecycleHookName"` // The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. @@ -191,7 +236,7 @@ type LifecycleHook struct { NotificationMetadata pulumi.StringPtrOutput `pulumi:"notificationMetadata"` // For CMQ_QUEUE type, a name of queue must be set. NotificationQueueName pulumi.StringPtrOutput `pulumi:"notificationQueueName"` - // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. NotificationTargetType pulumi.StringPtrOutput `pulumi:"notificationTargetType"` // For CMQ_TOPIC type, a name of topic must be set. NotificationTopicName pulumi.StringPtrOutput `pulumi:"notificationTopicName"` @@ -242,6 +287,8 @@ type lifecycleHookState struct { DefaultResult *string `pulumi:"defaultResult"` // Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. HeartbeatTimeout *int `pulumi:"heartbeatTimeout"` + // Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + LifecycleCommand *LifecycleHookLifecycleCommand `pulumi:"lifecycleCommand"` // The name of the lifecycle hook. LifecycleHookName *string `pulumi:"lifecycleHookName"` // The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. @@ -250,7 +297,7 @@ type lifecycleHookState struct { NotificationMetadata *string `pulumi:"notificationMetadata"` // For CMQ_QUEUE type, a name of queue must be set. NotificationQueueName *string `pulumi:"notificationQueueName"` - // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. NotificationTargetType *string `pulumi:"notificationTargetType"` // For CMQ_TOPIC type, a name of topic must be set. NotificationTopicName *string `pulumi:"notificationTopicName"` @@ -263,6 +310,8 @@ type LifecycleHookState struct { DefaultResult pulumi.StringPtrInput // Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. HeartbeatTimeout pulumi.IntPtrInput + // Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + LifecycleCommand LifecycleHookLifecycleCommandPtrInput // The name of the lifecycle hook. LifecycleHookName pulumi.StringPtrInput // The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. @@ -271,7 +320,7 @@ type LifecycleHookState struct { NotificationMetadata pulumi.StringPtrInput // For CMQ_QUEUE type, a name of queue must be set. NotificationQueueName pulumi.StringPtrInput - // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. NotificationTargetType pulumi.StringPtrInput // For CMQ_TOPIC type, a name of topic must be set. NotificationTopicName pulumi.StringPtrInput @@ -288,6 +337,8 @@ type lifecycleHookArgs struct { DefaultResult *string `pulumi:"defaultResult"` // Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. HeartbeatTimeout *int `pulumi:"heartbeatTimeout"` + // Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + LifecycleCommand *LifecycleHookLifecycleCommand `pulumi:"lifecycleCommand"` // The name of the lifecycle hook. LifecycleHookName string `pulumi:"lifecycleHookName"` // The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. @@ -296,7 +347,7 @@ type lifecycleHookArgs struct { NotificationMetadata *string `pulumi:"notificationMetadata"` // For CMQ_QUEUE type, a name of queue must be set. NotificationQueueName *string `pulumi:"notificationQueueName"` - // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. NotificationTargetType *string `pulumi:"notificationTargetType"` // For CMQ_TOPIC type, a name of topic must be set. NotificationTopicName *string `pulumi:"notificationTopicName"` @@ -310,6 +361,8 @@ type LifecycleHookArgs struct { DefaultResult pulumi.StringPtrInput // Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. HeartbeatTimeout pulumi.IntPtrInput + // Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + LifecycleCommand LifecycleHookLifecycleCommandPtrInput // The name of the lifecycle hook. LifecycleHookName pulumi.StringInput // The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. @@ -318,7 +371,7 @@ type LifecycleHookArgs struct { NotificationMetadata pulumi.StringPtrInput // For CMQ_QUEUE type, a name of queue must be set. NotificationQueueName pulumi.StringPtrInput - // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + // Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. NotificationTargetType pulumi.StringPtrInput // For CMQ_TOPIC type, a name of topic must be set. NotificationTopicName pulumi.StringPtrInput @@ -423,6 +476,11 @@ func (o LifecycleHookOutput) HeartbeatTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *LifecycleHook) pulumi.IntPtrOutput { return v.HeartbeatTimeout }).(pulumi.IntPtrOutput) } +// Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. +func (o LifecycleHookOutput) LifecycleCommand() LifecycleHookLifecycleCommandOutput { + return o.ApplyT(func(v *LifecycleHook) LifecycleHookLifecycleCommandOutput { return v.LifecycleCommand }).(LifecycleHookLifecycleCommandOutput) +} + // The name of the lifecycle hook. func (o LifecycleHookOutput) LifecycleHookName() pulumi.StringOutput { return o.ApplyT(func(v *LifecycleHook) pulumi.StringOutput { return v.LifecycleHookName }).(pulumi.StringOutput) @@ -443,7 +501,7 @@ func (o LifecycleHookOutput) NotificationQueueName() pulumi.StringPtrOutput { return o.ApplyT(func(v *LifecycleHook) pulumi.StringPtrOutput { return v.NotificationQueueName }).(pulumi.StringPtrOutput) } -// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. +// Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. func (o LifecycleHookOutput) NotificationTargetType() pulumi.StringPtrOutput { return o.ApplyT(func(v *LifecycleHook) pulumi.StringPtrOutput { return v.NotificationTargetType }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/tencentcloud/as/pulumiTypes.go b/sdk/go/tencentcloud/as/pulumiTypes.go index d3e854a6f..6e986a7b9 100644 --- a/sdk/go/tencentcloud/as/pulumiTypes.go +++ b/sdk/go/tencentcloud/as/pulumiTypes.go @@ -13,6 +13,162 @@ import ( var _ = internal.GetEnvOrDefault +type LifecycleHookLifecycleCommand struct { + // Remote command ID. It is required to execute a command. + CommandId string `pulumi:"commandId"` + // Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + Parameters *string `pulumi:"parameters"` +} + +// LifecycleHookLifecycleCommandInput is an input type that accepts LifecycleHookLifecycleCommandArgs and LifecycleHookLifecycleCommandOutput values. +// You can construct a concrete instance of `LifecycleHookLifecycleCommandInput` via: +// +// LifecycleHookLifecycleCommandArgs{...} +type LifecycleHookLifecycleCommandInput interface { + pulumi.Input + + ToLifecycleHookLifecycleCommandOutput() LifecycleHookLifecycleCommandOutput + ToLifecycleHookLifecycleCommandOutputWithContext(context.Context) LifecycleHookLifecycleCommandOutput +} + +type LifecycleHookLifecycleCommandArgs struct { + // Remote command ID. It is required to execute a command. + CommandId pulumi.StringInput `pulumi:"commandId"` + // Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + Parameters pulumi.StringPtrInput `pulumi:"parameters"` +} + +func (LifecycleHookLifecycleCommandArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LifecycleHookLifecycleCommand)(nil)).Elem() +} + +func (i LifecycleHookLifecycleCommandArgs) ToLifecycleHookLifecycleCommandOutput() LifecycleHookLifecycleCommandOutput { + return i.ToLifecycleHookLifecycleCommandOutputWithContext(context.Background()) +} + +func (i LifecycleHookLifecycleCommandArgs) ToLifecycleHookLifecycleCommandOutputWithContext(ctx context.Context) LifecycleHookLifecycleCommandOutput { + return pulumi.ToOutputWithContext(ctx, i).(LifecycleHookLifecycleCommandOutput) +} + +func (i LifecycleHookLifecycleCommandArgs) ToLifecycleHookLifecycleCommandPtrOutput() LifecycleHookLifecycleCommandPtrOutput { + return i.ToLifecycleHookLifecycleCommandPtrOutputWithContext(context.Background()) +} + +func (i LifecycleHookLifecycleCommandArgs) ToLifecycleHookLifecycleCommandPtrOutputWithContext(ctx context.Context) LifecycleHookLifecycleCommandPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LifecycleHookLifecycleCommandOutput).ToLifecycleHookLifecycleCommandPtrOutputWithContext(ctx) +} + +// LifecycleHookLifecycleCommandPtrInput is an input type that accepts LifecycleHookLifecycleCommandArgs, LifecycleHookLifecycleCommandPtr and LifecycleHookLifecycleCommandPtrOutput values. +// You can construct a concrete instance of `LifecycleHookLifecycleCommandPtrInput` via: +// +// LifecycleHookLifecycleCommandArgs{...} +// +// or: +// +// nil +type LifecycleHookLifecycleCommandPtrInput interface { + pulumi.Input + + ToLifecycleHookLifecycleCommandPtrOutput() LifecycleHookLifecycleCommandPtrOutput + ToLifecycleHookLifecycleCommandPtrOutputWithContext(context.Context) LifecycleHookLifecycleCommandPtrOutput +} + +type lifecycleHookLifecycleCommandPtrType LifecycleHookLifecycleCommandArgs + +func LifecycleHookLifecycleCommandPtr(v *LifecycleHookLifecycleCommandArgs) LifecycleHookLifecycleCommandPtrInput { + return (*lifecycleHookLifecycleCommandPtrType)(v) +} + +func (*lifecycleHookLifecycleCommandPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LifecycleHookLifecycleCommand)(nil)).Elem() +} + +func (i *lifecycleHookLifecycleCommandPtrType) ToLifecycleHookLifecycleCommandPtrOutput() LifecycleHookLifecycleCommandPtrOutput { + return i.ToLifecycleHookLifecycleCommandPtrOutputWithContext(context.Background()) +} + +func (i *lifecycleHookLifecycleCommandPtrType) ToLifecycleHookLifecycleCommandPtrOutputWithContext(ctx context.Context) LifecycleHookLifecycleCommandPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LifecycleHookLifecycleCommandPtrOutput) +} + +type LifecycleHookLifecycleCommandOutput struct{ *pulumi.OutputState } + +func (LifecycleHookLifecycleCommandOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LifecycleHookLifecycleCommand)(nil)).Elem() +} + +func (o LifecycleHookLifecycleCommandOutput) ToLifecycleHookLifecycleCommandOutput() LifecycleHookLifecycleCommandOutput { + return o +} + +func (o LifecycleHookLifecycleCommandOutput) ToLifecycleHookLifecycleCommandOutputWithContext(ctx context.Context) LifecycleHookLifecycleCommandOutput { + return o +} + +func (o LifecycleHookLifecycleCommandOutput) ToLifecycleHookLifecycleCommandPtrOutput() LifecycleHookLifecycleCommandPtrOutput { + return o.ToLifecycleHookLifecycleCommandPtrOutputWithContext(context.Background()) +} + +func (o LifecycleHookLifecycleCommandOutput) ToLifecycleHookLifecycleCommandPtrOutputWithContext(ctx context.Context) LifecycleHookLifecycleCommandPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LifecycleHookLifecycleCommand) *LifecycleHookLifecycleCommand { + return &v + }).(LifecycleHookLifecycleCommandPtrOutput) +} + +// Remote command ID. It is required to execute a command. +func (o LifecycleHookLifecycleCommandOutput) CommandId() pulumi.StringOutput { + return o.ApplyT(func(v LifecycleHookLifecycleCommand) string { return v.CommandId }).(pulumi.StringOutput) +} + +// Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. +func (o LifecycleHookLifecycleCommandOutput) Parameters() pulumi.StringPtrOutput { + return o.ApplyT(func(v LifecycleHookLifecycleCommand) *string { return v.Parameters }).(pulumi.StringPtrOutput) +} + +type LifecycleHookLifecycleCommandPtrOutput struct{ *pulumi.OutputState } + +func (LifecycleHookLifecycleCommandPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LifecycleHookLifecycleCommand)(nil)).Elem() +} + +func (o LifecycleHookLifecycleCommandPtrOutput) ToLifecycleHookLifecycleCommandPtrOutput() LifecycleHookLifecycleCommandPtrOutput { + return o +} + +func (o LifecycleHookLifecycleCommandPtrOutput) ToLifecycleHookLifecycleCommandPtrOutputWithContext(ctx context.Context) LifecycleHookLifecycleCommandPtrOutput { + return o +} + +func (o LifecycleHookLifecycleCommandPtrOutput) Elem() LifecycleHookLifecycleCommandOutput { + return o.ApplyT(func(v *LifecycleHookLifecycleCommand) LifecycleHookLifecycleCommand { + if v != nil { + return *v + } + var ret LifecycleHookLifecycleCommand + return ret + }).(LifecycleHookLifecycleCommandOutput) +} + +// Remote command ID. It is required to execute a command. +func (o LifecycleHookLifecycleCommandPtrOutput) CommandId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LifecycleHookLifecycleCommand) *string { + if v == nil { + return nil + } + return &v.CommandId + }).(pulumi.StringPtrOutput) +} + +// Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. +func (o LifecycleHookLifecycleCommandPtrOutput) Parameters() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LifecycleHookLifecycleCommand) *string { + if v == nil { + return nil + } + return v.Parameters + }).(pulumi.StringPtrOutput) +} + type LoadBalancerForwardLoadBalancer struct { // Application load balancer listener ID. ListenerId string `pulumi:"listenerId"` @@ -922,6 +1078,320 @@ func (o ScalingGroupForwardBalancerIdTargetAttributeArrayOutput) Index(i pulumi. }).(ScalingGroupForwardBalancerIdTargetAttributeOutput) } +type StartInstanceRefreshRefreshSettings struct { + // Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + CheckInstanceTargetHealth *bool `pulumi:"checkInstanceTargetHealth"` + // Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + RollingUpdateSettings StartInstanceRefreshRefreshSettingsRollingUpdateSettings `pulumi:"rollingUpdateSettings"` +} + +// StartInstanceRefreshRefreshSettingsInput is an input type that accepts StartInstanceRefreshRefreshSettingsArgs and StartInstanceRefreshRefreshSettingsOutput values. +// You can construct a concrete instance of `StartInstanceRefreshRefreshSettingsInput` via: +// +// StartInstanceRefreshRefreshSettingsArgs{...} +type StartInstanceRefreshRefreshSettingsInput interface { + pulumi.Input + + ToStartInstanceRefreshRefreshSettingsOutput() StartInstanceRefreshRefreshSettingsOutput + ToStartInstanceRefreshRefreshSettingsOutputWithContext(context.Context) StartInstanceRefreshRefreshSettingsOutput +} + +type StartInstanceRefreshRefreshSettingsArgs struct { + // Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + CheckInstanceTargetHealth pulumi.BoolPtrInput `pulumi:"checkInstanceTargetHealth"` + // Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + RollingUpdateSettings StartInstanceRefreshRefreshSettingsRollingUpdateSettingsInput `pulumi:"rollingUpdateSettings"` +} + +func (StartInstanceRefreshRefreshSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StartInstanceRefreshRefreshSettings)(nil)).Elem() +} + +func (i StartInstanceRefreshRefreshSettingsArgs) ToStartInstanceRefreshRefreshSettingsOutput() StartInstanceRefreshRefreshSettingsOutput { + return i.ToStartInstanceRefreshRefreshSettingsOutputWithContext(context.Background()) +} + +func (i StartInstanceRefreshRefreshSettingsArgs) ToStartInstanceRefreshRefreshSettingsOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshRefreshSettingsOutput) +} + +func (i StartInstanceRefreshRefreshSettingsArgs) ToStartInstanceRefreshRefreshSettingsPtrOutput() StartInstanceRefreshRefreshSettingsPtrOutput { + return i.ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(context.Background()) +} + +func (i StartInstanceRefreshRefreshSettingsArgs) ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshRefreshSettingsOutput).ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(ctx) +} + +// StartInstanceRefreshRefreshSettingsPtrInput is an input type that accepts StartInstanceRefreshRefreshSettingsArgs, StartInstanceRefreshRefreshSettingsPtr and StartInstanceRefreshRefreshSettingsPtrOutput values. +// You can construct a concrete instance of `StartInstanceRefreshRefreshSettingsPtrInput` via: +// +// StartInstanceRefreshRefreshSettingsArgs{...} +// +// or: +// +// nil +type StartInstanceRefreshRefreshSettingsPtrInput interface { + pulumi.Input + + ToStartInstanceRefreshRefreshSettingsPtrOutput() StartInstanceRefreshRefreshSettingsPtrOutput + ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(context.Context) StartInstanceRefreshRefreshSettingsPtrOutput +} + +type startInstanceRefreshRefreshSettingsPtrType StartInstanceRefreshRefreshSettingsArgs + +func StartInstanceRefreshRefreshSettingsPtr(v *StartInstanceRefreshRefreshSettingsArgs) StartInstanceRefreshRefreshSettingsPtrInput { + return (*startInstanceRefreshRefreshSettingsPtrType)(v) +} + +func (*startInstanceRefreshRefreshSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StartInstanceRefreshRefreshSettings)(nil)).Elem() +} + +func (i *startInstanceRefreshRefreshSettingsPtrType) ToStartInstanceRefreshRefreshSettingsPtrOutput() StartInstanceRefreshRefreshSettingsPtrOutput { + return i.ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(context.Background()) +} + +func (i *startInstanceRefreshRefreshSettingsPtrType) ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshRefreshSettingsPtrOutput) +} + +type StartInstanceRefreshRefreshSettingsOutput struct{ *pulumi.OutputState } + +func (StartInstanceRefreshRefreshSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StartInstanceRefreshRefreshSettings)(nil)).Elem() +} + +func (o StartInstanceRefreshRefreshSettingsOutput) ToStartInstanceRefreshRefreshSettingsOutput() StartInstanceRefreshRefreshSettingsOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsOutput) ToStartInstanceRefreshRefreshSettingsOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsOutput) ToStartInstanceRefreshRefreshSettingsPtrOutput() StartInstanceRefreshRefreshSettingsPtrOutput { + return o.ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(context.Background()) +} + +func (o StartInstanceRefreshRefreshSettingsOutput) ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StartInstanceRefreshRefreshSettings) *StartInstanceRefreshRefreshSettings { + return &v + }).(StartInstanceRefreshRefreshSettingsPtrOutput) +} + +// Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. +func (o StartInstanceRefreshRefreshSettingsOutput) CheckInstanceTargetHealth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StartInstanceRefreshRefreshSettings) *bool { return v.CheckInstanceTargetHealth }).(pulumi.BoolPtrOutput) +} + +// Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. +func (o StartInstanceRefreshRefreshSettingsOutput) RollingUpdateSettings() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput { + return o.ApplyT(func(v StartInstanceRefreshRefreshSettings) StartInstanceRefreshRefreshSettingsRollingUpdateSettings { + return v.RollingUpdateSettings + }).(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) +} + +type StartInstanceRefreshRefreshSettingsPtrOutput struct{ *pulumi.OutputState } + +func (StartInstanceRefreshRefreshSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StartInstanceRefreshRefreshSettings)(nil)).Elem() +} + +func (o StartInstanceRefreshRefreshSettingsPtrOutput) ToStartInstanceRefreshRefreshSettingsPtrOutput() StartInstanceRefreshRefreshSettingsPtrOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsPtrOutput) ToStartInstanceRefreshRefreshSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsPtrOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsPtrOutput) Elem() StartInstanceRefreshRefreshSettingsOutput { + return o.ApplyT(func(v *StartInstanceRefreshRefreshSettings) StartInstanceRefreshRefreshSettings { + if v != nil { + return *v + } + var ret StartInstanceRefreshRefreshSettings + return ret + }).(StartInstanceRefreshRefreshSettingsOutput) +} + +// Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. +func (o StartInstanceRefreshRefreshSettingsPtrOutput) CheckInstanceTargetHealth() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StartInstanceRefreshRefreshSettings) *bool { + if v == nil { + return nil + } + return v.CheckInstanceTargetHealth + }).(pulumi.BoolPtrOutput) +} + +// Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. +func (o StartInstanceRefreshRefreshSettingsPtrOutput) RollingUpdateSettings() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return o.ApplyT(func(v *StartInstanceRefreshRefreshSettings) *StartInstanceRefreshRefreshSettingsRollingUpdateSettings { + if v == nil { + return nil + } + return &v.RollingUpdateSettings + }).(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) +} + +type StartInstanceRefreshRefreshSettingsRollingUpdateSettings struct { + // Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + BatchNumber int `pulumi:"batchNumber"` + // Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + BatchPause *string `pulumi:"batchPause"` +} + +// StartInstanceRefreshRefreshSettingsRollingUpdateSettingsInput is an input type that accepts StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs and StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput values. +// You can construct a concrete instance of `StartInstanceRefreshRefreshSettingsRollingUpdateSettingsInput` via: +// +// StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs{...} +type StartInstanceRefreshRefreshSettingsRollingUpdateSettingsInput interface { + pulumi.Input + + ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput + ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutputWithContext(context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput +} + +type StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs struct { + // Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + BatchNumber pulumi.IntInput `pulumi:"batchNumber"` + // Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + BatchPause pulumi.StringPtrInput `pulumi:"batchPause"` +} + +func (StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StartInstanceRefreshRefreshSettingsRollingUpdateSettings)(nil)).Elem() +} + +func (i StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput { + return i.ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutputWithContext(context.Background()) +} + +func (i StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) +} + +func (i StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return i.ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(context.Background()) +} + +func (i StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput).ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(ctx) +} + +// StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrInput is an input type that accepts StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs, StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtr and StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput values. +// You can construct a concrete instance of `StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrInput` via: +// +// StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs{...} +// +// or: +// +// nil +type StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrInput interface { + pulumi.Input + + ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput + ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput +} + +type startInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrType StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs + +func StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtr(v *StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrInput { + return (*startInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrType)(v) +} + +func (*startInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StartInstanceRefreshRefreshSettingsRollingUpdateSettings)(nil)).Elem() +} + +func (i *startInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrType) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return i.ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(context.Background()) +} + +func (i *startInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrType) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) +} + +type StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput struct{ *pulumi.OutputState } + +func (StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StartInstanceRefreshRefreshSettingsRollingUpdateSettings)(nil)).Elem() +} + +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return o.ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(context.Background()) +} + +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StartInstanceRefreshRefreshSettingsRollingUpdateSettings) *StartInstanceRefreshRefreshSettingsRollingUpdateSettings { + return &v + }).(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) +} + +// Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) BatchNumber() pulumi.IntOutput { + return o.ApplyT(func(v StartInstanceRefreshRefreshSettingsRollingUpdateSettings) int { return v.BatchNumber }).(pulumi.IntOutput) +} + +// Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) BatchPause() pulumi.StringPtrOutput { + return o.ApplyT(func(v StartInstanceRefreshRefreshSettingsRollingUpdateSettings) *string { return v.BatchPause }).(pulumi.StringPtrOutput) +} + +type StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput struct{ *pulumi.OutputState } + +func (StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StartInstanceRefreshRefreshSettingsRollingUpdateSettings)(nil)).Elem() +} + +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) ToStartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutputWithContext(ctx context.Context) StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput { + return o +} + +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) Elem() StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput { + return o.ApplyT(func(v *StartInstanceRefreshRefreshSettingsRollingUpdateSettings) StartInstanceRefreshRefreshSettingsRollingUpdateSettings { + if v != nil { + return *v + } + var ret StartInstanceRefreshRefreshSettingsRollingUpdateSettings + return ret + }).(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput) +} + +// Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) BatchNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StartInstanceRefreshRefreshSettingsRollingUpdateSettings) *int { + if v == nil { + return nil + } + return &v.BatchNumber + }).(pulumi.IntPtrOutput) +} + +// Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. +func (o StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput) BatchPause() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StartInstanceRefreshRefreshSettingsRollingUpdateSettings) *string { + if v == nil { + return nil + } + return v.BatchPause + }).(pulumi.StringPtrOutput) +} + type GetAdvicesAutoScalingAdviceSet struct { // A collection of suggestions for scaling group configurations. Advices []GetAdvicesAutoScalingAdviceSetAdvice `pulumi:"advices"` @@ -2285,6 +2755,8 @@ type GetScalingConfigsConfigurationList struct { SystemDiskType string `pulumi:"systemDiskType"` // Base64-encoded User Data text. UserData string `pulumi:"userData"` + // Version Number. + VersionNumber int `pulumi:"versionNumber"` } // GetScalingConfigsConfigurationListInput is an input type that accepts GetScalingConfigsConfigurationListArgs and GetScalingConfigsConfigurationListOutput values. @@ -2339,6 +2811,8 @@ type GetScalingConfigsConfigurationListArgs struct { SystemDiskType pulumi.StringInput `pulumi:"systemDiskType"` // Base64-encoded User Data text. UserData pulumi.StringInput `pulumi:"userData"` + // Version Number. + VersionNumber pulumi.IntInput `pulumi:"versionNumber"` } func (GetScalingConfigsConfigurationListArgs) ElementType() reflect.Type { @@ -2494,6 +2968,11 @@ func (o GetScalingConfigsConfigurationListOutput) UserData() pulumi.StringOutput return o.ApplyT(func(v GetScalingConfigsConfigurationList) string { return v.UserData }).(pulumi.StringOutput) } +// Version Number. +func (o GetScalingConfigsConfigurationListOutput) VersionNumber() pulumi.IntOutput { + return o.ApplyT(func(v GetScalingConfigsConfigurationList) int { return v.VersionNumber }).(pulumi.IntOutput) +} + type GetScalingConfigsConfigurationListArrayOutput struct{ *pulumi.OutputState } func (GetScalingConfigsConfigurationListArrayOutput) ElementType() reflect.Type { @@ -3337,6 +3816,8 @@ func (o GetScalingPoliciesScalingPolicyListArrayOutput) Index(i pulumi.IntInput) } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LifecycleHookLifecycleCommandInput)(nil)).Elem(), LifecycleHookLifecycleCommandArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LifecycleHookLifecycleCommandPtrInput)(nil)).Elem(), LifecycleHookLifecycleCommandArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerForwardLoadBalancerInput)(nil)).Elem(), LoadBalancerForwardLoadBalancerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerForwardLoadBalancerArrayInput)(nil)).Elem(), LoadBalancerForwardLoadBalancerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerForwardLoadBalancerTargetAttributeInput)(nil)).Elem(), LoadBalancerForwardLoadBalancerTargetAttributeArgs{}) @@ -3351,6 +3832,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ScalingGroupForwardBalancerIdArrayInput)(nil)).Elem(), ScalingGroupForwardBalancerIdArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ScalingGroupForwardBalancerIdTargetAttributeInput)(nil)).Elem(), ScalingGroupForwardBalancerIdTargetAttributeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ScalingGroupForwardBalancerIdTargetAttributeArrayInput)(nil)).Elem(), ScalingGroupForwardBalancerIdTargetAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StartInstanceRefreshRefreshSettingsInput)(nil)).Elem(), StartInstanceRefreshRefreshSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StartInstanceRefreshRefreshSettingsPtrInput)(nil)).Elem(), StartInstanceRefreshRefreshSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StartInstanceRefreshRefreshSettingsRollingUpdateSettingsInput)(nil)).Elem(), StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrInput)(nil)).Elem(), StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAdvicesAutoScalingAdviceSetInput)(nil)).Elem(), GetAdvicesAutoScalingAdviceSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAdvicesAutoScalingAdviceSetArrayInput)(nil)).Elem(), GetAdvicesAutoScalingAdviceSetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAdvicesAutoScalingAdviceSetAdviceInput)(nil)).Elem(), GetAdvicesAutoScalingAdviceSetAdviceArgs{}) @@ -3381,6 +3866,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetScalingGroupsScalingGroupListForwardBalancerIdTargetAttributeArrayInput)(nil)).Elem(), GetScalingGroupsScalingGroupListForwardBalancerIdTargetAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetScalingPoliciesScalingPolicyListInput)(nil)).Elem(), GetScalingPoliciesScalingPolicyListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetScalingPoliciesScalingPolicyListArrayInput)(nil)).Elem(), GetScalingPoliciesScalingPolicyListArray{}) + pulumi.RegisterOutputType(LifecycleHookLifecycleCommandOutput{}) + pulumi.RegisterOutputType(LifecycleHookLifecycleCommandPtrOutput{}) pulumi.RegisterOutputType(LoadBalancerForwardLoadBalancerOutput{}) pulumi.RegisterOutputType(LoadBalancerForwardLoadBalancerArrayOutput{}) pulumi.RegisterOutputType(LoadBalancerForwardLoadBalancerTargetAttributeOutput{}) @@ -3395,6 +3882,10 @@ func init() { pulumi.RegisterOutputType(ScalingGroupForwardBalancerIdArrayOutput{}) pulumi.RegisterOutputType(ScalingGroupForwardBalancerIdTargetAttributeOutput{}) pulumi.RegisterOutputType(ScalingGroupForwardBalancerIdTargetAttributeArrayOutput{}) + pulumi.RegisterOutputType(StartInstanceRefreshRefreshSettingsOutput{}) + pulumi.RegisterOutputType(StartInstanceRefreshRefreshSettingsPtrOutput{}) + pulumi.RegisterOutputType(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsOutput{}) + pulumi.RegisterOutputType(StartInstanceRefreshRefreshSettingsRollingUpdateSettingsPtrOutput{}) pulumi.RegisterOutputType(GetAdvicesAutoScalingAdviceSetOutput{}) pulumi.RegisterOutputType(GetAdvicesAutoScalingAdviceSetArrayOutput{}) pulumi.RegisterOutputType(GetAdvicesAutoScalingAdviceSetAdviceOutput{}) diff --git a/sdk/go/tencentcloud/as/scalingGroup.go b/sdk/go/tencentcloud/as/scalingGroup.go index 4b45bc35d..8abe640f2 100644 --- a/sdk/go/tencentcloud/as/scalingGroup.go +++ b/sdk/go/tencentcloud/as/scalingGroup.go @@ -89,6 +89,9 @@ import ( // SubnetIds: pulumi.StringArray{ // subnet.ID(), // }, +// HealthCheckType: pulumi.String("CLB"), +// ReplaceLoadBalancerUnhealthy: pulumi.Bool(true), +// LbHealthCheckGracePeriod: pulumi.Int(30), // }) // if err != nil { // return err @@ -120,8 +123,12 @@ type ScalingGroup struct { DesiredCapacity pulumi.IntOutput `pulumi:"desiredCapacity"` // List of application load balancers, which can't be specified with `loadBalancerIds` together. ForwardBalancerIds ScalingGroupForwardBalancerIdArrayOutput `pulumi:"forwardBalancerIds"` + // Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + HealthCheckType pulumi.StringOutput `pulumi:"healthCheckType"` // Instance number of a scaling group. InstanceCount pulumi.IntOutput `pulumi:"instanceCount"` + // Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + LbHealthCheckGracePeriod pulumi.IntOutput `pulumi:"lbHealthCheckGracePeriod"` // ID list of traditional load balancers. LoadBalancerIds pulumi.StringArrayOutput `pulumi:"loadBalancerIds"` // Maximum number of CVM instances. Valid value ranges: (0~2000). @@ -211,8 +218,12 @@ type scalingGroupState struct { DesiredCapacity *int `pulumi:"desiredCapacity"` // List of application load balancers, which can't be specified with `loadBalancerIds` together. ForwardBalancerIds []ScalingGroupForwardBalancerId `pulumi:"forwardBalancerIds"` + // Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + HealthCheckType *string `pulumi:"healthCheckType"` // Instance number of a scaling group. InstanceCount *int `pulumi:"instanceCount"` + // Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + LbHealthCheckGracePeriod *int `pulumi:"lbHealthCheckGracePeriod"` // ID list of traditional load balancers. LoadBalancerIds []string `pulumi:"loadBalancerIds"` // Maximum number of CVM instances. Valid value ranges: (0~2000). @@ -258,8 +269,12 @@ type ScalingGroupState struct { DesiredCapacity pulumi.IntPtrInput // List of application load balancers, which can't be specified with `loadBalancerIds` together. ForwardBalancerIds ScalingGroupForwardBalancerIdArrayInput + // Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + HealthCheckType pulumi.StringPtrInput // Instance number of a scaling group. InstanceCount pulumi.IntPtrInput + // Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + LbHealthCheckGracePeriod pulumi.IntPtrInput // ID list of traditional load balancers. LoadBalancerIds pulumi.StringArrayInput // Maximum number of CVM instances. Valid value ranges: (0~2000). @@ -307,6 +322,10 @@ type scalingGroupArgs struct { DesiredCapacity *int `pulumi:"desiredCapacity"` // List of application load balancers, which can't be specified with `loadBalancerIds` together. ForwardBalancerIds []ScalingGroupForwardBalancerId `pulumi:"forwardBalancerIds"` + // Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + HealthCheckType *string `pulumi:"healthCheckType"` + // Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + LbHealthCheckGracePeriod *int `pulumi:"lbHealthCheckGracePeriod"` // ID list of traditional load balancers. LoadBalancerIds []string `pulumi:"loadBalancerIds"` // Maximum number of CVM instances. Valid value ranges: (0~2000). @@ -349,6 +368,10 @@ type ScalingGroupArgs struct { DesiredCapacity pulumi.IntPtrInput // List of application load balancers, which can't be specified with `loadBalancerIds` together. ForwardBalancerIds ScalingGroupForwardBalancerIdArrayInput + // Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + HealthCheckType pulumi.StringPtrInput + // Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + LbHealthCheckGracePeriod pulumi.IntPtrInput // ID list of traditional load balancers. LoadBalancerIds pulumi.StringArrayInput // Maximum number of CVM instances. Valid value ranges: (0~2000). @@ -493,11 +516,21 @@ func (o ScalingGroupOutput) ForwardBalancerIds() ScalingGroupForwardBalancerIdAr return o.ApplyT(func(v *ScalingGroup) ScalingGroupForwardBalancerIdArrayOutput { return v.ForwardBalancerIds }).(ScalingGroupForwardBalancerIdArrayOutput) } +// Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. +func (o ScalingGroupOutput) HealthCheckType() pulumi.StringOutput { + return o.ApplyT(func(v *ScalingGroup) pulumi.StringOutput { return v.HealthCheckType }).(pulumi.StringOutput) +} + // Instance number of a scaling group. func (o ScalingGroupOutput) InstanceCount() pulumi.IntOutput { return o.ApplyT(func(v *ScalingGroup) pulumi.IntOutput { return v.InstanceCount }).(pulumi.IntOutput) } +// Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. +func (o ScalingGroupOutput) LbHealthCheckGracePeriod() pulumi.IntOutput { + return o.ApplyT(func(v *ScalingGroup) pulumi.IntOutput { return v.LbHealthCheckGracePeriod }).(pulumi.IntOutput) +} + // ID list of traditional load balancers. func (o ScalingGroupOutput) LoadBalancerIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *ScalingGroup) pulumi.StringArrayOutput { return v.LoadBalancerIds }).(pulumi.StringArrayOutput) diff --git a/sdk/go/tencentcloud/as/startInstanceRefresh.go b/sdk/go/tencentcloud/as/startInstanceRefresh.go new file mode 100644 index 000000000..d386ef441 --- /dev/null +++ b/sdk/go/tencentcloud/as/startInstanceRefresh.go @@ -0,0 +1,288 @@ +// 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 as + +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 as instance refresh +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/As" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := As.NewStartInstanceRefresh(ctx, "example", &As.StartInstanceRefreshArgs{ +// AutoScalingGroupId: pulumi.String("asg-9dn1a5y6"), +// RefreshMode: pulumi.String("ROLLING_UPDATE_RESET"), +// RefreshSettings: &as.StartInstanceRefreshRefreshSettingsArgs{ +// CheckInstanceTargetHealth: pulumi.Bool(false), +// RollingUpdateSettings: &as.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs{ +// BatchNumber: pulumi.Int(1), +// BatchPause: pulumi.String("AUTOMATIC"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type StartInstanceRefresh struct { + pulumi.CustomResourceState + + // Scaling group ID. + AutoScalingGroupId pulumi.StringOutput `pulumi:"autoScalingGroupId"` + // Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + RefreshMode pulumi.StringPtrOutput `pulumi:"refreshMode"` + // Refresh settings. + RefreshSettings StartInstanceRefreshRefreshSettingsOutput `pulumi:"refreshSettings"` +} + +// NewStartInstanceRefresh registers a new resource with the given unique name, arguments, and options. +func NewStartInstanceRefresh(ctx *pulumi.Context, + name string, args *StartInstanceRefreshArgs, opts ...pulumi.ResourceOption) (*StartInstanceRefresh, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AutoScalingGroupId == nil { + return nil, errors.New("invalid value for required argument 'AutoScalingGroupId'") + } + if args.RefreshSettings == nil { + return nil, errors.New("invalid value for required argument 'RefreshSettings'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource StartInstanceRefresh + err := ctx.RegisterResource("tencentcloud:As/startInstanceRefresh:StartInstanceRefresh", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetStartInstanceRefresh gets an existing StartInstanceRefresh 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 GetStartInstanceRefresh(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *StartInstanceRefreshState, opts ...pulumi.ResourceOption) (*StartInstanceRefresh, error) { + var resource StartInstanceRefresh + err := ctx.ReadResource("tencentcloud:As/startInstanceRefresh:StartInstanceRefresh", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering StartInstanceRefresh resources. +type startInstanceRefreshState struct { + // Scaling group ID. + AutoScalingGroupId *string `pulumi:"autoScalingGroupId"` + // Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + RefreshMode *string `pulumi:"refreshMode"` + // Refresh settings. + RefreshSettings *StartInstanceRefreshRefreshSettings `pulumi:"refreshSettings"` +} + +type StartInstanceRefreshState struct { + // Scaling group ID. + AutoScalingGroupId pulumi.StringPtrInput + // Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + RefreshMode pulumi.StringPtrInput + // Refresh settings. + RefreshSettings StartInstanceRefreshRefreshSettingsPtrInput +} + +func (StartInstanceRefreshState) ElementType() reflect.Type { + return reflect.TypeOf((*startInstanceRefreshState)(nil)).Elem() +} + +type startInstanceRefreshArgs struct { + // Scaling group ID. + AutoScalingGroupId string `pulumi:"autoScalingGroupId"` + // Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + RefreshMode *string `pulumi:"refreshMode"` + // Refresh settings. + RefreshSettings StartInstanceRefreshRefreshSettings `pulumi:"refreshSettings"` +} + +// The set of arguments for constructing a StartInstanceRefresh resource. +type StartInstanceRefreshArgs struct { + // Scaling group ID. + AutoScalingGroupId pulumi.StringInput + // Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + RefreshMode pulumi.StringPtrInput + // Refresh settings. + RefreshSettings StartInstanceRefreshRefreshSettingsInput +} + +func (StartInstanceRefreshArgs) ElementType() reflect.Type { + return reflect.TypeOf((*startInstanceRefreshArgs)(nil)).Elem() +} + +type StartInstanceRefreshInput interface { + pulumi.Input + + ToStartInstanceRefreshOutput() StartInstanceRefreshOutput + ToStartInstanceRefreshOutputWithContext(ctx context.Context) StartInstanceRefreshOutput +} + +func (*StartInstanceRefresh) ElementType() reflect.Type { + return reflect.TypeOf((**StartInstanceRefresh)(nil)).Elem() +} + +func (i *StartInstanceRefresh) ToStartInstanceRefreshOutput() StartInstanceRefreshOutput { + return i.ToStartInstanceRefreshOutputWithContext(context.Background()) +} + +func (i *StartInstanceRefresh) ToStartInstanceRefreshOutputWithContext(ctx context.Context) StartInstanceRefreshOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshOutput) +} + +// StartInstanceRefreshArrayInput is an input type that accepts StartInstanceRefreshArray and StartInstanceRefreshArrayOutput values. +// You can construct a concrete instance of `StartInstanceRefreshArrayInput` via: +// +// StartInstanceRefreshArray{ StartInstanceRefreshArgs{...} } +type StartInstanceRefreshArrayInput interface { + pulumi.Input + + ToStartInstanceRefreshArrayOutput() StartInstanceRefreshArrayOutput + ToStartInstanceRefreshArrayOutputWithContext(context.Context) StartInstanceRefreshArrayOutput +} + +type StartInstanceRefreshArray []StartInstanceRefreshInput + +func (StartInstanceRefreshArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*StartInstanceRefresh)(nil)).Elem() +} + +func (i StartInstanceRefreshArray) ToStartInstanceRefreshArrayOutput() StartInstanceRefreshArrayOutput { + return i.ToStartInstanceRefreshArrayOutputWithContext(context.Background()) +} + +func (i StartInstanceRefreshArray) ToStartInstanceRefreshArrayOutputWithContext(ctx context.Context) StartInstanceRefreshArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshArrayOutput) +} + +// StartInstanceRefreshMapInput is an input type that accepts StartInstanceRefreshMap and StartInstanceRefreshMapOutput values. +// You can construct a concrete instance of `StartInstanceRefreshMapInput` via: +// +// StartInstanceRefreshMap{ "key": StartInstanceRefreshArgs{...} } +type StartInstanceRefreshMapInput interface { + pulumi.Input + + ToStartInstanceRefreshMapOutput() StartInstanceRefreshMapOutput + ToStartInstanceRefreshMapOutputWithContext(context.Context) StartInstanceRefreshMapOutput +} + +type StartInstanceRefreshMap map[string]StartInstanceRefreshInput + +func (StartInstanceRefreshMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*StartInstanceRefresh)(nil)).Elem() +} + +func (i StartInstanceRefreshMap) ToStartInstanceRefreshMapOutput() StartInstanceRefreshMapOutput { + return i.ToStartInstanceRefreshMapOutputWithContext(context.Background()) +} + +func (i StartInstanceRefreshMap) ToStartInstanceRefreshMapOutputWithContext(ctx context.Context) StartInstanceRefreshMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StartInstanceRefreshMapOutput) +} + +type StartInstanceRefreshOutput struct{ *pulumi.OutputState } + +func (StartInstanceRefreshOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StartInstanceRefresh)(nil)).Elem() +} + +func (o StartInstanceRefreshOutput) ToStartInstanceRefreshOutput() StartInstanceRefreshOutput { + return o +} + +func (o StartInstanceRefreshOutput) ToStartInstanceRefreshOutputWithContext(ctx context.Context) StartInstanceRefreshOutput { + return o +} + +// Scaling group ID. +func (o StartInstanceRefreshOutput) AutoScalingGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *StartInstanceRefresh) pulumi.StringOutput { return v.AutoScalingGroupId }).(pulumi.StringOutput) +} + +// Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. +func (o StartInstanceRefreshOutput) RefreshMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StartInstanceRefresh) pulumi.StringPtrOutput { return v.RefreshMode }).(pulumi.StringPtrOutput) +} + +// Refresh settings. +func (o StartInstanceRefreshOutput) RefreshSettings() StartInstanceRefreshRefreshSettingsOutput { + return o.ApplyT(func(v *StartInstanceRefresh) StartInstanceRefreshRefreshSettingsOutput { return v.RefreshSettings }).(StartInstanceRefreshRefreshSettingsOutput) +} + +type StartInstanceRefreshArrayOutput struct{ *pulumi.OutputState } + +func (StartInstanceRefreshArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*StartInstanceRefresh)(nil)).Elem() +} + +func (o StartInstanceRefreshArrayOutput) ToStartInstanceRefreshArrayOutput() StartInstanceRefreshArrayOutput { + return o +} + +func (o StartInstanceRefreshArrayOutput) ToStartInstanceRefreshArrayOutputWithContext(ctx context.Context) StartInstanceRefreshArrayOutput { + return o +} + +func (o StartInstanceRefreshArrayOutput) Index(i pulumi.IntInput) StartInstanceRefreshOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StartInstanceRefresh { + return vs[0].([]*StartInstanceRefresh)[vs[1].(int)] + }).(StartInstanceRefreshOutput) +} + +type StartInstanceRefreshMapOutput struct{ *pulumi.OutputState } + +func (StartInstanceRefreshMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*StartInstanceRefresh)(nil)).Elem() +} + +func (o StartInstanceRefreshMapOutput) ToStartInstanceRefreshMapOutput() StartInstanceRefreshMapOutput { + return o +} + +func (o StartInstanceRefreshMapOutput) ToStartInstanceRefreshMapOutputWithContext(ctx context.Context) StartInstanceRefreshMapOutput { + return o +} + +func (o StartInstanceRefreshMapOutput) MapIndex(k pulumi.StringInput) StartInstanceRefreshOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StartInstanceRefresh { + return vs[0].(map[string]*StartInstanceRefresh)[vs[1].(string)] + }).(StartInstanceRefreshOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*StartInstanceRefreshInput)(nil)).Elem(), &StartInstanceRefresh{}) + pulumi.RegisterInputType(reflect.TypeOf((*StartInstanceRefreshArrayInput)(nil)).Elem(), StartInstanceRefreshArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StartInstanceRefreshMapInput)(nil)).Elem(), StartInstanceRefreshMap{}) + pulumi.RegisterOutputType(StartInstanceRefreshOutput{}) + pulumi.RegisterOutputType(StartInstanceRefreshArrayOutput{}) + pulumi.RegisterOutputType(StartInstanceRefreshMapOutput{}) +} diff --git a/sdk/go/tencentcloud/audit/getEvents.go b/sdk/go/tencentcloud/audit/getEvents.go new file mode 100644 index 000000000..ed2d5a3b3 --- /dev/null +++ b/sdk/go/tencentcloud/audit/getEvents.go @@ -0,0 +1,184 @@ +// 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 audit + +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 the events list supported by the audit. +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Audit" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Audit.GetEvents(ctx, &audit.GetEventsArgs{ +// EndTime: 1727437441, +// IsReturnLocation: pulumi.IntRef(1), +// LookupAttributes: []audit.GetEventsLookupAttribute{ +// { +// AttributeKey: "ResourceType", +// AttributeValue: pulumi.StringRef("cvm"), +// }, +// { +// AttributeKey: "OnlyRecordNotSeen", +// AttributeValue: pulumi.StringRef("0"), +// }, +// { +// AttributeKey: "EventPlatform", +// AttributeValue: pulumi.StringRef("0"), +// }, +// }, +// MaxResults: pulumi.IntRef(50), +// StartTime: 1727433841, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetEvents(ctx *pulumi.Context, args *GetEventsArgs, opts ...pulumi.InvokeOption) (*GetEventsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetEventsResult + err := ctx.Invoke("tencentcloud:Audit/getEvents:getEvents", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getEvents. +type GetEventsArgs struct { + // End timestamp in seconds (the time range for query is less than 30 days). + EndTime int `pulumi:"endTime"` + // Whether to return the IP location. `1`: yes, `0`: no. + IsReturnLocation *int `pulumi:"isReturnLocation"` + // Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + LookupAttributes []GetEventsLookupAttribute `pulumi:"lookupAttributes"` + // Max number of returned logs (up to 50). + MaxResults *int `pulumi:"maxResults"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Start timestamp in seconds (cannot be 90 days after the current time). + StartTime int `pulumi:"startTime"` +} + +// A collection of values returned by getEvents. +type GetEventsResult struct { + EndTime int `pulumi:"endTime"` + // Logset. Note: `null` may be returned for this field, indicating that no valid values can be obtained. + Events []GetEventsEvent `pulumi:"events"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IsReturnLocation *int `pulumi:"isReturnLocation"` + LookupAttributes []GetEventsLookupAttribute `pulumi:"lookupAttributes"` + MaxResults *int `pulumi:"maxResults"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + StartTime int `pulumi:"startTime"` +} + +func GetEventsOutput(ctx *pulumi.Context, args GetEventsOutputArgs, opts ...pulumi.InvokeOption) GetEventsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetEventsResult, error) { + args := v.(GetEventsArgs) + r, err := GetEvents(ctx, &args, opts...) + var s GetEventsResult + if r != nil { + s = *r + } + return s, err + }).(GetEventsResultOutput) +} + +// A collection of arguments for invoking getEvents. +type GetEventsOutputArgs struct { + // End timestamp in seconds (the time range for query is less than 30 days). + EndTime pulumi.IntInput `pulumi:"endTime"` + // Whether to return the IP location. `1`: yes, `0`: no. + IsReturnLocation pulumi.IntPtrInput `pulumi:"isReturnLocation"` + // Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + LookupAttributes GetEventsLookupAttributeArrayInput `pulumi:"lookupAttributes"` + // Max number of returned logs (up to 50). + MaxResults pulumi.IntPtrInput `pulumi:"maxResults"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Start timestamp in seconds (cannot be 90 days after the current time). + StartTime pulumi.IntInput `pulumi:"startTime"` +} + +func (GetEventsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsArgs)(nil)).Elem() +} + +// A collection of values returned by getEvents. +type GetEventsResultOutput struct{ *pulumi.OutputState } + +func (GetEventsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsResult)(nil)).Elem() +} + +func (o GetEventsResultOutput) ToGetEventsResultOutput() GetEventsResultOutput { + return o +} + +func (o GetEventsResultOutput) ToGetEventsResultOutputWithContext(ctx context.Context) GetEventsResultOutput { + return o +} + +func (o GetEventsResultOutput) EndTime() pulumi.IntOutput { + return o.ApplyT(func(v GetEventsResult) int { return v.EndTime }).(pulumi.IntOutput) +} + +// Logset. Note: `null` may be returned for this field, indicating that no valid values can be obtained. +func (o GetEventsResultOutput) Events() GetEventsEventArrayOutput { + return o.ApplyT(func(v GetEventsResult) []GetEventsEvent { return v.Events }).(GetEventsEventArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetEventsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetEventsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetEventsResultOutput) IsReturnLocation() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetEventsResult) *int { return v.IsReturnLocation }).(pulumi.IntPtrOutput) +} + +func (o GetEventsResultOutput) LookupAttributes() GetEventsLookupAttributeArrayOutput { + return o.ApplyT(func(v GetEventsResult) []GetEventsLookupAttribute { return v.LookupAttributes }).(GetEventsLookupAttributeArrayOutput) +} + +func (o GetEventsResultOutput) MaxResults() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetEventsResult) *int { return v.MaxResults }).(pulumi.IntPtrOutput) +} + +func (o GetEventsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetEventsResultOutput) StartTime() pulumi.IntOutput { + return o.ApplyT(func(v GetEventsResult) int { return v.StartTime }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetEventsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/audit/pulumiTypes.go b/sdk/go/tencentcloud/audit/pulumiTypes.go index f5416cfb3..1513bbc1a 100644 --- a/sdk/go/tencentcloud/audit/pulumiTypes.go +++ b/sdk/go/tencentcloud/audit/pulumiTypes.go @@ -313,6 +313,525 @@ func (o GetCosRegionsAuditCosRegionListArrayOutput) Index(i pulumi.IntInput) Get }).(GetCosRegionsAuditCosRegionListOutput) } +type GetEventsEvent struct { + // Root account ID. + AccountId *int `pulumi:"accountId"` + // Log details. + CloudAuditEvent *string `pulumi:"cloudAuditEvent"` + // Authentication error code. + ErrorCode *int `pulumi:"errorCode"` + // Log ID. + EventId *string `pulumi:"eventId"` + // Event name. + EventName *string `pulumi:"eventName"` + // Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field). + EventNameCn *string `pulumi:"eventNameCn"` + // Event region. + EventRegion *string `pulumi:"eventRegion"` + // Request source. + EventSource *string `pulumi:"eventSource"` + // Event Time. + EventTime *string `pulumi:"eventTime"` + // IP location. + Location *string `pulumi:"location"` + // Request ID. + RequestId *string `pulumi:"requestId"` + // Resource region. + ResourceRegion *string `pulumi:"resourceRegion"` + // Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field). + ResourceTypeCn *string `pulumi:"resourceTypeCn"` + // Resource pair. + Resources *GetEventsEventResources `pulumi:"resources"` + // Certificate ID + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + SecretId *string `pulumi:"secretId"` + // Source IP + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + SourceIpAddress *string `pulumi:"sourceIpAddress"` + // Username. + Username *string `pulumi:"username"` +} + +// GetEventsEventInput is an input type that accepts GetEventsEventArgs and GetEventsEventOutput values. +// You can construct a concrete instance of `GetEventsEventInput` via: +// +// GetEventsEventArgs{...} +type GetEventsEventInput interface { + pulumi.Input + + ToGetEventsEventOutput() GetEventsEventOutput + ToGetEventsEventOutputWithContext(context.Context) GetEventsEventOutput +} + +type GetEventsEventArgs struct { + // Root account ID. + AccountId pulumi.IntPtrInput `pulumi:"accountId"` + // Log details. + CloudAuditEvent pulumi.StringPtrInput `pulumi:"cloudAuditEvent"` + // Authentication error code. + ErrorCode pulumi.IntPtrInput `pulumi:"errorCode"` + // Log ID. + EventId pulumi.StringPtrInput `pulumi:"eventId"` + // Event name. + EventName pulumi.StringPtrInput `pulumi:"eventName"` + // Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field). + EventNameCn pulumi.StringPtrInput `pulumi:"eventNameCn"` + // Event region. + EventRegion pulumi.StringPtrInput `pulumi:"eventRegion"` + // Request source. + EventSource pulumi.StringPtrInput `pulumi:"eventSource"` + // Event Time. + EventTime pulumi.StringPtrInput `pulumi:"eventTime"` + // IP location. + Location pulumi.StringPtrInput `pulumi:"location"` + // Request ID. + RequestId pulumi.StringPtrInput `pulumi:"requestId"` + // Resource region. + ResourceRegion pulumi.StringPtrInput `pulumi:"resourceRegion"` + // Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field). + ResourceTypeCn pulumi.StringPtrInput `pulumi:"resourceTypeCn"` + // Resource pair. + Resources GetEventsEventResourcesPtrInput `pulumi:"resources"` + // Certificate ID + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + SecretId pulumi.StringPtrInput `pulumi:"secretId"` + // Source IP + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + SourceIpAddress pulumi.StringPtrInput `pulumi:"sourceIpAddress"` + // Username. + Username pulumi.StringPtrInput `pulumi:"username"` +} + +func (GetEventsEventArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsEvent)(nil)).Elem() +} + +func (i GetEventsEventArgs) ToGetEventsEventOutput() GetEventsEventOutput { + return i.ToGetEventsEventOutputWithContext(context.Background()) +} + +func (i GetEventsEventArgs) ToGetEventsEventOutputWithContext(ctx context.Context) GetEventsEventOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEventsEventOutput) +} + +// GetEventsEventArrayInput is an input type that accepts GetEventsEventArray and GetEventsEventArrayOutput values. +// You can construct a concrete instance of `GetEventsEventArrayInput` via: +// +// GetEventsEventArray{ GetEventsEventArgs{...} } +type GetEventsEventArrayInput interface { + pulumi.Input + + ToGetEventsEventArrayOutput() GetEventsEventArrayOutput + ToGetEventsEventArrayOutputWithContext(context.Context) GetEventsEventArrayOutput +} + +type GetEventsEventArray []GetEventsEventInput + +func (GetEventsEventArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEventsEvent)(nil)).Elem() +} + +func (i GetEventsEventArray) ToGetEventsEventArrayOutput() GetEventsEventArrayOutput { + return i.ToGetEventsEventArrayOutputWithContext(context.Background()) +} + +func (i GetEventsEventArray) ToGetEventsEventArrayOutputWithContext(ctx context.Context) GetEventsEventArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEventsEventArrayOutput) +} + +type GetEventsEventOutput struct{ *pulumi.OutputState } + +func (GetEventsEventOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsEvent)(nil)).Elem() +} + +func (o GetEventsEventOutput) ToGetEventsEventOutput() GetEventsEventOutput { + return o +} + +func (o GetEventsEventOutput) ToGetEventsEventOutputWithContext(ctx context.Context) GetEventsEventOutput { + return o +} + +// Root account ID. +func (o GetEventsEventOutput) AccountId() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *int { return v.AccountId }).(pulumi.IntPtrOutput) +} + +// Log details. +func (o GetEventsEventOutput) CloudAuditEvent() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.CloudAuditEvent }).(pulumi.StringPtrOutput) +} + +// Authentication error code. +func (o GetEventsEventOutput) ErrorCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *int { return v.ErrorCode }).(pulumi.IntPtrOutput) +} + +// Log ID. +func (o GetEventsEventOutput) EventId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.EventId }).(pulumi.StringPtrOutput) +} + +// Event name. +func (o GetEventsEventOutput) EventName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.EventName }).(pulumi.StringPtrOutput) +} + +// Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field). +func (o GetEventsEventOutput) EventNameCn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.EventNameCn }).(pulumi.StringPtrOutput) +} + +// Event region. +func (o GetEventsEventOutput) EventRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.EventRegion }).(pulumi.StringPtrOutput) +} + +// Request source. +func (o GetEventsEventOutput) EventSource() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.EventSource }).(pulumi.StringPtrOutput) +} + +// Event Time. +func (o GetEventsEventOutput) EventTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.EventTime }).(pulumi.StringPtrOutput) +} + +// IP location. +func (o GetEventsEventOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Request ID. +func (o GetEventsEventOutput) RequestId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.RequestId }).(pulumi.StringPtrOutput) +} + +// Resource region. +func (o GetEventsEventOutput) ResourceRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.ResourceRegion }).(pulumi.StringPtrOutput) +} + +// Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field). +func (o GetEventsEventOutput) ResourceTypeCn() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.ResourceTypeCn }).(pulumi.StringPtrOutput) +} + +// Resource pair. +func (o GetEventsEventOutput) Resources() GetEventsEventResourcesPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *GetEventsEventResources { return v.Resources }).(GetEventsEventResourcesPtrOutput) +} + +// Certificate ID +// Note: `null` may be returned for this field, indicating that no valid values can be obtained. +func (o GetEventsEventOutput) SecretId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.SecretId }).(pulumi.StringPtrOutput) +} + +// Source IP +// Note: `null` may be returned for this field, indicating that no valid values can be obtained. +func (o GetEventsEventOutput) SourceIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.SourceIpAddress }).(pulumi.StringPtrOutput) +} + +// Username. +func (o GetEventsEventOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEvent) *string { return v.Username }).(pulumi.StringPtrOutput) +} + +type GetEventsEventArrayOutput struct{ *pulumi.OutputState } + +func (GetEventsEventArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEventsEvent)(nil)).Elem() +} + +func (o GetEventsEventArrayOutput) ToGetEventsEventArrayOutput() GetEventsEventArrayOutput { + return o +} + +func (o GetEventsEventArrayOutput) ToGetEventsEventArrayOutputWithContext(ctx context.Context) GetEventsEventArrayOutput { + return o +} + +func (o GetEventsEventArrayOutput) Index(i pulumi.IntInput) GetEventsEventOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEventsEvent { + return vs[0].([]GetEventsEvent)[vs[1].(int)] + }).(GetEventsEventOutput) +} + +type GetEventsEventResources struct { + // Resource name + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + ResourceName *string `pulumi:"resourceName"` + // Resource type. + ResourceType *string `pulumi:"resourceType"` +} + +// GetEventsEventResourcesInput is an input type that accepts GetEventsEventResourcesArgs and GetEventsEventResourcesOutput values. +// You can construct a concrete instance of `GetEventsEventResourcesInput` via: +// +// GetEventsEventResourcesArgs{...} +type GetEventsEventResourcesInput interface { + pulumi.Input + + ToGetEventsEventResourcesOutput() GetEventsEventResourcesOutput + ToGetEventsEventResourcesOutputWithContext(context.Context) GetEventsEventResourcesOutput +} + +type GetEventsEventResourcesArgs struct { + // Resource name + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + ResourceName pulumi.StringPtrInput `pulumi:"resourceName"` + // Resource type. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` +} + +func (GetEventsEventResourcesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsEventResources)(nil)).Elem() +} + +func (i GetEventsEventResourcesArgs) ToGetEventsEventResourcesOutput() GetEventsEventResourcesOutput { + return i.ToGetEventsEventResourcesOutputWithContext(context.Background()) +} + +func (i GetEventsEventResourcesArgs) ToGetEventsEventResourcesOutputWithContext(ctx context.Context) GetEventsEventResourcesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEventsEventResourcesOutput) +} + +func (i GetEventsEventResourcesArgs) ToGetEventsEventResourcesPtrOutput() GetEventsEventResourcesPtrOutput { + return i.ToGetEventsEventResourcesPtrOutputWithContext(context.Background()) +} + +func (i GetEventsEventResourcesArgs) ToGetEventsEventResourcesPtrOutputWithContext(ctx context.Context) GetEventsEventResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEventsEventResourcesOutput).ToGetEventsEventResourcesPtrOutputWithContext(ctx) +} + +// GetEventsEventResourcesPtrInput is an input type that accepts GetEventsEventResourcesArgs, GetEventsEventResourcesPtr and GetEventsEventResourcesPtrOutput values. +// You can construct a concrete instance of `GetEventsEventResourcesPtrInput` via: +// +// GetEventsEventResourcesArgs{...} +// +// or: +// +// nil +type GetEventsEventResourcesPtrInput interface { + pulumi.Input + + ToGetEventsEventResourcesPtrOutput() GetEventsEventResourcesPtrOutput + ToGetEventsEventResourcesPtrOutputWithContext(context.Context) GetEventsEventResourcesPtrOutput +} + +type getEventsEventResourcesPtrType GetEventsEventResourcesArgs + +func GetEventsEventResourcesPtr(v *GetEventsEventResourcesArgs) GetEventsEventResourcesPtrInput { + return (*getEventsEventResourcesPtrType)(v) +} + +func (*getEventsEventResourcesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetEventsEventResources)(nil)).Elem() +} + +func (i *getEventsEventResourcesPtrType) ToGetEventsEventResourcesPtrOutput() GetEventsEventResourcesPtrOutput { + return i.ToGetEventsEventResourcesPtrOutputWithContext(context.Background()) +} + +func (i *getEventsEventResourcesPtrType) ToGetEventsEventResourcesPtrOutputWithContext(ctx context.Context) GetEventsEventResourcesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEventsEventResourcesPtrOutput) +} + +type GetEventsEventResourcesOutput struct{ *pulumi.OutputState } + +func (GetEventsEventResourcesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsEventResources)(nil)).Elem() +} + +func (o GetEventsEventResourcesOutput) ToGetEventsEventResourcesOutput() GetEventsEventResourcesOutput { + return o +} + +func (o GetEventsEventResourcesOutput) ToGetEventsEventResourcesOutputWithContext(ctx context.Context) GetEventsEventResourcesOutput { + return o +} + +func (o GetEventsEventResourcesOutput) ToGetEventsEventResourcesPtrOutput() GetEventsEventResourcesPtrOutput { + return o.ToGetEventsEventResourcesPtrOutputWithContext(context.Background()) +} + +func (o GetEventsEventResourcesOutput) ToGetEventsEventResourcesPtrOutputWithContext(ctx context.Context) GetEventsEventResourcesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetEventsEventResources) *GetEventsEventResources { + return &v + }).(GetEventsEventResourcesPtrOutput) +} + +// Resource name +// Note: `null` may be returned for this field, indicating that no valid values can be obtained. +func (o GetEventsEventResourcesOutput) ResourceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEventResources) *string { return v.ResourceName }).(pulumi.StringPtrOutput) +} + +// Resource type. +func (o GetEventsEventResourcesOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsEventResources) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +} + +type GetEventsEventResourcesPtrOutput struct{ *pulumi.OutputState } + +func (GetEventsEventResourcesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetEventsEventResources)(nil)).Elem() +} + +func (o GetEventsEventResourcesPtrOutput) ToGetEventsEventResourcesPtrOutput() GetEventsEventResourcesPtrOutput { + return o +} + +func (o GetEventsEventResourcesPtrOutput) ToGetEventsEventResourcesPtrOutputWithContext(ctx context.Context) GetEventsEventResourcesPtrOutput { + return o +} + +func (o GetEventsEventResourcesPtrOutput) Elem() GetEventsEventResourcesOutput { + return o.ApplyT(func(v *GetEventsEventResources) GetEventsEventResources { + if v != nil { + return *v + } + var ret GetEventsEventResources + return ret + }).(GetEventsEventResourcesOutput) +} + +// Resource name +// Note: `null` may be returned for this field, indicating that no valid values can be obtained. +func (o GetEventsEventResourcesPtrOutput) ResourceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetEventsEventResources) *string { + if v == nil { + return nil + } + return v.ResourceName + }).(pulumi.StringPtrOutput) +} + +// Resource type. +func (o GetEventsEventResourcesPtrOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetEventsEventResources) *string { + if v == nil { + return nil + } + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +type GetEventsLookupAttribute struct { + // Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + AttributeKey string `pulumi:"attributeKey"` + // Value of `AttributeValue` + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + AttributeValue *string `pulumi:"attributeValue"` +} + +// GetEventsLookupAttributeInput is an input type that accepts GetEventsLookupAttributeArgs and GetEventsLookupAttributeOutput values. +// You can construct a concrete instance of `GetEventsLookupAttributeInput` via: +// +// GetEventsLookupAttributeArgs{...} +type GetEventsLookupAttributeInput interface { + pulumi.Input + + ToGetEventsLookupAttributeOutput() GetEventsLookupAttributeOutput + ToGetEventsLookupAttributeOutputWithContext(context.Context) GetEventsLookupAttributeOutput +} + +type GetEventsLookupAttributeArgs struct { + // Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + AttributeKey pulumi.StringInput `pulumi:"attributeKey"` + // Value of `AttributeValue` + // Note: `null` may be returned for this field, indicating that no valid values can be obtained. + AttributeValue pulumi.StringPtrInput `pulumi:"attributeValue"` +} + +func (GetEventsLookupAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsLookupAttribute)(nil)).Elem() +} + +func (i GetEventsLookupAttributeArgs) ToGetEventsLookupAttributeOutput() GetEventsLookupAttributeOutput { + return i.ToGetEventsLookupAttributeOutputWithContext(context.Background()) +} + +func (i GetEventsLookupAttributeArgs) ToGetEventsLookupAttributeOutputWithContext(ctx context.Context) GetEventsLookupAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEventsLookupAttributeOutput) +} + +// GetEventsLookupAttributeArrayInput is an input type that accepts GetEventsLookupAttributeArray and GetEventsLookupAttributeArrayOutput values. +// You can construct a concrete instance of `GetEventsLookupAttributeArrayInput` via: +// +// GetEventsLookupAttributeArray{ GetEventsLookupAttributeArgs{...} } +type GetEventsLookupAttributeArrayInput interface { + pulumi.Input + + ToGetEventsLookupAttributeArrayOutput() GetEventsLookupAttributeArrayOutput + ToGetEventsLookupAttributeArrayOutputWithContext(context.Context) GetEventsLookupAttributeArrayOutput +} + +type GetEventsLookupAttributeArray []GetEventsLookupAttributeInput + +func (GetEventsLookupAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEventsLookupAttribute)(nil)).Elem() +} + +func (i GetEventsLookupAttributeArray) ToGetEventsLookupAttributeArrayOutput() GetEventsLookupAttributeArrayOutput { + return i.ToGetEventsLookupAttributeArrayOutputWithContext(context.Background()) +} + +func (i GetEventsLookupAttributeArray) ToGetEventsLookupAttributeArrayOutputWithContext(ctx context.Context) GetEventsLookupAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEventsLookupAttributeArrayOutput) +} + +type GetEventsLookupAttributeOutput struct{ *pulumi.OutputState } + +func (GetEventsLookupAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEventsLookupAttribute)(nil)).Elem() +} + +func (o GetEventsLookupAttributeOutput) ToGetEventsLookupAttributeOutput() GetEventsLookupAttributeOutput { + return o +} + +func (o GetEventsLookupAttributeOutput) ToGetEventsLookupAttributeOutputWithContext(ctx context.Context) GetEventsLookupAttributeOutput { + return o +} + +// Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId +// Note: `null` may be returned for this field, indicating that no valid values can be obtained. +func (o GetEventsLookupAttributeOutput) AttributeKey() pulumi.StringOutput { + return o.ApplyT(func(v GetEventsLookupAttribute) string { return v.AttributeKey }).(pulumi.StringOutput) +} + +// Value of `AttributeValue` +// Note: `null` may be returned for this field, indicating that no valid values can be obtained. +func (o GetEventsLookupAttributeOutput) AttributeValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEventsLookupAttribute) *string { return v.AttributeValue }).(pulumi.StringPtrOutput) +} + +type GetEventsLookupAttributeArrayOutput struct{ *pulumi.OutputState } + +func (GetEventsLookupAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEventsLookupAttribute)(nil)).Elem() +} + +func (o GetEventsLookupAttributeArrayOutput) ToGetEventsLookupAttributeArrayOutput() GetEventsLookupAttributeArrayOutput { + return o +} + +func (o GetEventsLookupAttributeArrayOutput) ToGetEventsLookupAttributeArrayOutputWithContext(ctx context.Context) GetEventsLookupAttributeArrayOutput { + return o +} + +func (o GetEventsLookupAttributeArrayOutput) Index(i pulumi.IntInput) GetEventsLookupAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEventsLookupAttribute { + return vs[0].([]GetEventsLookupAttribute)[vs[1].(int)] + }).(GetEventsLookupAttributeOutput) +} + type GetKeyAliasAuditKeyAliasList struct { // Key alias. KeyAlias string `pulumi:"keyAlias"` @@ -424,12 +943,24 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TrackStoragePtrInput)(nil)).Elem(), TrackStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCosRegionsAuditCosRegionListInput)(nil)).Elem(), GetCosRegionsAuditCosRegionListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCosRegionsAuditCosRegionListArrayInput)(nil)).Elem(), GetCosRegionsAuditCosRegionListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEventsEventInput)(nil)).Elem(), GetEventsEventArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEventsEventArrayInput)(nil)).Elem(), GetEventsEventArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEventsEventResourcesInput)(nil)).Elem(), GetEventsEventResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEventsEventResourcesPtrInput)(nil)).Elem(), GetEventsEventResourcesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEventsLookupAttributeInput)(nil)).Elem(), GetEventsLookupAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEventsLookupAttributeArrayInput)(nil)).Elem(), GetEventsLookupAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKeyAliasAuditKeyAliasListInput)(nil)).Elem(), GetKeyAliasAuditKeyAliasListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKeyAliasAuditKeyAliasListArrayInput)(nil)).Elem(), GetKeyAliasAuditKeyAliasListArray{}) pulumi.RegisterOutputType(TrackStorageOutput{}) pulumi.RegisterOutputType(TrackStoragePtrOutput{}) pulumi.RegisterOutputType(GetCosRegionsAuditCosRegionListOutput{}) pulumi.RegisterOutputType(GetCosRegionsAuditCosRegionListArrayOutput{}) + pulumi.RegisterOutputType(GetEventsEventOutput{}) + pulumi.RegisterOutputType(GetEventsEventArrayOutput{}) + pulumi.RegisterOutputType(GetEventsEventResourcesOutput{}) + pulumi.RegisterOutputType(GetEventsEventResourcesPtrOutput{}) + pulumi.RegisterOutputType(GetEventsLookupAttributeOutput{}) + pulumi.RegisterOutputType(GetEventsLookupAttributeArrayOutput{}) pulumi.RegisterOutputType(GetKeyAliasAuditKeyAliasListOutput{}) pulumi.RegisterOutputType(GetKeyAliasAuditKeyAliasListArrayOutput{}) } diff --git a/sdk/go/tencentcloud/batch/applyAccountBaselines.go b/sdk/go/tencentcloud/batch/applyAccountBaselines.go new file mode 100644 index 000000000..f75ee09fc --- /dev/null +++ b/sdk/go/tencentcloud/batch/applyAccountBaselines.go @@ -0,0 +1,276 @@ +// 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 batch + +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 controlcenter batch apply account baselines +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Batch" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Batch.NewApplyAccountBaselines(ctx, "example", &Batch.ApplyAccountBaselinesArgs{ +// BaselineConfigItems: batch.ApplyAccountBaselinesBaselineConfigItemArray{ +// &batch.ApplyAccountBaselinesBaselineConfigItemArgs{ +// Configuration: pulumi.String("{\"Images\":[{\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-mcdsiqrx\",\"ImageName\":\"demo1\"}, {\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-esxgkots\",\"ImageName\":\"demo2\"}]}"), +// Identifier: pulumi.String("TCC-AF_SHARE_IMAGE"), +// }, +// }, +// MemberUinLists: pulumi.IntArray{ +// pulumi.Int(10037652245), +// pulumi.Int(10037652240), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type ApplyAccountBaselines struct { + pulumi.CustomResourceState + + // List of baseline item configuration information. + BaselineConfigItems ApplyAccountBaselinesBaselineConfigItemArrayOutput `pulumi:"baselineConfigItems"` + // Member account UIN, which is also the UIN of the account to which the baseline is applied. + MemberUinLists pulumi.IntArrayOutput `pulumi:"memberUinLists"` +} + +// NewApplyAccountBaselines registers a new resource with the given unique name, arguments, and options. +func NewApplyAccountBaselines(ctx *pulumi.Context, + name string, args *ApplyAccountBaselinesArgs, opts ...pulumi.ResourceOption) (*ApplyAccountBaselines, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BaselineConfigItems == nil { + return nil, errors.New("invalid value for required argument 'BaselineConfigItems'") + } + if args.MemberUinLists == nil { + return nil, errors.New("invalid value for required argument 'MemberUinLists'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ApplyAccountBaselines + err := ctx.RegisterResource("tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetApplyAccountBaselines gets an existing ApplyAccountBaselines 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 GetApplyAccountBaselines(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ApplyAccountBaselinesState, opts ...pulumi.ResourceOption) (*ApplyAccountBaselines, error) { + var resource ApplyAccountBaselines + err := ctx.ReadResource("tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ApplyAccountBaselines resources. +type applyAccountBaselinesState struct { + // List of baseline item configuration information. + BaselineConfigItems []ApplyAccountBaselinesBaselineConfigItem `pulumi:"baselineConfigItems"` + // Member account UIN, which is also the UIN of the account to which the baseline is applied. + MemberUinLists []int `pulumi:"memberUinLists"` +} + +type ApplyAccountBaselinesState struct { + // List of baseline item configuration information. + BaselineConfigItems ApplyAccountBaselinesBaselineConfigItemArrayInput + // Member account UIN, which is also the UIN of the account to which the baseline is applied. + MemberUinLists pulumi.IntArrayInput +} + +func (ApplyAccountBaselinesState) ElementType() reflect.Type { + return reflect.TypeOf((*applyAccountBaselinesState)(nil)).Elem() +} + +type applyAccountBaselinesArgs struct { + // List of baseline item configuration information. + BaselineConfigItems []ApplyAccountBaselinesBaselineConfigItem `pulumi:"baselineConfigItems"` + // Member account UIN, which is also the UIN of the account to which the baseline is applied. + MemberUinLists []int `pulumi:"memberUinLists"` +} + +// The set of arguments for constructing a ApplyAccountBaselines resource. +type ApplyAccountBaselinesArgs struct { + // List of baseline item configuration information. + BaselineConfigItems ApplyAccountBaselinesBaselineConfigItemArrayInput + // Member account UIN, which is also the UIN of the account to which the baseline is applied. + MemberUinLists pulumi.IntArrayInput +} + +func (ApplyAccountBaselinesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*applyAccountBaselinesArgs)(nil)).Elem() +} + +type ApplyAccountBaselinesInput interface { + pulumi.Input + + ToApplyAccountBaselinesOutput() ApplyAccountBaselinesOutput + ToApplyAccountBaselinesOutputWithContext(ctx context.Context) ApplyAccountBaselinesOutput +} + +func (*ApplyAccountBaselines) ElementType() reflect.Type { + return reflect.TypeOf((**ApplyAccountBaselines)(nil)).Elem() +} + +func (i *ApplyAccountBaselines) ToApplyAccountBaselinesOutput() ApplyAccountBaselinesOutput { + return i.ToApplyAccountBaselinesOutputWithContext(context.Background()) +} + +func (i *ApplyAccountBaselines) ToApplyAccountBaselinesOutputWithContext(ctx context.Context) ApplyAccountBaselinesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyAccountBaselinesOutput) +} + +// ApplyAccountBaselinesArrayInput is an input type that accepts ApplyAccountBaselinesArray and ApplyAccountBaselinesArrayOutput values. +// You can construct a concrete instance of `ApplyAccountBaselinesArrayInput` via: +// +// ApplyAccountBaselinesArray{ ApplyAccountBaselinesArgs{...} } +type ApplyAccountBaselinesArrayInput interface { + pulumi.Input + + ToApplyAccountBaselinesArrayOutput() ApplyAccountBaselinesArrayOutput + ToApplyAccountBaselinesArrayOutputWithContext(context.Context) ApplyAccountBaselinesArrayOutput +} + +type ApplyAccountBaselinesArray []ApplyAccountBaselinesInput + +func (ApplyAccountBaselinesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApplyAccountBaselines)(nil)).Elem() +} + +func (i ApplyAccountBaselinesArray) ToApplyAccountBaselinesArrayOutput() ApplyAccountBaselinesArrayOutput { + return i.ToApplyAccountBaselinesArrayOutputWithContext(context.Background()) +} + +func (i ApplyAccountBaselinesArray) ToApplyAccountBaselinesArrayOutputWithContext(ctx context.Context) ApplyAccountBaselinesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyAccountBaselinesArrayOutput) +} + +// ApplyAccountBaselinesMapInput is an input type that accepts ApplyAccountBaselinesMap and ApplyAccountBaselinesMapOutput values. +// You can construct a concrete instance of `ApplyAccountBaselinesMapInput` via: +// +// ApplyAccountBaselinesMap{ "key": ApplyAccountBaselinesArgs{...} } +type ApplyAccountBaselinesMapInput interface { + pulumi.Input + + ToApplyAccountBaselinesMapOutput() ApplyAccountBaselinesMapOutput + ToApplyAccountBaselinesMapOutputWithContext(context.Context) ApplyAccountBaselinesMapOutput +} + +type ApplyAccountBaselinesMap map[string]ApplyAccountBaselinesInput + +func (ApplyAccountBaselinesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApplyAccountBaselines)(nil)).Elem() +} + +func (i ApplyAccountBaselinesMap) ToApplyAccountBaselinesMapOutput() ApplyAccountBaselinesMapOutput { + return i.ToApplyAccountBaselinesMapOutputWithContext(context.Background()) +} + +func (i ApplyAccountBaselinesMap) ToApplyAccountBaselinesMapOutputWithContext(ctx context.Context) ApplyAccountBaselinesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyAccountBaselinesMapOutput) +} + +type ApplyAccountBaselinesOutput struct{ *pulumi.OutputState } + +func (ApplyAccountBaselinesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ApplyAccountBaselines)(nil)).Elem() +} + +func (o ApplyAccountBaselinesOutput) ToApplyAccountBaselinesOutput() ApplyAccountBaselinesOutput { + return o +} + +func (o ApplyAccountBaselinesOutput) ToApplyAccountBaselinesOutputWithContext(ctx context.Context) ApplyAccountBaselinesOutput { + return o +} + +// List of baseline item configuration information. +func (o ApplyAccountBaselinesOutput) BaselineConfigItems() ApplyAccountBaselinesBaselineConfigItemArrayOutput { + return o.ApplyT(func(v *ApplyAccountBaselines) ApplyAccountBaselinesBaselineConfigItemArrayOutput { + return v.BaselineConfigItems + }).(ApplyAccountBaselinesBaselineConfigItemArrayOutput) +} + +// Member account UIN, which is also the UIN of the account to which the baseline is applied. +func (o ApplyAccountBaselinesOutput) MemberUinLists() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ApplyAccountBaselines) pulumi.IntArrayOutput { return v.MemberUinLists }).(pulumi.IntArrayOutput) +} + +type ApplyAccountBaselinesArrayOutput struct{ *pulumi.OutputState } + +func (ApplyAccountBaselinesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ApplyAccountBaselines)(nil)).Elem() +} + +func (o ApplyAccountBaselinesArrayOutput) ToApplyAccountBaselinesArrayOutput() ApplyAccountBaselinesArrayOutput { + return o +} + +func (o ApplyAccountBaselinesArrayOutput) ToApplyAccountBaselinesArrayOutputWithContext(ctx context.Context) ApplyAccountBaselinesArrayOutput { + return o +} + +func (o ApplyAccountBaselinesArrayOutput) Index(i pulumi.IntInput) ApplyAccountBaselinesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ApplyAccountBaselines { + return vs[0].([]*ApplyAccountBaselines)[vs[1].(int)] + }).(ApplyAccountBaselinesOutput) +} + +type ApplyAccountBaselinesMapOutput struct{ *pulumi.OutputState } + +func (ApplyAccountBaselinesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ApplyAccountBaselines)(nil)).Elem() +} + +func (o ApplyAccountBaselinesMapOutput) ToApplyAccountBaselinesMapOutput() ApplyAccountBaselinesMapOutput { + return o +} + +func (o ApplyAccountBaselinesMapOutput) ToApplyAccountBaselinesMapOutputWithContext(ctx context.Context) ApplyAccountBaselinesMapOutput { + return o +} + +func (o ApplyAccountBaselinesMapOutput) MapIndex(k pulumi.StringInput) ApplyAccountBaselinesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ApplyAccountBaselines { + return vs[0].(map[string]*ApplyAccountBaselines)[vs[1].(string)] + }).(ApplyAccountBaselinesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ApplyAccountBaselinesInput)(nil)).Elem(), &ApplyAccountBaselines{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApplyAccountBaselinesArrayInput)(nil)).Elem(), ApplyAccountBaselinesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApplyAccountBaselinesMapInput)(nil)).Elem(), ApplyAccountBaselinesMap{}) + pulumi.RegisterOutputType(ApplyAccountBaselinesOutput{}) + pulumi.RegisterOutputType(ApplyAccountBaselinesArrayOutput{}) + pulumi.RegisterOutputType(ApplyAccountBaselinesMapOutput{}) +} diff --git a/sdk/go/tencentcloud/batch/init.go b/sdk/go/tencentcloud/batch/init.go new file mode 100644 index 000000000..9dadf1b7e --- /dev/null +++ b/sdk/go/tencentcloud/batch/init.go @@ -0,0 +1,44 @@ +// 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 batch + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines": + r = &ApplyAccountBaselines{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "tencentcloud", + "Batch/applyAccountBaselines", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/batch/pulumiTypes.go b/sdk/go/tencentcloud/batch/pulumiTypes.go new file mode 100644 index 000000000..8fa07e690 --- /dev/null +++ b/sdk/go/tencentcloud/batch/pulumiTypes.go @@ -0,0 +1,127 @@ +// 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 batch + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type ApplyAccountBaselinesBaselineConfigItem struct { + // Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + Configuration *string `pulumi:"configuration"` + // A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + Identifier *string `pulumi:"identifier"` +} + +// ApplyAccountBaselinesBaselineConfigItemInput is an input type that accepts ApplyAccountBaselinesBaselineConfigItemArgs and ApplyAccountBaselinesBaselineConfigItemOutput values. +// You can construct a concrete instance of `ApplyAccountBaselinesBaselineConfigItemInput` via: +// +// ApplyAccountBaselinesBaselineConfigItemArgs{...} +type ApplyAccountBaselinesBaselineConfigItemInput interface { + pulumi.Input + + ToApplyAccountBaselinesBaselineConfigItemOutput() ApplyAccountBaselinesBaselineConfigItemOutput + ToApplyAccountBaselinesBaselineConfigItemOutputWithContext(context.Context) ApplyAccountBaselinesBaselineConfigItemOutput +} + +type ApplyAccountBaselinesBaselineConfigItemArgs struct { + // Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + Configuration pulumi.StringPtrInput `pulumi:"configuration"` + // A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + Identifier pulumi.StringPtrInput `pulumi:"identifier"` +} + +func (ApplyAccountBaselinesBaselineConfigItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ApplyAccountBaselinesBaselineConfigItem)(nil)).Elem() +} + +func (i ApplyAccountBaselinesBaselineConfigItemArgs) ToApplyAccountBaselinesBaselineConfigItemOutput() ApplyAccountBaselinesBaselineConfigItemOutput { + return i.ToApplyAccountBaselinesBaselineConfigItemOutputWithContext(context.Background()) +} + +func (i ApplyAccountBaselinesBaselineConfigItemArgs) ToApplyAccountBaselinesBaselineConfigItemOutputWithContext(ctx context.Context) ApplyAccountBaselinesBaselineConfigItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyAccountBaselinesBaselineConfigItemOutput) +} + +// ApplyAccountBaselinesBaselineConfigItemArrayInput is an input type that accepts ApplyAccountBaselinesBaselineConfigItemArray and ApplyAccountBaselinesBaselineConfigItemArrayOutput values. +// You can construct a concrete instance of `ApplyAccountBaselinesBaselineConfigItemArrayInput` via: +// +// ApplyAccountBaselinesBaselineConfigItemArray{ ApplyAccountBaselinesBaselineConfigItemArgs{...} } +type ApplyAccountBaselinesBaselineConfigItemArrayInput interface { + pulumi.Input + + ToApplyAccountBaselinesBaselineConfigItemArrayOutput() ApplyAccountBaselinesBaselineConfigItemArrayOutput + ToApplyAccountBaselinesBaselineConfigItemArrayOutputWithContext(context.Context) ApplyAccountBaselinesBaselineConfigItemArrayOutput +} + +type ApplyAccountBaselinesBaselineConfigItemArray []ApplyAccountBaselinesBaselineConfigItemInput + +func (ApplyAccountBaselinesBaselineConfigItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ApplyAccountBaselinesBaselineConfigItem)(nil)).Elem() +} + +func (i ApplyAccountBaselinesBaselineConfigItemArray) ToApplyAccountBaselinesBaselineConfigItemArrayOutput() ApplyAccountBaselinesBaselineConfigItemArrayOutput { + return i.ToApplyAccountBaselinesBaselineConfigItemArrayOutputWithContext(context.Background()) +} + +func (i ApplyAccountBaselinesBaselineConfigItemArray) ToApplyAccountBaselinesBaselineConfigItemArrayOutputWithContext(ctx context.Context) ApplyAccountBaselinesBaselineConfigItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ApplyAccountBaselinesBaselineConfigItemArrayOutput) +} + +type ApplyAccountBaselinesBaselineConfigItemOutput struct{ *pulumi.OutputState } + +func (ApplyAccountBaselinesBaselineConfigItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ApplyAccountBaselinesBaselineConfigItem)(nil)).Elem() +} + +func (o ApplyAccountBaselinesBaselineConfigItemOutput) ToApplyAccountBaselinesBaselineConfigItemOutput() ApplyAccountBaselinesBaselineConfigItemOutput { + return o +} + +func (o ApplyAccountBaselinesBaselineConfigItemOutput) ToApplyAccountBaselinesBaselineConfigItemOutputWithContext(ctx context.Context) ApplyAccountBaselinesBaselineConfigItemOutput { + return o +} + +// Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. +func (o ApplyAccountBaselinesBaselineConfigItemOutput) Configuration() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApplyAccountBaselinesBaselineConfigItem) *string { return v.Configuration }).(pulumi.StringPtrOutput) +} + +// A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. +func (o ApplyAccountBaselinesBaselineConfigItemOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApplyAccountBaselinesBaselineConfigItem) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +type ApplyAccountBaselinesBaselineConfigItemArrayOutput struct{ *pulumi.OutputState } + +func (ApplyAccountBaselinesBaselineConfigItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ApplyAccountBaselinesBaselineConfigItem)(nil)).Elem() +} + +func (o ApplyAccountBaselinesBaselineConfigItemArrayOutput) ToApplyAccountBaselinesBaselineConfigItemArrayOutput() ApplyAccountBaselinesBaselineConfigItemArrayOutput { + return o +} + +func (o ApplyAccountBaselinesBaselineConfigItemArrayOutput) ToApplyAccountBaselinesBaselineConfigItemArrayOutputWithContext(ctx context.Context) ApplyAccountBaselinesBaselineConfigItemArrayOutput { + return o +} + +func (o ApplyAccountBaselinesBaselineConfigItemArrayOutput) Index(i pulumi.IntInput) ApplyAccountBaselinesBaselineConfigItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ApplyAccountBaselinesBaselineConfigItem { + return vs[0].([]ApplyAccountBaselinesBaselineConfigItem)[vs[1].(int)] + }).(ApplyAccountBaselinesBaselineConfigItemOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ApplyAccountBaselinesBaselineConfigItemInput)(nil)).Elem(), ApplyAccountBaselinesBaselineConfigItemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ApplyAccountBaselinesBaselineConfigItemArrayInput)(nil)).Elem(), ApplyAccountBaselinesBaselineConfigItemArray{}) + pulumi.RegisterOutputType(ApplyAccountBaselinesBaselineConfigItemOutput{}) + pulumi.RegisterOutputType(ApplyAccountBaselinesBaselineConfigItemArrayOutput{}) +} diff --git a/sdk/go/tencentcloud/cbs/getStorages.go b/sdk/go/tencentcloud/cbs/getStorages.go index 6d4d7acbd..2e4cdfff0 100644 --- a/sdk/go/tencentcloud/cbs/getStorages.go +++ b/sdk/go/tencentcloud/cbs/getStorages.go @@ -15,6 +15,34 @@ import ( // // ## Example Usage // +// ### Query all CBS storages +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cbs" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cbs.GetStorages(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query CBS by storage id +// // // ```go // package main @@ -29,8 +57,36 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := Cbs.GetStorages(ctx, &cbs.GetStoragesArgs{ -// ResultOutputFile: pulumi.StringRef("mytestpath"), -// StorageId: pulumi.StringRef("disk-kdt0sq6m"), +// ResultOutputFile: pulumi.StringRef("my-test-path"), +// StorageId: pulumi.StringRef("disk-6goq404g"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query CBS by dedicated cluster id +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cbs" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cbs.GetStorages(ctx, &cbs.GetStoragesArgs{ +// DedicatedClusterId: pulumi.StringRef("cluster-262n63e8"), // }, nil) // if err != nil { // return err @@ -61,6 +117,8 @@ import ( // ChargeTypes: []string{ // "POSTPAID_BY_HOUR", // "PREPAID", +// "CDCPAID", +// "DEDICATED_CLUSTER_PAID", // }, // InstanceIps: []string{ // "10.0.0.2", @@ -73,7 +131,7 @@ import ( // "ATTACHED", // }, // TagKeys: []string{ -// "foo", +// "example", // }, // TagValues: []string{ // "bar", @@ -103,8 +161,10 @@ func GetStorages(ctx *pulumi.Context, args *GetStoragesArgs, opts ...pulumi.Invo type GetStoragesArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone *string `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeTypes []string `pulumi:"chargeTypes"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // List filter by attached instance public or private IPs. InstanceIps []string `pulumi:"instanceIps"` // List filter by attached instance name. @@ -137,6 +197,8 @@ type GetStoragesResult struct { AvailabilityZone *string `pulumi:"availabilityZone"` // Pay type of the CBS instance. ChargeTypes []string `pulumi:"chargeTypes"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` InstanceIps []string `pulumi:"instanceIps"` @@ -177,8 +239,10 @@ func GetStoragesOutput(ctx *pulumi.Context, args GetStoragesOutputArgs, opts ... type GetStoragesOutputArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeTypes pulumi.StringArrayInput `pulumi:"chargeTypes"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput `pulumi:"dedicatedClusterId"` // List filter by attached instance public or private IPs. InstanceIps pulumi.StringArrayInput `pulumi:"instanceIps"` // List filter by attached instance name. @@ -234,6 +298,11 @@ func (o GetStoragesResultOutput) ChargeTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v GetStoragesResult) []string { return v.ChargeTypes }).(pulumi.StringArrayOutput) } +// Exclusive cluster id. +func (o GetStoragesResultOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetStoragesResult) *string { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // The provider-assigned unique ID for this managed resource. func (o GetStoragesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetStoragesResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/cbs/getStoragesSet.go b/sdk/go/tencentcloud/cbs/getStoragesSet.go index f79a8cb7f..c8e1dfe06 100644 --- a/sdk/go/tencentcloud/cbs/getStoragesSet.go +++ b/sdk/go/tencentcloud/cbs/getStoragesSet.go @@ -15,6 +15,8 @@ import ( // // ## Example Usage // +// ### Query CBS by storage set by zone +// // // ```go // package main @@ -54,8 +56,10 @@ func GetStoragesSet(ctx *pulumi.Context, args *GetStoragesSetArgs, opts ...pulum type GetStoragesSetArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone *string `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeTypes []string `pulumi:"chargeTypes"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // List filter by attached instance public or private IPs. InstanceIps []string `pulumi:"instanceIps"` // List filter by attached instance name. @@ -88,6 +92,8 @@ type GetStoragesSetResult struct { AvailabilityZone *string `pulumi:"availabilityZone"` // Pay type of the CBS instance. ChargeTypes []string `pulumi:"chargeTypes"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` InstanceIps []string `pulumi:"instanceIps"` @@ -128,8 +134,10 @@ func GetStoragesSetOutput(ctx *pulumi.Context, args GetStoragesSetOutputArgs, op type GetStoragesSetOutputArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeTypes pulumi.StringArrayInput `pulumi:"chargeTypes"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput `pulumi:"dedicatedClusterId"` // List filter by attached instance public or private IPs. InstanceIps pulumi.StringArrayInput `pulumi:"instanceIps"` // List filter by attached instance name. @@ -185,6 +193,11 @@ func (o GetStoragesSetResultOutput) ChargeTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v GetStoragesSetResult) []string { return v.ChargeTypes }).(pulumi.StringArrayOutput) } +// Exclusive cluster id. +func (o GetStoragesSetResultOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetStoragesSetResult) *string { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // The provider-assigned unique ID for this managed resource. func (o GetStoragesSetResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetStoragesSetResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/cbs/pulumiTypes.go b/sdk/go/tencentcloud/cbs/pulumiTypes.go index 2be348869..5e83becfa 100644 --- a/sdk/go/tencentcloud/cbs/pulumiTypes.go +++ b/sdk/go/tencentcloud/cbs/pulumiTypes.go @@ -356,10 +356,12 @@ type GetStoragesSetStorageList struct { Attached bool `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone string `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeType string `pulumi:"chargeType"` // Creation time of CBS. CreateTime string `pulumi:"createTime"` + // Exclusive cluster id. + DedicatedClusterId string `pulumi:"dedicatedClusterId"` // Indicates whether CBS is encrypted. Encrypt bool `pulumi:"encrypt"` // ID of the CVM instance that be mounted by this CBS. @@ -402,10 +404,12 @@ type GetStoragesSetStorageListArgs struct { Attached pulumi.BoolInput `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeType pulumi.StringInput `pulumi:"chargeType"` // Creation time of CBS. CreateTime pulumi.StringInput `pulumi:"createTime"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringInput `pulumi:"dedicatedClusterId"` // Indicates whether CBS is encrypted. Encrypt pulumi.BoolInput `pulumi:"encrypt"` // ID of the CVM instance that be mounted by this CBS. @@ -493,7 +497,7 @@ func (o GetStoragesSetStorageListOutput) AvailabilityZone() pulumi.StringOutput return o.ApplyT(func(v GetStoragesSetStorageList) string { return v.AvailabilityZone }).(pulumi.StringOutput) } -// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). +// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). func (o GetStoragesSetStorageListOutput) ChargeType() pulumi.StringOutput { return o.ApplyT(func(v GetStoragesSetStorageList) string { return v.ChargeType }).(pulumi.StringOutput) } @@ -503,6 +507,11 @@ func (o GetStoragesSetStorageListOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v GetStoragesSetStorageList) string { return v.CreateTime }).(pulumi.StringOutput) } +// Exclusive cluster id. +func (o GetStoragesSetStorageListOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetStoragesSetStorageList) string { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + // Indicates whether CBS is encrypted. func (o GetStoragesSetStorageListOutput) Encrypt() pulumi.BoolOutput { return o.ApplyT(func(v GetStoragesSetStorageList) bool { return v.Encrypt }).(pulumi.BoolOutput) @@ -588,10 +597,12 @@ type GetStoragesStorageList struct { Attached bool `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone string `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeType string `pulumi:"chargeType"` // Creation time of CBS. CreateTime string `pulumi:"createTime"` + // Exclusive cluster id. + DedicatedClusterId string `pulumi:"dedicatedClusterId"` // Indicates whether CBS is encrypted. Encrypt bool `pulumi:"encrypt"` // ID of the CVM instance that be mounted by this CBS. @@ -634,10 +645,12 @@ type GetStoragesStorageListArgs struct { Attached pulumi.BoolInput `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"` - // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + // List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). ChargeType pulumi.StringInput `pulumi:"chargeType"` // Creation time of CBS. CreateTime pulumi.StringInput `pulumi:"createTime"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringInput `pulumi:"dedicatedClusterId"` // Indicates whether CBS is encrypted. Encrypt pulumi.BoolInput `pulumi:"encrypt"` // ID of the CVM instance that be mounted by this CBS. @@ -725,7 +738,7 @@ func (o GetStoragesStorageListOutput) AvailabilityZone() pulumi.StringOutput { return o.ApplyT(func(v GetStoragesStorageList) string { return v.AvailabilityZone }).(pulumi.StringOutput) } -// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). +// List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). func (o GetStoragesStorageListOutput) ChargeType() pulumi.StringOutput { return o.ApplyT(func(v GetStoragesStorageList) string { return v.ChargeType }).(pulumi.StringOutput) } @@ -735,6 +748,11 @@ func (o GetStoragesStorageListOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v GetStoragesStorageList) string { return v.CreateTime }).(pulumi.StringOutput) } +// Exclusive cluster id. +func (o GetStoragesStorageListOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetStoragesStorageList) string { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + // Indicates whether CBS is encrypted. func (o GetStoragesStorageListOutput) Encrypt() pulumi.BoolOutput { return o.ApplyT(func(v GetStoragesStorageList) bool { return v.Encrypt }).(pulumi.BoolOutput) diff --git a/sdk/go/tencentcloud/cbs/storage.go b/sdk/go/tencentcloud/cbs/storage.go index 3db983293..770826ac2 100644 --- a/sdk/go/tencentcloud/cbs/storage.go +++ b/sdk/go/tencentcloud/cbs/storage.go @@ -12,10 +12,12 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provides a resource to create a CBS. +// Provides a resource to create a CBS storage. // // ## Example Usage // +// ### Create a standard CBS storage +// // // ```go // package main @@ -29,15 +31,53 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Cbs.NewStorage(ctx, "storage", &Cbs.StorageArgs{ +// _, err := Cbs.NewStorage(ctx, "example", &Cbs.StorageArgs{ // AvailabilityZone: pulumi.String("ap-guangzhou-3"), // Encrypt: pulumi.Bool(false), // ProjectId: pulumi.Int(0), -// StorageName: pulumi.String("mystorage"), +// StorageName: pulumi.String("tf-example"), // StorageSize: pulumi.Int(100), // StorageType: pulumi.String("CLOUD_SSD"), // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a dedicated cluster CBS storage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cbs" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cbs.NewStorage(ctx, "example", &Cbs.StorageArgs{ +// AvailabilityZone: pulumi.String("ap-guangzhou-4"), +// ChargeType: pulumi.String("DEDICATED_CLUSTER_PAID"), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// Encrypt: pulumi.Bool(false), +// ProjectId: pulumi.Int(0), +// StorageName: pulumi.String("tf-example"), +// StorageSize: pulumi.Int(100), +// StorageType: pulumi.String("CLOUD_SSD"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), // }, // }) // if err != nil { @@ -55,7 +95,7 @@ import ( // CBS storage can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Cbs/storage:Storage storage disk-41s6jwy4 +// $ pulumi import tencentcloud:Cbs/storage:Storage example disk-41s6jwy4 // ``` type Storage struct { pulumi.CustomResourceState @@ -64,8 +104,10 @@ type Storage struct { Attached pulumi.BoolOutput `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` - // The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrOutput `pulumi:"chargeType"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrOutput `pulumi:"dedicatedClusterId"` // The quota of backup points of cloud disk. DiskBackupQuota pulumi.IntOutput `pulumi:"diskBackupQuota"` // Indicates whether CBS is encrypted. @@ -144,8 +186,10 @@ type storageState struct { Attached *bool `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone *string `pulumi:"availabilityZone"` - // The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType *string `pulumi:"chargeType"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // The quota of backup points of cloud disk. DiskBackupQuota *int `pulumi:"diskBackupQuota"` // Indicates whether CBS is encrypted. @@ -183,8 +227,10 @@ type StorageState struct { Attached pulumi.BoolPtrInput // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringPtrInput - // The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrInput + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput // The quota of backup points of cloud disk. DiskBackupQuota pulumi.IntPtrInput // Indicates whether CBS is encrypted. @@ -224,8 +270,10 @@ func (StorageState) ElementType() reflect.Type { type storageArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone string `pulumi:"availabilityZone"` - // The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType *string `pulumi:"chargeType"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // The quota of backup points of cloud disk. DiskBackupQuota *int `pulumi:"diskBackupQuota"` // Indicates whether CBS is encrypted. @@ -260,8 +308,10 @@ type storageArgs struct { type StorageArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringInput - // The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrInput + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput // The quota of backup points of cloud disk. DiskBackupQuota pulumi.IntPtrInput // Indicates whether CBS is encrypted. @@ -389,11 +439,16 @@ func (o StorageOutput) AvailabilityZone() pulumi.StringOutput { return o.ApplyT(func(v *Storage) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) } -// The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. +// The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. func (o StorageOutput) ChargeType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Storage) pulumi.StringPtrOutput { return v.ChargeType }).(pulumi.StringPtrOutput) } +// Exclusive cluster id. +func (o StorageOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Storage) pulumi.StringPtrOutput { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // The quota of backup points of cloud disk. func (o StorageOutput) DiskBackupQuota() pulumi.IntOutput { return o.ApplyT(func(v *Storage) pulumi.IntOutput { return v.DiskBackupQuota }).(pulumi.IntOutput) diff --git a/sdk/go/tencentcloud/cbs/storageSet.go b/sdk/go/tencentcloud/cbs/storageSet.go index c6d32a6bc..3629a9d3d 100644 --- a/sdk/go/tencentcloud/cbs/storageSet.go +++ b/sdk/go/tencentcloud/cbs/storageSet.go @@ -16,6 +16,8 @@ import ( // // ## Example Usage // +// ### Create 3 standard CBS storages +// // // ```go // package main @@ -29,12 +31,12 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Cbs.NewStorageSet(ctx, "storage", &Cbs.StorageSetArgs{ +// _, err := Cbs.NewStorageSet(ctx, "example", &Cbs.StorageSetArgs{ // AvailabilityZone: pulumi.String("ap-guangzhou-3"), -// DiskCount: pulumi.Int(10), +// DiskCount: pulumi.Int(3), // Encrypt: pulumi.Bool(false), // ProjectId: pulumi.Int(0), -// StorageName: pulumi.String("mystorage"), +// StorageName: pulumi.String("tf-example"), // StorageSize: pulumi.Int(100), // StorageType: pulumi.String("CLOUD_SSD"), // }) @@ -47,6 +49,42 @@ import ( // // ``` // +// +// ### Create 3 dedicated cluster CBS storages +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cbs" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cbs.NewStorageSet(ctx, "example", &Cbs.StorageSetArgs{ +// AvailabilityZone: pulumi.String("ap-guangzhou-4"), +// ChargeType: pulumi.String("DEDICATED_CLUSTER_PAID"), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// DiskCount: pulumi.Int(3), +// Encrypt: pulumi.Bool(false), +// ProjectId: pulumi.Int(0), +// StorageName: pulumi.String("tf-example"), +// StorageSize: pulumi.Int(100), +// StorageType: pulumi.String("CLOUD_SSD"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// type StorageSet struct { pulumi.CustomResourceState @@ -54,8 +92,10 @@ type StorageSet struct { Attached pulumi.BoolOutput `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` - // The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrOutput `pulumi:"chargeType"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrOutput `pulumi:"dedicatedClusterId"` // The number of disks to be purchased. Default 1. DiskCount pulumi.IntPtrOutput `pulumi:"diskCount"` // disk id list. @@ -124,8 +164,10 @@ type storageSetState struct { Attached *bool `pulumi:"attached"` // The available zone that the CBS instance locates at. AvailabilityZone *string `pulumi:"availabilityZone"` - // The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType *string `pulumi:"chargeType"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // The number of disks to be purchased. Default 1. DiskCount *int `pulumi:"diskCount"` // disk id list. @@ -153,8 +195,10 @@ type StorageSetState struct { Attached pulumi.BoolPtrInput // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringPtrInput - // The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrInput + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput // The number of disks to be purchased. Default 1. DiskCount pulumi.IntPtrInput // disk id list. @@ -184,8 +228,10 @@ func (StorageSetState) ElementType() reflect.Type { type storageSetArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone string `pulumi:"availabilityZone"` - // The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType *string `pulumi:"chargeType"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // The number of disks to be purchased. Default 1. DiskCount *int `pulumi:"diskCount"` // Indicates whether CBS is encrypted. @@ -208,8 +254,10 @@ type storageSetArgs struct { type StorageSetArgs struct { // The available zone that the CBS instance locates at. AvailabilityZone pulumi.StringInput - // The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + // The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrInput + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput // The number of disks to be purchased. Default 1. DiskCount pulumi.IntPtrInput // Indicates whether CBS is encrypted. @@ -325,11 +373,16 @@ func (o StorageSetOutput) AvailabilityZone() pulumi.StringOutput { return o.ApplyT(func(v *StorageSet) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) } -// The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. +// The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. func (o StorageSetOutput) ChargeType() pulumi.StringPtrOutput { return o.ApplyT(func(v *StorageSet) pulumi.StringPtrOutput { return v.ChargeType }).(pulumi.StringPtrOutput) } +// Exclusive cluster id. +func (o StorageSetOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StorageSet) pulumi.StringPtrOutput { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // The number of disks to be purchased. Default 1. func (o StorageSetOutput) DiskCount() pulumi.IntPtrOutput { return o.ApplyT(func(v *StorageSet) pulumi.IntPtrOutput { return v.DiskCount }).(pulumi.IntPtrOutput) diff --git a/sdk/go/tencentcloud/ccn/attachment.go b/sdk/go/tencentcloud/ccn/attachment.go index f76840410..1ad6b7444 100644 --- a/sdk/go/tencentcloud/ccn/attachment.go +++ b/sdk/go/tencentcloud/ccn/attachment.go @@ -16,6 +16,8 @@ import ( // // ## Example Usage // +// ### Only Attachment instance +// // // ```go // package main @@ -25,6 +27,7 @@ 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/Ccn" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) @@ -36,47 +39,148 @@ import ( // if param := cfg.Get("region"); param != "" { // region = param // } -// otheruin := "123353" -// if param := cfg.Get("otheruin"); param != "" { -// otheruin = param +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// otherUin := "100031344528" +// if param := cfg.Get("otherUin"); param != "" { +// otherUin = param // } -// otherccn := "ccn-151ssaga" -// if param := cfg.Get("otherccn"); param != "" { -// otherccn = param +// otherCcn := "ccn-qhgojahx" +// if param := cfg.Get("otherCcn"); param != "" { +// otherCcn = param // } +// // create vpc // vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ -// CidrBlock: pulumi.String("10.0.0.0/16"), -// DnsServers: pulumi.StringArray{ -// pulumi.String("119.29.29.29"), -// pulumi.String("8.8.8.8"), -// }, -// IsMulticast: pulumi.Bool(false), +// CidrBlock: pulumi.String("172.16.0.0/16"), // }) // if err != nil { // return err // } -// main, err := Ccn.NewInstance(ctx, "main", &Ccn.InstanceArgs{ -// Description: pulumi.String("ci-temp-test-ccn-des"), -// Qos: pulumi.String("AG"), +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), // }) // if err != nil { // return err // } +// // create ccn +// example, err := Ccn.NewInstance(ctx, "example", &Ccn.InstanceArgs{ +// Description: pulumi.String("desc."), +// Qos: pulumi.String("AG"), +// ChargeType: pulumi.String("PREPAID"), +// BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // attachment instance // _, err = Ccn.NewAttachment(ctx, "attachment", &Ccn.AttachmentArgs{ -// CcnId: main.ID(), -// InstanceType: pulumi.String("VPC"), +// CcnId: example.ID(), // InstanceId: vpc.ID(), +// InstanceType: pulumi.String("VPC"), // InstanceRegion: pulumi.String(region), // }) // if err != nil { // return err // } +// // attachment other instance // _, err = Ccn.NewAttachment(ctx, "otherAccount", &Ccn.AttachmentArgs{ -// CcnId: pulumi.String(otherccn), +// CcnId: pulumi.String(otherCcn), +// InstanceId: vpc.ID(), // InstanceType: pulumi.String("VPC"), +// InstanceRegion: pulumi.String(region), +// CcnUin: pulumi.String(otherUin), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Attachment instance & route table +// +// +// ```go +// package main +// +// 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/Ccn" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := "ap-guangzhou" +// if param := cfg.Get("region"); param != "" { +// region = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create ccn +// exampleInstance, err := Ccn.NewInstance(ctx, "exampleInstance", &Ccn.InstanceArgs{ +// Description: pulumi.String("desc."), +// Qos: pulumi.String("AG"), +// ChargeType: pulumi.String("PREPAID"), +// BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create ccn route table +// exampleRouteTable, err := Ccn.NewRouteTable(ctx, "exampleRouteTable", &Ccn.RouteTableArgs{ +// CcnId: exampleInstance.ID(), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// // attachment instance & route table +// _, err = Ccn.NewAttachment(ctx, "attachment", &Ccn.AttachmentArgs{ +// CcnId: exampleInstance.ID(), // InstanceId: vpc.ID(), +// InstanceType: pulumi.String("VPC"), // InstanceRegion: pulumi.String(region), -// CcnUin: pulumi.String(otheruin), +// RouteTableId: exampleRouteTable.ID(), // }) // if err != nil { // return err @@ -108,6 +212,8 @@ type Attachment struct { InstanceType pulumi.StringOutput `pulumi:"instanceType"` // Route id list. RouteIds pulumi.StringArrayOutput `pulumi:"routeIds"` + // Ccn instance route table ID. + RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` // States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. State pulumi.StringOutput `pulumi:"state"` } @@ -172,6 +278,8 @@ type attachmentState struct { InstanceType *string `pulumi:"instanceType"` // Route id list. RouteIds []string `pulumi:"routeIds"` + // Ccn instance route table ID. + RouteTableId *string `pulumi:"routeTableId"` // States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. State *string `pulumi:"state"` } @@ -195,6 +303,8 @@ type AttachmentState struct { InstanceType pulumi.StringPtrInput // Route id list. RouteIds pulumi.StringArrayInput + // Ccn instance route table ID. + RouteTableId pulumi.StringPtrInput // States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. State pulumi.StringPtrInput } @@ -216,6 +326,8 @@ type attachmentArgs struct { InstanceRegion string `pulumi:"instanceRegion"` // Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now. InstanceType string `pulumi:"instanceType"` + // Ccn instance route table ID. + RouteTableId *string `pulumi:"routeTableId"` } // The set of arguments for constructing a Attachment resource. @@ -232,6 +344,8 @@ type AttachmentArgs struct { InstanceRegion pulumi.StringInput // Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now. InstanceType pulumi.StringInput + // Ccn instance route table ID. + RouteTableId pulumi.StringPtrInput } func (AttachmentArgs) ElementType() reflect.Type { @@ -366,6 +480,11 @@ func (o AttachmentOutput) RouteIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *Attachment) pulumi.StringArrayOutput { return v.RouteIds }).(pulumi.StringArrayOutput) } +// Ccn instance route table ID. +func (o AttachmentOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v *Attachment) pulumi.StringOutput { return v.RouteTableId }).(pulumi.StringOutput) +} + // States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. func (o AttachmentOutput) State() pulumi.StringOutput { return o.ApplyT(func(v *Attachment) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/ccn/getRoutes.go b/sdk/go/tencentcloud/ccn/getRoutes.go new file mode 100644 index 000000000..dcaa374b1 --- /dev/null +++ b/sdk/go/tencentcloud/ccn/getRoutes.go @@ -0,0 +1,178 @@ +// 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 ccn + +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 CCN routes. +// +// ## Example Usage +// +// ### Query CCN instance all routes +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ccn" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Ccn.GetRoutes(ctx, &ccn.GetRoutesArgs{ +// CcnId: "ccn-gr7nynbd", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query CCN instance routes by filter +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ccn" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Ccn.GetRoutes(ctx, &ccn.GetRoutesArgs{ +// CcnId: "ccn-gr7nynbd", +// Filters: []ccn.GetRoutesFilter{ +// { +// Name: "route-table-id", +// Values: []string{ +// "ccnrtb-jpf7bzn3", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func LookupRoutes(ctx *pulumi.Context, args *LookupRoutesArgs, opts ...pulumi.InvokeOption) (*LookupRoutesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupRoutesResult + err := ctx.Invoke("tencentcloud:Ccn/getRoutes:getRoutes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRoutes. +type LookupRoutesArgs struct { + // ID of the CCN to be queried. + CcnId string `pulumi:"ccnId"` + // Filter conditions. + Filters []GetRoutesFilter `pulumi:"filters"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getRoutes. +type LookupRoutesResult struct { + CcnId string `pulumi:"ccnId"` + Filters []GetRoutesFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + // CCN route list. + RouteLists []GetRoutesRouteList `pulumi:"routeLists"` +} + +func LookupRoutesOutput(ctx *pulumi.Context, args LookupRoutesOutputArgs, opts ...pulumi.InvokeOption) LookupRoutesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupRoutesResult, error) { + args := v.(LookupRoutesArgs) + r, err := LookupRoutes(ctx, &args, opts...) + var s LookupRoutesResult + if r != nil { + s = *r + } + return s, err + }).(LookupRoutesResultOutput) +} + +// A collection of arguments for invoking getRoutes. +type LookupRoutesOutputArgs struct { + // ID of the CCN to be queried. + CcnId pulumi.StringInput `pulumi:"ccnId"` + // Filter conditions. + Filters GetRoutesFilterArrayInput `pulumi:"filters"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (LookupRoutesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRoutesArgs)(nil)).Elem() +} + +// A collection of values returned by getRoutes. +type LookupRoutesResultOutput struct{ *pulumi.OutputState } + +func (LookupRoutesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupRoutesResult)(nil)).Elem() +} + +func (o LookupRoutesResultOutput) ToLookupRoutesResultOutput() LookupRoutesResultOutput { + return o +} + +func (o LookupRoutesResultOutput) ToLookupRoutesResultOutputWithContext(ctx context.Context) LookupRoutesResultOutput { + return o +} + +func (o LookupRoutesResultOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutesResult) string { return v.CcnId }).(pulumi.StringOutput) +} + +func (o LookupRoutesResultOutput) Filters() GetRoutesFilterArrayOutput { + return o.ApplyT(func(v LookupRoutesResult) []GetRoutesFilter { return v.Filters }).(GetRoutesFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupRoutesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupRoutesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupRoutesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupRoutesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +// CCN route list. +func (o LookupRoutesResultOutput) RouteLists() GetRoutesRouteListArrayOutput { + return o.ApplyT(func(v LookupRoutesResult) []GetRoutesRouteList { return v.RouteLists }).(GetRoutesRouteListArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupRoutesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/ccn/init.go b/sdk/go/tencentcloud/ccn/init.go index 80ba3a47e..1daae7144 100644 --- a/sdk/go/tencentcloud/ccn/init.go +++ b/sdk/go/tencentcloud/ccn/init.go @@ -33,6 +33,16 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &InstancesRejectAttach{} case "tencentcloud:Ccn/instancesResetAttach:InstancesResetAttach": r = &InstancesResetAttach{} + case "tencentcloud:Ccn/routeTable:RouteTable": + r = &RouteTable{} + case "tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig": + r = &RouteTableAssociateInstanceConfig{} + case "tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies": + r = &RouteTableBroadcastPolicies{} + case "tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies": + r = &RouteTableInputPolicies{} + case "tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies": + r = &RouteTableSelectionPolicies{} case "tencentcloud:Ccn/routes:Routes": r = &Routes{} default: @@ -78,6 +88,31 @@ func init() { "Ccn/instancesResetAttach", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Ccn/routeTable", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Ccn/routeTableAssociateInstanceConfig", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Ccn/routeTableBroadcastPolicies", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Ccn/routeTableInputPolicies", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Ccn/routeTableSelectionPolicies", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Ccn/routes", diff --git a/sdk/go/tencentcloud/ccn/instance.go b/sdk/go/tencentcloud/ccn/instance.go index 731bcbfbd..aa307a804 100644 --- a/sdk/go/tencentcloud/ccn/instance.go +++ b/sdk/go/tencentcloud/ccn/instance.go @@ -30,11 +30,16 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Ccn.NewInstance(ctx, "main", &Ccn.InstanceArgs{ +// _, err := Ccn.NewInstance(ctx, "example", &Ccn.InstanceArgs{ // BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), // ChargeType: pulumi.String("PREPAID"), -// Description: pulumi.String("ci-temp-test-ccn-des"), +// Description: pulumi.String("desc."), // Qos: pulumi.String("AG"), +// RouteEcmpFlag: pulumi.Bool(true), +// RouteOverlapFlag: pulumi.Bool(true), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, // }) // if err != nil { // return err @@ -61,11 +66,16 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Ccn.NewInstance(ctx, "main", &Ccn.InstanceArgs{ +// _, err := Ccn.NewInstance(ctx, "example", &Ccn.InstanceArgs{ // BandwidthLimitType: pulumi.String("OUTER_REGION_LIMIT"), // ChargeType: pulumi.String("POSTPAID"), -// Description: pulumi.String("ci-temp-test-ccn-des"), +// Description: pulumi.String("desc."), // Qos: pulumi.String("AG"), +// RouteEcmpFlag: pulumi.Bool(false), +// RouteOverlapFlag: pulumi.Bool(false), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, // }) // if err != nil { // return err @@ -92,10 +102,10 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Ccn.NewInstance(ctx, "main", &Ccn.InstanceArgs{ +// _, err := Ccn.NewInstance(ctx, "example", &Ccn.InstanceArgs{ // BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), // ChargeType: pulumi.String("POSTPAID"), -// Description: pulumi.String("ci-temp-test-ccn-des"), +// Description: pulumi.String("desc."), // Qos: pulumi.String("AG"), // }) // if err != nil { @@ -113,7 +123,7 @@ import ( // Ccn instance can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Ccn/instance:Instance test ccn-id +// $ pulumi import tencentcloud:Ccn/instance:Instance example ccn-al70jo89 // ``` type Instance struct { pulumi.CustomResourceState @@ -132,6 +142,10 @@ type Instance struct { Name pulumi.StringOutput `pulumi:"name"` // Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. Qos pulumi.StringPtrOutput `pulumi:"qos"` + // Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + RouteEcmpFlag pulumi.BoolPtrOutput `pulumi:"routeEcmpFlag"` + // Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + RouteOverlapFlag pulumi.BoolPtrOutput `pulumi:"routeOverlapFlag"` // States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. State pulumi.StringOutput `pulumi:"state"` // Instance tag. @@ -182,6 +196,10 @@ type instanceState struct { Name *string `pulumi:"name"` // Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. Qos *string `pulumi:"qos"` + // Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + RouteEcmpFlag *bool `pulumi:"routeEcmpFlag"` + // Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + RouteOverlapFlag *bool `pulumi:"routeOverlapFlag"` // States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. State *string `pulumi:"state"` // Instance tag. @@ -203,6 +221,10 @@ type InstanceState struct { Name pulumi.StringPtrInput // Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. Qos pulumi.StringPtrInput + // Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + RouteEcmpFlag pulumi.BoolPtrInput + // Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + RouteOverlapFlag pulumi.BoolPtrInput // States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. State pulumi.StringPtrInput // Instance tag. @@ -224,6 +246,10 @@ type instanceArgs struct { Name *string `pulumi:"name"` // Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. Qos *string `pulumi:"qos"` + // Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + RouteEcmpFlag *bool `pulumi:"routeEcmpFlag"` + // Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + RouteOverlapFlag *bool `pulumi:"routeOverlapFlag"` // Instance tag. Tags map[string]interface{} `pulumi:"tags"` } @@ -240,6 +266,10 @@ type InstanceArgs struct { Name pulumi.StringPtrInput // Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. Qos pulumi.StringPtrInput + // Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + RouteEcmpFlag pulumi.BoolPtrInput + // Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + RouteOverlapFlag pulumi.BoolPtrInput // Instance tag. Tags pulumi.MapInput } @@ -366,6 +396,16 @@ func (o InstanceOutput) Qos() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Qos }).(pulumi.StringPtrOutput) } +// Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. +func (o InstanceOutput) RouteEcmpFlag() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.RouteEcmpFlag }).(pulumi.BoolPtrOutput) +} + +// Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. +func (o InstanceOutput) RouteOverlapFlag() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.RouteOverlapFlag }).(pulumi.BoolPtrOutput) +} + // States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. func (o InstanceOutput) State() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/ccn/pulumiTypes.go b/sdk/go/tencentcloud/ccn/pulumiTypes.go index 1baedd6e9..c63f0561f 100644 --- a/sdk/go/tencentcloud/ccn/pulumiTypes.go +++ b/sdk/go/tencentcloud/ccn/pulumiTypes.go @@ -412,6 +412,835 @@ func (o InstancesResetAttachInstanceArrayOutput) Index(i pulumi.IntInput) Instan }).(InstancesResetAttachInstanceOutput) } +type RouteTableAssociateInstanceConfigInstance struct { + // Instances ID. + InstanceId string `pulumi:"instanceId"` + // Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + InstanceType string `pulumi:"instanceType"` +} + +// RouteTableAssociateInstanceConfigInstanceInput is an input type that accepts RouteTableAssociateInstanceConfigInstanceArgs and RouteTableAssociateInstanceConfigInstanceOutput values. +// You can construct a concrete instance of `RouteTableAssociateInstanceConfigInstanceInput` via: +// +// RouteTableAssociateInstanceConfigInstanceArgs{...} +type RouteTableAssociateInstanceConfigInstanceInput interface { + pulumi.Input + + ToRouteTableAssociateInstanceConfigInstanceOutput() RouteTableAssociateInstanceConfigInstanceOutput + ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(context.Context) RouteTableAssociateInstanceConfigInstanceOutput +} + +type RouteTableAssociateInstanceConfigInstanceArgs struct { + // Instances ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + InstanceType pulumi.StringInput `pulumi:"instanceType"` +} + +func (RouteTableAssociateInstanceConfigInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableAssociateInstanceConfigInstance)(nil)).Elem() +} + +func (i RouteTableAssociateInstanceConfigInstanceArgs) ToRouteTableAssociateInstanceConfigInstanceOutput() RouteTableAssociateInstanceConfigInstanceOutput { + return i.ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(context.Background()) +} + +func (i RouteTableAssociateInstanceConfigInstanceArgs) ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableAssociateInstanceConfigInstanceOutput) +} + +// RouteTableAssociateInstanceConfigInstanceArrayInput is an input type that accepts RouteTableAssociateInstanceConfigInstanceArray and RouteTableAssociateInstanceConfigInstanceArrayOutput values. +// You can construct a concrete instance of `RouteTableAssociateInstanceConfigInstanceArrayInput` via: +// +// RouteTableAssociateInstanceConfigInstanceArray{ RouteTableAssociateInstanceConfigInstanceArgs{...} } +type RouteTableAssociateInstanceConfigInstanceArrayInput interface { + pulumi.Input + + ToRouteTableAssociateInstanceConfigInstanceArrayOutput() RouteTableAssociateInstanceConfigInstanceArrayOutput + ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(context.Context) RouteTableAssociateInstanceConfigInstanceArrayOutput +} + +type RouteTableAssociateInstanceConfigInstanceArray []RouteTableAssociateInstanceConfigInstanceInput + +func (RouteTableAssociateInstanceConfigInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableAssociateInstanceConfigInstance)(nil)).Elem() +} + +func (i RouteTableAssociateInstanceConfigInstanceArray) ToRouteTableAssociateInstanceConfigInstanceArrayOutput() RouteTableAssociateInstanceConfigInstanceArrayOutput { + return i.ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(context.Background()) +} + +func (i RouteTableAssociateInstanceConfigInstanceArray) ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableAssociateInstanceConfigInstanceArrayOutput) +} + +type RouteTableAssociateInstanceConfigInstanceOutput struct{ *pulumi.OutputState } + +func (RouteTableAssociateInstanceConfigInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableAssociateInstanceConfigInstance)(nil)).Elem() +} + +func (o RouteTableAssociateInstanceConfigInstanceOutput) ToRouteTableAssociateInstanceConfigInstanceOutput() RouteTableAssociateInstanceConfigInstanceOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigInstanceOutput) ToRouteTableAssociateInstanceConfigInstanceOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceOutput { + return o +} + +// Instances ID. +func (o RouteTableAssociateInstanceConfigInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableAssociateInstanceConfigInstance) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. +func (o RouteTableAssociateInstanceConfigInstanceOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableAssociateInstanceConfigInstance) string { return v.InstanceType }).(pulumi.StringOutput) +} + +type RouteTableAssociateInstanceConfigInstanceArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableAssociateInstanceConfigInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableAssociateInstanceConfigInstance)(nil)).Elem() +} + +func (o RouteTableAssociateInstanceConfigInstanceArrayOutput) ToRouteTableAssociateInstanceConfigInstanceArrayOutput() RouteTableAssociateInstanceConfigInstanceArrayOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigInstanceArrayOutput) ToRouteTableAssociateInstanceConfigInstanceArrayOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigInstanceArrayOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigInstanceArrayOutput) Index(i pulumi.IntInput) RouteTableAssociateInstanceConfigInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableAssociateInstanceConfigInstance { + return vs[0].([]RouteTableAssociateInstanceConfigInstance)[vs[1].(int)] + }).(RouteTableAssociateInstanceConfigInstanceOutput) +} + +type RouteTableBroadcastPoliciesPolicy struct { + // Routing behavior, `accept` allows, `drop` rejects. + Action string `pulumi:"action"` + // propagation conditions. + BroadcastConditions []RouteTableBroadcastPoliciesPolicyBroadcastCondition `pulumi:"broadcastConditions"` + // Policy description. + Description string `pulumi:"description"` + // Routing conditions. + RouteConditions []RouteTableBroadcastPoliciesPolicyRouteCondition `pulumi:"routeConditions"` +} + +// RouteTableBroadcastPoliciesPolicyInput is an input type that accepts RouteTableBroadcastPoliciesPolicyArgs and RouteTableBroadcastPoliciesPolicyOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyInput` via: +// +// RouteTableBroadcastPoliciesPolicyArgs{...} +type RouteTableBroadcastPoliciesPolicyInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesPolicyOutput() RouteTableBroadcastPoliciesPolicyOutput + ToRouteTableBroadcastPoliciesPolicyOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyOutput +} + +type RouteTableBroadcastPoliciesPolicyArgs struct { + // Routing behavior, `accept` allows, `drop` rejects. + Action pulumi.StringInput `pulumi:"action"` + // propagation conditions. + BroadcastConditions RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput `pulumi:"broadcastConditions"` + // Policy description. + Description pulumi.StringInput `pulumi:"description"` + // Routing conditions. + RouteConditions RouteTableBroadcastPoliciesPolicyRouteConditionArrayInput `pulumi:"routeConditions"` +} + +func (RouteTableBroadcastPoliciesPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicy)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesPolicyArgs) ToRouteTableBroadcastPoliciesPolicyOutput() RouteTableBroadcastPoliciesPolicyOutput { + return i.ToRouteTableBroadcastPoliciesPolicyOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesPolicyArgs) ToRouteTableBroadcastPoliciesPolicyOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyOutput) +} + +// RouteTableBroadcastPoliciesPolicyArrayInput is an input type that accepts RouteTableBroadcastPoliciesPolicyArray and RouteTableBroadcastPoliciesPolicyArrayOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyArrayInput` via: +// +// RouteTableBroadcastPoliciesPolicyArray{ RouteTableBroadcastPoliciesPolicyArgs{...} } +type RouteTableBroadcastPoliciesPolicyArrayInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesPolicyArrayOutput() RouteTableBroadcastPoliciesPolicyArrayOutput + ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyArrayOutput +} + +type RouteTableBroadcastPoliciesPolicyArray []RouteTableBroadcastPoliciesPolicyInput + +func (RouteTableBroadcastPoliciesPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicy)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesPolicyArray) ToRouteTableBroadcastPoliciesPolicyArrayOutput() RouteTableBroadcastPoliciesPolicyArrayOutput { + return i.ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesPolicyArray) ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyArrayOutput) +} + +type RouteTableBroadcastPoliciesPolicyOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicy)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesPolicyOutput) ToRouteTableBroadcastPoliciesPolicyOutput() RouteTableBroadcastPoliciesPolicyOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyOutput) ToRouteTableBroadcastPoliciesPolicyOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyOutput { + return o +} + +// Routing behavior, `accept` allows, `drop` rejects. +func (o RouteTableBroadcastPoliciesPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// propagation conditions. +func (o RouteTableBroadcastPoliciesPolicyOutput) BroadcastConditions() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) []RouteTableBroadcastPoliciesPolicyBroadcastCondition { + return v.BroadcastConditions + }).(RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) +} + +// Policy description. +func (o RouteTableBroadcastPoliciesPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +// Routing conditions. +func (o RouteTableBroadcastPoliciesPolicyOutput) RouteConditions() RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicy) []RouteTableBroadcastPoliciesPolicyRouteCondition { + return v.RouteConditions + }).(RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput) +} + +type RouteTableBroadcastPoliciesPolicyArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicy)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesPolicyArrayOutput) ToRouteTableBroadcastPoliciesPolicyArrayOutput() RouteTableBroadcastPoliciesPolicyArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyArrayOutput) ToRouteTableBroadcastPoliciesPolicyArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) RouteTableBroadcastPoliciesPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableBroadcastPoliciesPolicy { + return vs[0].([]RouteTableBroadcastPoliciesPolicy)[vs[1].(int)] + }).(RouteTableBroadcastPoliciesPolicyOutput) +} + +type RouteTableBroadcastPoliciesPolicyBroadcastCondition struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern int `pulumi:"matchPattern"` + // condition type. + Name string `pulumi:"name"` + // List of conditional values. + Values []string `pulumi:"values"` +} + +// RouteTableBroadcastPoliciesPolicyBroadcastConditionInput is an input type that accepts RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs and RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyBroadcastConditionInput` via: +// +// RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs{...} +type RouteTableBroadcastPoliciesPolicyBroadcastConditionInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput +} + +type RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern pulumi.IntInput `pulumi:"matchPattern"` + // condition type. + Name pulumi.StringInput `pulumi:"name"` + // List of conditional values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { + return i.ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) +} + +// RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput is an input type that accepts RouteTableBroadcastPoliciesPolicyBroadcastConditionArray and RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput` via: +// +// RouteTableBroadcastPoliciesPolicyBroadcastConditionArray{ RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs{...} } +type RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput + ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput +} + +type RouteTableBroadcastPoliciesPolicyBroadcastConditionArray []RouteTableBroadcastPoliciesPolicyBroadcastConditionInput + +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArray) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return i.ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesPolicyBroadcastConditionArray) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) +} + +type RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { + return o +} + +// Matching mode, `1` precise matching, `0` fuzzy matching. +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) MatchPattern() pulumi.IntOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyBroadcastCondition) int { return v.MatchPattern }).(pulumi.IntOutput) +} + +// condition type. +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyBroadcastCondition) string { return v.Name }).(pulumi.StringOutput) +} + +// List of conditional values. +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyBroadcastCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicyBroadcastCondition)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput() RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) ToRouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput) Index(i pulumi.IntInput) RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableBroadcastPoliciesPolicyBroadcastCondition { + return vs[0].([]RouteTableBroadcastPoliciesPolicyBroadcastCondition)[vs[1].(int)] + }).(RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput) +} + +type RouteTableBroadcastPoliciesPolicyRouteCondition struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern int `pulumi:"matchPattern"` + // condition type. + Name string `pulumi:"name"` + // List of conditional values. + Values []string `pulumi:"values"` +} + +// RouteTableBroadcastPoliciesPolicyRouteConditionInput is an input type that accepts RouteTableBroadcastPoliciesPolicyRouteConditionArgs and RouteTableBroadcastPoliciesPolicyRouteConditionOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyRouteConditionInput` via: +// +// RouteTableBroadcastPoliciesPolicyRouteConditionArgs{...} +type RouteTableBroadcastPoliciesPolicyRouteConditionInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesPolicyRouteConditionOutput() RouteTableBroadcastPoliciesPolicyRouteConditionOutput + ToRouteTableBroadcastPoliciesPolicyRouteConditionOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyRouteConditionOutput +} + +type RouteTableBroadcastPoliciesPolicyRouteConditionArgs struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern pulumi.IntInput `pulumi:"matchPattern"` + // condition type. + Name pulumi.StringInput `pulumi:"name"` + // List of conditional values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (RouteTableBroadcastPoliciesPolicyRouteConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesPolicyRouteConditionArgs) ToRouteTableBroadcastPoliciesPolicyRouteConditionOutput() RouteTableBroadcastPoliciesPolicyRouteConditionOutput { + return i.ToRouteTableBroadcastPoliciesPolicyRouteConditionOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesPolicyRouteConditionArgs) ToRouteTableBroadcastPoliciesPolicyRouteConditionOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyRouteConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyRouteConditionOutput) +} + +// RouteTableBroadcastPoliciesPolicyRouteConditionArrayInput is an input type that accepts RouteTableBroadcastPoliciesPolicyRouteConditionArray and RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesPolicyRouteConditionArrayInput` via: +// +// RouteTableBroadcastPoliciesPolicyRouteConditionArray{ RouteTableBroadcastPoliciesPolicyRouteConditionArgs{...} } +type RouteTableBroadcastPoliciesPolicyRouteConditionArrayInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput() RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput + ToRouteTableBroadcastPoliciesPolicyRouteConditionArrayOutputWithContext(context.Context) RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput +} + +type RouteTableBroadcastPoliciesPolicyRouteConditionArray []RouteTableBroadcastPoliciesPolicyRouteConditionInput + +func (RouteTableBroadcastPoliciesPolicyRouteConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesPolicyRouteConditionArray) ToRouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput() RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput { + return i.ToRouteTableBroadcastPoliciesPolicyRouteConditionArrayOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesPolicyRouteConditionArray) ToRouteTableBroadcastPoliciesPolicyRouteConditionArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput) +} + +type RouteTableBroadcastPoliciesPolicyRouteConditionOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesPolicyRouteConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesPolicyRouteConditionOutput) ToRouteTableBroadcastPoliciesPolicyRouteConditionOutput() RouteTableBroadcastPoliciesPolicyRouteConditionOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyRouteConditionOutput) ToRouteTableBroadcastPoliciesPolicyRouteConditionOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyRouteConditionOutput { + return o +} + +// Matching mode, `1` precise matching, `0` fuzzy matching. +func (o RouteTableBroadcastPoliciesPolicyRouteConditionOutput) MatchPattern() pulumi.IntOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyRouteCondition) int { return v.MatchPattern }).(pulumi.IntOutput) +} + +// condition type. +func (o RouteTableBroadcastPoliciesPolicyRouteConditionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyRouteCondition) string { return v.Name }).(pulumi.StringOutput) +} + +// List of conditional values. +func (o RouteTableBroadcastPoliciesPolicyRouteConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteTableBroadcastPoliciesPolicyRouteCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableBroadcastPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput) ToRouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput() RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput) ToRouteTableBroadcastPoliciesPolicyRouteConditionArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput) Index(i pulumi.IntInput) RouteTableBroadcastPoliciesPolicyRouteConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableBroadcastPoliciesPolicyRouteCondition { + return vs[0].([]RouteTableBroadcastPoliciesPolicyRouteCondition)[vs[1].(int)] + }).(RouteTableBroadcastPoliciesPolicyRouteConditionOutput) +} + +type RouteTableInputPoliciesPolicy struct { + // Routing behavior, `accept` allows, `drop` rejects. + Action string `pulumi:"action"` + // Policy description. + Description string `pulumi:"description"` + // Routing conditions. + RouteConditions []RouteTableInputPoliciesPolicyRouteCondition `pulumi:"routeConditions"` +} + +// RouteTableInputPoliciesPolicyInput is an input type that accepts RouteTableInputPoliciesPolicyArgs and RouteTableInputPoliciesPolicyOutput values. +// You can construct a concrete instance of `RouteTableInputPoliciesPolicyInput` via: +// +// RouteTableInputPoliciesPolicyArgs{...} +type RouteTableInputPoliciesPolicyInput interface { + pulumi.Input + + ToRouteTableInputPoliciesPolicyOutput() RouteTableInputPoliciesPolicyOutput + ToRouteTableInputPoliciesPolicyOutputWithContext(context.Context) RouteTableInputPoliciesPolicyOutput +} + +type RouteTableInputPoliciesPolicyArgs struct { + // Routing behavior, `accept` allows, `drop` rejects. + Action pulumi.StringInput `pulumi:"action"` + // Policy description. + Description pulumi.StringInput `pulumi:"description"` + // Routing conditions. + RouteConditions RouteTableInputPoliciesPolicyRouteConditionArrayInput `pulumi:"routeConditions"` +} + +func (RouteTableInputPoliciesPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableInputPoliciesPolicy)(nil)).Elem() +} + +func (i RouteTableInputPoliciesPolicyArgs) ToRouteTableInputPoliciesPolicyOutput() RouteTableInputPoliciesPolicyOutput { + return i.ToRouteTableInputPoliciesPolicyOutputWithContext(context.Background()) +} + +func (i RouteTableInputPoliciesPolicyArgs) ToRouteTableInputPoliciesPolicyOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableInputPoliciesPolicyOutput) +} + +// RouteTableInputPoliciesPolicyArrayInput is an input type that accepts RouteTableInputPoliciesPolicyArray and RouteTableInputPoliciesPolicyArrayOutput values. +// You can construct a concrete instance of `RouteTableInputPoliciesPolicyArrayInput` via: +// +// RouteTableInputPoliciesPolicyArray{ RouteTableInputPoliciesPolicyArgs{...} } +type RouteTableInputPoliciesPolicyArrayInput interface { + pulumi.Input + + ToRouteTableInputPoliciesPolicyArrayOutput() RouteTableInputPoliciesPolicyArrayOutput + ToRouteTableInputPoliciesPolicyArrayOutputWithContext(context.Context) RouteTableInputPoliciesPolicyArrayOutput +} + +type RouteTableInputPoliciesPolicyArray []RouteTableInputPoliciesPolicyInput + +func (RouteTableInputPoliciesPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableInputPoliciesPolicy)(nil)).Elem() +} + +func (i RouteTableInputPoliciesPolicyArray) ToRouteTableInputPoliciesPolicyArrayOutput() RouteTableInputPoliciesPolicyArrayOutput { + return i.ToRouteTableInputPoliciesPolicyArrayOutputWithContext(context.Background()) +} + +func (i RouteTableInputPoliciesPolicyArray) ToRouteTableInputPoliciesPolicyArrayOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableInputPoliciesPolicyArrayOutput) +} + +type RouteTableInputPoliciesPolicyOutput struct{ *pulumi.OutputState } + +func (RouteTableInputPoliciesPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableInputPoliciesPolicy)(nil)).Elem() +} + +func (o RouteTableInputPoliciesPolicyOutput) ToRouteTableInputPoliciesPolicyOutput() RouteTableInputPoliciesPolicyOutput { + return o +} + +func (o RouteTableInputPoliciesPolicyOutput) ToRouteTableInputPoliciesPolicyOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyOutput { + return o +} + +// Routing behavior, `accept` allows, `drop` rejects. +func (o RouteTableInputPoliciesPolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableInputPoliciesPolicy) string { return v.Action }).(pulumi.StringOutput) +} + +// Policy description. +func (o RouteTableInputPoliciesPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableInputPoliciesPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +// Routing conditions. +func (o RouteTableInputPoliciesPolicyOutput) RouteConditions() RouteTableInputPoliciesPolicyRouteConditionArrayOutput { + return o.ApplyT(func(v RouteTableInputPoliciesPolicy) []RouteTableInputPoliciesPolicyRouteCondition { + return v.RouteConditions + }).(RouteTableInputPoliciesPolicyRouteConditionArrayOutput) +} + +type RouteTableInputPoliciesPolicyArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableInputPoliciesPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableInputPoliciesPolicy)(nil)).Elem() +} + +func (o RouteTableInputPoliciesPolicyArrayOutput) ToRouteTableInputPoliciesPolicyArrayOutput() RouteTableInputPoliciesPolicyArrayOutput { + return o +} + +func (o RouteTableInputPoliciesPolicyArrayOutput) ToRouteTableInputPoliciesPolicyArrayOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyArrayOutput { + return o +} + +func (o RouteTableInputPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) RouteTableInputPoliciesPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableInputPoliciesPolicy { + return vs[0].([]RouteTableInputPoliciesPolicy)[vs[1].(int)] + }).(RouteTableInputPoliciesPolicyOutput) +} + +type RouteTableInputPoliciesPolicyRouteCondition struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern int `pulumi:"matchPattern"` + // condition type. + Name string `pulumi:"name"` + // List of conditional values. + Values []string `pulumi:"values"` +} + +// RouteTableInputPoliciesPolicyRouteConditionInput is an input type that accepts RouteTableInputPoliciesPolicyRouteConditionArgs and RouteTableInputPoliciesPolicyRouteConditionOutput values. +// You can construct a concrete instance of `RouteTableInputPoliciesPolicyRouteConditionInput` via: +// +// RouteTableInputPoliciesPolicyRouteConditionArgs{...} +type RouteTableInputPoliciesPolicyRouteConditionInput interface { + pulumi.Input + + ToRouteTableInputPoliciesPolicyRouteConditionOutput() RouteTableInputPoliciesPolicyRouteConditionOutput + ToRouteTableInputPoliciesPolicyRouteConditionOutputWithContext(context.Context) RouteTableInputPoliciesPolicyRouteConditionOutput +} + +type RouteTableInputPoliciesPolicyRouteConditionArgs struct { + // Matching mode, `1` precise matching, `0` fuzzy matching. + MatchPattern pulumi.IntInput `pulumi:"matchPattern"` + // condition type. + Name pulumi.StringInput `pulumi:"name"` + // List of conditional values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (RouteTableInputPoliciesPolicyRouteConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableInputPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (i RouteTableInputPoliciesPolicyRouteConditionArgs) ToRouteTableInputPoliciesPolicyRouteConditionOutput() RouteTableInputPoliciesPolicyRouteConditionOutput { + return i.ToRouteTableInputPoliciesPolicyRouteConditionOutputWithContext(context.Background()) +} + +func (i RouteTableInputPoliciesPolicyRouteConditionArgs) ToRouteTableInputPoliciesPolicyRouteConditionOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyRouteConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableInputPoliciesPolicyRouteConditionOutput) +} + +// RouteTableInputPoliciesPolicyRouteConditionArrayInput is an input type that accepts RouteTableInputPoliciesPolicyRouteConditionArray and RouteTableInputPoliciesPolicyRouteConditionArrayOutput values. +// You can construct a concrete instance of `RouteTableInputPoliciesPolicyRouteConditionArrayInput` via: +// +// RouteTableInputPoliciesPolicyRouteConditionArray{ RouteTableInputPoliciesPolicyRouteConditionArgs{...} } +type RouteTableInputPoliciesPolicyRouteConditionArrayInput interface { + pulumi.Input + + ToRouteTableInputPoliciesPolicyRouteConditionArrayOutput() RouteTableInputPoliciesPolicyRouteConditionArrayOutput + ToRouteTableInputPoliciesPolicyRouteConditionArrayOutputWithContext(context.Context) RouteTableInputPoliciesPolicyRouteConditionArrayOutput +} + +type RouteTableInputPoliciesPolicyRouteConditionArray []RouteTableInputPoliciesPolicyRouteConditionInput + +func (RouteTableInputPoliciesPolicyRouteConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableInputPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (i RouteTableInputPoliciesPolicyRouteConditionArray) ToRouteTableInputPoliciesPolicyRouteConditionArrayOutput() RouteTableInputPoliciesPolicyRouteConditionArrayOutput { + return i.ToRouteTableInputPoliciesPolicyRouteConditionArrayOutputWithContext(context.Background()) +} + +func (i RouteTableInputPoliciesPolicyRouteConditionArray) ToRouteTableInputPoliciesPolicyRouteConditionArrayOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyRouteConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableInputPoliciesPolicyRouteConditionArrayOutput) +} + +type RouteTableInputPoliciesPolicyRouteConditionOutput struct{ *pulumi.OutputState } + +func (RouteTableInputPoliciesPolicyRouteConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableInputPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (o RouteTableInputPoliciesPolicyRouteConditionOutput) ToRouteTableInputPoliciesPolicyRouteConditionOutput() RouteTableInputPoliciesPolicyRouteConditionOutput { + return o +} + +func (o RouteTableInputPoliciesPolicyRouteConditionOutput) ToRouteTableInputPoliciesPolicyRouteConditionOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyRouteConditionOutput { + return o +} + +// Matching mode, `1` precise matching, `0` fuzzy matching. +func (o RouteTableInputPoliciesPolicyRouteConditionOutput) MatchPattern() pulumi.IntOutput { + return o.ApplyT(func(v RouteTableInputPoliciesPolicyRouteCondition) int { return v.MatchPattern }).(pulumi.IntOutput) +} + +// condition type. +func (o RouteTableInputPoliciesPolicyRouteConditionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableInputPoliciesPolicyRouteCondition) string { return v.Name }).(pulumi.StringOutput) +} + +// List of conditional values. +func (o RouteTableInputPoliciesPolicyRouteConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteTableInputPoliciesPolicyRouteCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type RouteTableInputPoliciesPolicyRouteConditionArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableInputPoliciesPolicyRouteConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableInputPoliciesPolicyRouteCondition)(nil)).Elem() +} + +func (o RouteTableInputPoliciesPolicyRouteConditionArrayOutput) ToRouteTableInputPoliciesPolicyRouteConditionArrayOutput() RouteTableInputPoliciesPolicyRouteConditionArrayOutput { + return o +} + +func (o RouteTableInputPoliciesPolicyRouteConditionArrayOutput) ToRouteTableInputPoliciesPolicyRouteConditionArrayOutputWithContext(ctx context.Context) RouteTableInputPoliciesPolicyRouteConditionArrayOutput { + return o +} + +func (o RouteTableInputPoliciesPolicyRouteConditionArrayOutput) Index(i pulumi.IntInput) RouteTableInputPoliciesPolicyRouteConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableInputPoliciesPolicyRouteCondition { + return vs[0].([]RouteTableInputPoliciesPolicyRouteCondition)[vs[1].(int)] + }).(RouteTableInputPoliciesPolicyRouteConditionOutput) +} + +type RouteTableSelectionPoliciesSelectionPolicy struct { + // description. + Description string `pulumi:"description"` + // Instance ID. + InstanceId string `pulumi:"instanceId"` + // Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + InstanceType string `pulumi:"instanceType"` + // route table ID. + RouteTableId string `pulumi:"routeTableId"` + // Source CIDR. + SourceCidrBlock string `pulumi:"sourceCidrBlock"` +} + +// RouteTableSelectionPoliciesSelectionPolicyInput is an input type that accepts RouteTableSelectionPoliciesSelectionPolicyArgs and RouteTableSelectionPoliciesSelectionPolicyOutput values. +// You can construct a concrete instance of `RouteTableSelectionPoliciesSelectionPolicyInput` via: +// +// RouteTableSelectionPoliciesSelectionPolicyArgs{...} +type RouteTableSelectionPoliciesSelectionPolicyInput interface { + pulumi.Input + + ToRouteTableSelectionPoliciesSelectionPolicyOutput() RouteTableSelectionPoliciesSelectionPolicyOutput + ToRouteTableSelectionPoliciesSelectionPolicyOutputWithContext(context.Context) RouteTableSelectionPoliciesSelectionPolicyOutput +} + +type RouteTableSelectionPoliciesSelectionPolicyArgs struct { + // description. + Description pulumi.StringInput `pulumi:"description"` + // Instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // route table ID. + RouteTableId pulumi.StringInput `pulumi:"routeTableId"` + // Source CIDR. + SourceCidrBlock pulumi.StringInput `pulumi:"sourceCidrBlock"` +} + +func (RouteTableSelectionPoliciesSelectionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableSelectionPoliciesSelectionPolicy)(nil)).Elem() +} + +func (i RouteTableSelectionPoliciesSelectionPolicyArgs) ToRouteTableSelectionPoliciesSelectionPolicyOutput() RouteTableSelectionPoliciesSelectionPolicyOutput { + return i.ToRouteTableSelectionPoliciesSelectionPolicyOutputWithContext(context.Background()) +} + +func (i RouteTableSelectionPoliciesSelectionPolicyArgs) ToRouteTableSelectionPoliciesSelectionPolicyOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesSelectionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableSelectionPoliciesSelectionPolicyOutput) +} + +// RouteTableSelectionPoliciesSelectionPolicyArrayInput is an input type that accepts RouteTableSelectionPoliciesSelectionPolicyArray and RouteTableSelectionPoliciesSelectionPolicyArrayOutput values. +// You can construct a concrete instance of `RouteTableSelectionPoliciesSelectionPolicyArrayInput` via: +// +// RouteTableSelectionPoliciesSelectionPolicyArray{ RouteTableSelectionPoliciesSelectionPolicyArgs{...} } +type RouteTableSelectionPoliciesSelectionPolicyArrayInput interface { + pulumi.Input + + ToRouteTableSelectionPoliciesSelectionPolicyArrayOutput() RouteTableSelectionPoliciesSelectionPolicyArrayOutput + ToRouteTableSelectionPoliciesSelectionPolicyArrayOutputWithContext(context.Context) RouteTableSelectionPoliciesSelectionPolicyArrayOutput +} + +type RouteTableSelectionPoliciesSelectionPolicyArray []RouteTableSelectionPoliciesSelectionPolicyInput + +func (RouteTableSelectionPoliciesSelectionPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableSelectionPoliciesSelectionPolicy)(nil)).Elem() +} + +func (i RouteTableSelectionPoliciesSelectionPolicyArray) ToRouteTableSelectionPoliciesSelectionPolicyArrayOutput() RouteTableSelectionPoliciesSelectionPolicyArrayOutput { + return i.ToRouteTableSelectionPoliciesSelectionPolicyArrayOutputWithContext(context.Background()) +} + +func (i RouteTableSelectionPoliciesSelectionPolicyArray) ToRouteTableSelectionPoliciesSelectionPolicyArrayOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesSelectionPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableSelectionPoliciesSelectionPolicyArrayOutput) +} + +type RouteTableSelectionPoliciesSelectionPolicyOutput struct{ *pulumi.OutputState } + +func (RouteTableSelectionPoliciesSelectionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableSelectionPoliciesSelectionPolicy)(nil)).Elem() +} + +func (o RouteTableSelectionPoliciesSelectionPolicyOutput) ToRouteTableSelectionPoliciesSelectionPolicyOutput() RouteTableSelectionPoliciesSelectionPolicyOutput { + return o +} + +func (o RouteTableSelectionPoliciesSelectionPolicyOutput) ToRouteTableSelectionPoliciesSelectionPolicyOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesSelectionPolicyOutput { + return o +} + +// description. +func (o RouteTableSelectionPoliciesSelectionPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableSelectionPoliciesSelectionPolicy) string { return v.Description }).(pulumi.StringOutput) +} + +// Instance ID. +func (o RouteTableSelectionPoliciesSelectionPolicyOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableSelectionPoliciesSelectionPolicy) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. +func (o RouteTableSelectionPoliciesSelectionPolicyOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableSelectionPoliciesSelectionPolicy) string { return v.InstanceType }).(pulumi.StringOutput) +} + +// route table ID. +func (o RouteTableSelectionPoliciesSelectionPolicyOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableSelectionPoliciesSelectionPolicy) string { return v.RouteTableId }).(pulumi.StringOutput) +} + +// Source CIDR. +func (o RouteTableSelectionPoliciesSelectionPolicyOutput) SourceCidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v RouteTableSelectionPoliciesSelectionPolicy) string { return v.SourceCidrBlock }).(pulumi.StringOutput) +} + +type RouteTableSelectionPoliciesSelectionPolicyArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableSelectionPoliciesSelectionPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableSelectionPoliciesSelectionPolicy)(nil)).Elem() +} + +func (o RouteTableSelectionPoliciesSelectionPolicyArrayOutput) ToRouteTableSelectionPoliciesSelectionPolicyArrayOutput() RouteTableSelectionPoliciesSelectionPolicyArrayOutput { + return o +} + +func (o RouteTableSelectionPoliciesSelectionPolicyArrayOutput) ToRouteTableSelectionPoliciesSelectionPolicyArrayOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesSelectionPolicyArrayOutput { + return o +} + +func (o RouteTableSelectionPoliciesSelectionPolicyArrayOutput) Index(i pulumi.IntInput) RouteTableSelectionPoliciesSelectionPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableSelectionPoliciesSelectionPolicy { + return vs[0].([]RouteTableSelectionPoliciesSelectionPolicy)[vs[1].(int)] + }).(RouteTableSelectionPoliciesSelectionPolicyOutput) +} + type GetBandwidthLimitsLimit struct { // Limitation of bandwidth. BandwidthLimit int `pulumi:"bandwidthLimit"` @@ -1387,6 +2216,317 @@ func (o GetInstancesInstanceListAttachmentListArrayOutput) Index(i pulumi.IntInp }).(GetInstancesInstanceListAttachmentListOutput) } +type GetRoutesFilter struct { + // Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + Name string `pulumi:"name"` + // Filter value of the field. + Values []string `pulumi:"values"` +} + +// GetRoutesFilterInput is an input type that accepts GetRoutesFilterArgs and GetRoutesFilterOutput values. +// You can construct a concrete instance of `GetRoutesFilterInput` via: +// +// GetRoutesFilterArgs{...} +type GetRoutesFilterInput interface { + pulumi.Input + + ToGetRoutesFilterOutput() GetRoutesFilterOutput + ToGetRoutesFilterOutputWithContext(context.Context) GetRoutesFilterOutput +} + +type GetRoutesFilterArgs struct { + // Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + Name pulumi.StringInput `pulumi:"name"` + // Filter value of the field. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetRoutesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesFilter)(nil)).Elem() +} + +func (i GetRoutesFilterArgs) ToGetRoutesFilterOutput() GetRoutesFilterOutput { + return i.ToGetRoutesFilterOutputWithContext(context.Background()) +} + +func (i GetRoutesFilterArgs) ToGetRoutesFilterOutputWithContext(ctx context.Context) GetRoutesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesFilterOutput) +} + +// GetRoutesFilterArrayInput is an input type that accepts GetRoutesFilterArray and GetRoutesFilterArrayOutput values. +// You can construct a concrete instance of `GetRoutesFilterArrayInput` via: +// +// GetRoutesFilterArray{ GetRoutesFilterArgs{...} } +type GetRoutesFilterArrayInput interface { + pulumi.Input + + ToGetRoutesFilterArrayOutput() GetRoutesFilterArrayOutput + ToGetRoutesFilterArrayOutputWithContext(context.Context) GetRoutesFilterArrayOutput +} + +type GetRoutesFilterArray []GetRoutesFilterInput + +func (GetRoutesFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutesFilter)(nil)).Elem() +} + +func (i GetRoutesFilterArray) ToGetRoutesFilterArrayOutput() GetRoutesFilterArrayOutput { + return i.ToGetRoutesFilterArrayOutputWithContext(context.Background()) +} + +func (i GetRoutesFilterArray) ToGetRoutesFilterArrayOutputWithContext(ctx context.Context) GetRoutesFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesFilterArrayOutput) +} + +type GetRoutesFilterOutput struct{ *pulumi.OutputState } + +func (GetRoutesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesFilter)(nil)).Elem() +} + +func (o GetRoutesFilterOutput) ToGetRoutesFilterOutput() GetRoutesFilterOutput { + return o +} + +func (o GetRoutesFilterOutput) ToGetRoutesFilterOutputWithContext(ctx context.Context) GetRoutesFilterOutput { + return o +} + +// Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. +func (o GetRoutesFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Filter value of the field. +func (o GetRoutesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRoutesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetRoutesFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetRoutesFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutesFilter)(nil)).Elem() +} + +func (o GetRoutesFilterArrayOutput) ToGetRoutesFilterArrayOutput() GetRoutesFilterArrayOutput { + return o +} + +func (o GetRoutesFilterArrayOutput) ToGetRoutesFilterArrayOutputWithContext(ctx context.Context) GetRoutesFilterArrayOutput { + return o +} + +func (o GetRoutesFilterArrayOutput) Index(i pulumi.IntInput) GetRoutesFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutesFilter { + return vs[0].([]GetRoutesFilter)[vs[1].(int)] + }).(GetRoutesFilterOutput) +} + +type GetRoutesRouteList struct { + // Destination. + DestinationCidrBlock string `pulumi:"destinationCidrBlock"` + // Is routing enabled. + Enabled bool `pulumi:"enabled"` + // Extension status of routing. + ExtraState string `pulumi:"extraState"` + // Next hop extension name (associated instance extension name). + InstanceExtraName string `pulumi:"instanceExtraName"` + // Next jump (associated instance ID). + InstanceId string `pulumi:"instanceId"` + // Next jump (associated instance name). + InstanceName string `pulumi:"instanceName"` + // Next jump (associated instance region). + InstanceRegion string `pulumi:"instanceRegion"` + // Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. + InstanceType string `pulumi:"instanceType"` + // The UIN (root account) to which the associated instance belongs. + InstanceUin string `pulumi:"instanceUin"` + // Is it dynamic routing. + IsBgp bool `pulumi:"isBgp"` + // route ID. + RouteId string `pulumi:"routeId"` + // Routing priority. + RoutePriority int `pulumi:"routePriority"` + // update time. + UpdateTime string `pulumi:"updateTime"` +} + +// GetRoutesRouteListInput is an input type that accepts GetRoutesRouteListArgs and GetRoutesRouteListOutput values. +// You can construct a concrete instance of `GetRoutesRouteListInput` via: +// +// GetRoutesRouteListArgs{...} +type GetRoutesRouteListInput interface { + pulumi.Input + + ToGetRoutesRouteListOutput() GetRoutesRouteListOutput + ToGetRoutesRouteListOutputWithContext(context.Context) GetRoutesRouteListOutput +} + +type GetRoutesRouteListArgs struct { + // Destination. + DestinationCidrBlock pulumi.StringInput `pulumi:"destinationCidrBlock"` + // Is routing enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Extension status of routing. + ExtraState pulumi.StringInput `pulumi:"extraState"` + // Next hop extension name (associated instance extension name). + InstanceExtraName pulumi.StringInput `pulumi:"instanceExtraName"` + // Next jump (associated instance ID). + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Next jump (associated instance name). + InstanceName pulumi.StringInput `pulumi:"instanceName"` + // Next jump (associated instance region). + InstanceRegion pulumi.StringInput `pulumi:"instanceRegion"` + // Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // The UIN (root account) to which the associated instance belongs. + InstanceUin pulumi.StringInput `pulumi:"instanceUin"` + // Is it dynamic routing. + IsBgp pulumi.BoolInput `pulumi:"isBgp"` + // route ID. + RouteId pulumi.StringInput `pulumi:"routeId"` + // Routing priority. + RoutePriority pulumi.IntInput `pulumi:"routePriority"` + // update time. + UpdateTime pulumi.StringInput `pulumi:"updateTime"` +} + +func (GetRoutesRouteListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesRouteList)(nil)).Elem() +} + +func (i GetRoutesRouteListArgs) ToGetRoutesRouteListOutput() GetRoutesRouteListOutput { + return i.ToGetRoutesRouteListOutputWithContext(context.Background()) +} + +func (i GetRoutesRouteListArgs) ToGetRoutesRouteListOutputWithContext(ctx context.Context) GetRoutesRouteListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesRouteListOutput) +} + +// GetRoutesRouteListArrayInput is an input type that accepts GetRoutesRouteListArray and GetRoutesRouteListArrayOutput values. +// You can construct a concrete instance of `GetRoutesRouteListArrayInput` via: +// +// GetRoutesRouteListArray{ GetRoutesRouteListArgs{...} } +type GetRoutesRouteListArrayInput interface { + pulumi.Input + + ToGetRoutesRouteListArrayOutput() GetRoutesRouteListArrayOutput + ToGetRoutesRouteListArrayOutputWithContext(context.Context) GetRoutesRouteListArrayOutput +} + +type GetRoutesRouteListArray []GetRoutesRouteListInput + +func (GetRoutesRouteListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutesRouteList)(nil)).Elem() +} + +func (i GetRoutesRouteListArray) ToGetRoutesRouteListArrayOutput() GetRoutesRouteListArrayOutput { + return i.ToGetRoutesRouteListArrayOutputWithContext(context.Background()) +} + +func (i GetRoutesRouteListArray) ToGetRoutesRouteListArrayOutputWithContext(ctx context.Context) GetRoutesRouteListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutesRouteListArrayOutput) +} + +type GetRoutesRouteListOutput struct{ *pulumi.OutputState } + +func (GetRoutesRouteListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutesRouteList)(nil)).Elem() +} + +func (o GetRoutesRouteListOutput) ToGetRoutesRouteListOutput() GetRoutesRouteListOutput { + return o +} + +func (o GetRoutesRouteListOutput) ToGetRoutesRouteListOutputWithContext(ctx context.Context) GetRoutesRouteListOutput { + return o +} + +// Destination. +func (o GetRoutesRouteListOutput) DestinationCidrBlock() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.DestinationCidrBlock }).(pulumi.StringOutput) +} + +// Is routing enabled. +func (o GetRoutesRouteListOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutesRouteList) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// Extension status of routing. +func (o GetRoutesRouteListOutput) ExtraState() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.ExtraState }).(pulumi.StringOutput) +} + +// Next hop extension name (associated instance extension name). +func (o GetRoutesRouteListOutput) InstanceExtraName() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.InstanceExtraName }).(pulumi.StringOutput) +} + +// Next jump (associated instance ID). +func (o GetRoutesRouteListOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Next jump (associated instance name). +func (o GetRoutesRouteListOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.InstanceName }).(pulumi.StringOutput) +} + +// Next jump (associated instance region). +func (o GetRoutesRouteListOutput) InstanceRegion() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.InstanceRegion }).(pulumi.StringOutput) +} + +// Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. +func (o GetRoutesRouteListOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.InstanceType }).(pulumi.StringOutput) +} + +// The UIN (root account) to which the associated instance belongs. +func (o GetRoutesRouteListOutput) InstanceUin() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.InstanceUin }).(pulumi.StringOutput) +} + +// Is it dynamic routing. +func (o GetRoutesRouteListOutput) IsBgp() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutesRouteList) bool { return v.IsBgp }).(pulumi.BoolOutput) +} + +// route ID. +func (o GetRoutesRouteListOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.RouteId }).(pulumi.StringOutput) +} + +// Routing priority. +func (o GetRoutesRouteListOutput) RoutePriority() pulumi.IntOutput { + return o.ApplyT(func(v GetRoutesRouteList) int { return v.RoutePriority }).(pulumi.IntOutput) +} + +// update time. +func (o GetRoutesRouteListOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutesRouteList) string { return v.UpdateTime }).(pulumi.StringOutput) +} + +type GetRoutesRouteListArrayOutput struct{ *pulumi.OutputState } + +func (GetRoutesRouteListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutesRouteList)(nil)).Elem() +} + +func (o GetRoutesRouteListArrayOutput) ToGetRoutesRouteListArrayOutput() GetRoutesRouteListArrayOutput { + return o +} + +func (o GetRoutesRouteListArrayOutput) ToGetRoutesRouteListArrayOutputWithContext(ctx context.Context) GetRoutesRouteListArrayOutput { + return o +} + +func (o GetRoutesRouteListArrayOutput) Index(i pulumi.IntInput) GetRoutesRouteListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutesRouteList { + return vs[0].([]GetRoutesRouteList)[vs[1].(int)] + }).(GetRoutesRouteListOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstancesAcceptAttachInstanceInput)(nil)).Elem(), InstancesAcceptAttachInstanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstancesAcceptAttachInstanceArrayInput)(nil)).Elem(), InstancesAcceptAttachInstanceArray{}) @@ -1394,6 +2534,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstancesRejectAttachInstanceArrayInput)(nil)).Elem(), InstancesRejectAttachInstanceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstancesResetAttachInstanceInput)(nil)).Elem(), InstancesResetAttachInstanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstancesResetAttachInstanceArrayInput)(nil)).Elem(), InstancesResetAttachInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableAssociateInstanceConfigInstanceInput)(nil)).Elem(), RouteTableAssociateInstanceConfigInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableAssociateInstanceConfigInstanceArrayInput)(nil)).Elem(), RouteTableAssociateInstanceConfigInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyInput)(nil)).Elem(), RouteTableBroadcastPoliciesPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyArrayInput)(nil)).Elem(), RouteTableBroadcastPoliciesPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyBroadcastConditionInput)(nil)).Elem(), RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayInput)(nil)).Elem(), RouteTableBroadcastPoliciesPolicyBroadcastConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyRouteConditionInput)(nil)).Elem(), RouteTableBroadcastPoliciesPolicyRouteConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesPolicyRouteConditionArrayInput)(nil)).Elem(), RouteTableBroadcastPoliciesPolicyRouteConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInputPoliciesPolicyInput)(nil)).Elem(), RouteTableInputPoliciesPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInputPoliciesPolicyArrayInput)(nil)).Elem(), RouteTableInputPoliciesPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInputPoliciesPolicyRouteConditionInput)(nil)).Elem(), RouteTableInputPoliciesPolicyRouteConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInputPoliciesPolicyRouteConditionArrayInput)(nil)).Elem(), RouteTableInputPoliciesPolicyRouteConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableSelectionPoliciesSelectionPolicyInput)(nil)).Elem(), RouteTableSelectionPoliciesSelectionPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableSelectionPoliciesSelectionPolicyArrayInput)(nil)).Elem(), RouteTableSelectionPoliciesSelectionPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBandwidthLimitsLimitInput)(nil)).Elem(), GetBandwidthLimitsLimitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBandwidthLimitsLimitArrayInput)(nil)).Elem(), GetBandwidthLimitsLimitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataInput)(nil)).Elem(), GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataArgs{}) @@ -1408,12 +2562,30 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstanceListArrayInput)(nil)).Elem(), GetInstancesInstanceListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstanceListAttachmentListInput)(nil)).Elem(), GetInstancesInstanceListAttachmentListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstanceListAttachmentListArrayInput)(nil)).Elem(), GetInstancesInstanceListAttachmentListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoutesFilterInput)(nil)).Elem(), GetRoutesFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoutesFilterArrayInput)(nil)).Elem(), GetRoutesFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoutesRouteListInput)(nil)).Elem(), GetRoutesRouteListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoutesRouteListArrayInput)(nil)).Elem(), GetRoutesRouteListArray{}) pulumi.RegisterOutputType(InstancesAcceptAttachInstanceOutput{}) pulumi.RegisterOutputType(InstancesAcceptAttachInstanceArrayOutput{}) pulumi.RegisterOutputType(InstancesRejectAttachInstanceOutput{}) pulumi.RegisterOutputType(InstancesRejectAttachInstanceArrayOutput{}) pulumi.RegisterOutputType(InstancesResetAttachInstanceOutput{}) pulumi.RegisterOutputType(InstancesResetAttachInstanceArrayOutput{}) + pulumi.RegisterOutputType(RouteTableAssociateInstanceConfigInstanceOutput{}) + pulumi.RegisterOutputType(RouteTableAssociateInstanceConfigInstanceArrayOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesPolicyOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesPolicyArrayOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesPolicyBroadcastConditionOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesPolicyBroadcastConditionArrayOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesPolicyRouteConditionOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesPolicyRouteConditionArrayOutput{}) + pulumi.RegisterOutputType(RouteTableInputPoliciesPolicyOutput{}) + pulumi.RegisterOutputType(RouteTableInputPoliciesPolicyArrayOutput{}) + pulumi.RegisterOutputType(RouteTableInputPoliciesPolicyRouteConditionOutput{}) + pulumi.RegisterOutputType(RouteTableInputPoliciesPolicyRouteConditionArrayOutput{}) + pulumi.RegisterOutputType(RouteTableSelectionPoliciesSelectionPolicyOutput{}) + pulumi.RegisterOutputType(RouteTableSelectionPoliciesSelectionPolicyArrayOutput{}) pulumi.RegisterOutputType(GetBandwidthLimitsLimitOutput{}) pulumi.RegisterOutputType(GetBandwidthLimitsLimitArrayOutput{}) pulumi.RegisterOutputType(GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataOutput{}) @@ -1428,4 +2600,8 @@ func init() { pulumi.RegisterOutputType(GetInstancesInstanceListArrayOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceListAttachmentListOutput{}) pulumi.RegisterOutputType(GetInstancesInstanceListAttachmentListArrayOutput{}) + pulumi.RegisterOutputType(GetRoutesFilterOutput{}) + pulumi.RegisterOutputType(GetRoutesFilterArrayOutput{}) + pulumi.RegisterOutputType(GetRoutesRouteListOutput{}) + pulumi.RegisterOutputType(GetRoutesRouteListArrayOutput{}) } diff --git a/sdk/go/tencentcloud/ccn/routeTable.go b/sdk/go/tencentcloud/ccn/routeTable.go new file mode 100644 index 000000000..4fc3dfd8e --- /dev/null +++ b/sdk/go/tencentcloud/ccn/routeTable.go @@ -0,0 +1,354 @@ +// 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 ccn + +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 CCN Route table. +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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/Ccn" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := "ap-guangzhou" +// if param := cfg.Get("region"); param != "" { +// region = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create ccn +// exampleInstance, err := Ccn.NewInstance(ctx, "exampleInstance", &Ccn.InstanceArgs{ +// Description: pulumi.String("desc."), +// Qos: pulumi.String("AG"), +// ChargeType: pulumi.String("PREPAID"), +// BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create ccn route table +// _, err = Ccn.NewRouteTable(ctx, "exampleRouteTable", &Ccn.RouteTableArgs{ +// CcnId: exampleInstance.ID(), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// Ccn instance can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Ccn/routeTable:RouteTable example ccnrtb-r5hrr417 +// ``` +type RouteTable struct { + pulumi.CustomResourceState + + // CCN Instance ID. + CcnId pulumi.StringOutput `pulumi:"ccnId"` + // create time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Description of CCN Route table. + Description pulumi.StringOutput `pulumi:"description"` + // True: default routing table False: non default routing table. + IsDefaultTable pulumi.BoolOutput `pulumi:"isDefaultTable"` + // CCN Route table name. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewRouteTable registers a new resource with the given unique name, arguments, and options. +func NewRouteTable(ctx *pulumi.Context, + name string, args *RouteTableArgs, opts ...pulumi.ResourceOption) (*RouteTable, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CcnId == nil { + return nil, errors.New("invalid value for required argument 'CcnId'") + } + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RouteTable + err := ctx.RegisterResource("tencentcloud:Ccn/routeTable:RouteTable", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRouteTable gets an existing RouteTable 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 GetRouteTable(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RouteTableState, opts ...pulumi.ResourceOption) (*RouteTable, error) { + var resource RouteTable + err := ctx.ReadResource("tencentcloud:Ccn/routeTable:RouteTable", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RouteTable resources. +type routeTableState struct { + // CCN Instance ID. + CcnId *string `pulumi:"ccnId"` + // create time. + CreateTime *string `pulumi:"createTime"` + // Description of CCN Route table. + Description *string `pulumi:"description"` + // True: default routing table False: non default routing table. + IsDefaultTable *bool `pulumi:"isDefaultTable"` + // CCN Route table name. + Name *string `pulumi:"name"` +} + +type RouteTableState struct { + // CCN Instance ID. + CcnId pulumi.StringPtrInput + // create time. + CreateTime pulumi.StringPtrInput + // Description of CCN Route table. + Description pulumi.StringPtrInput + // True: default routing table False: non default routing table. + IsDefaultTable pulumi.BoolPtrInput + // CCN Route table name. + Name pulumi.StringPtrInput +} + +func (RouteTableState) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableState)(nil)).Elem() +} + +type routeTableArgs struct { + // CCN Instance ID. + CcnId string `pulumi:"ccnId"` + // Description of CCN Route table. + Description string `pulumi:"description"` + // CCN Route table name. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a RouteTable resource. +type RouteTableArgs struct { + // CCN Instance ID. + CcnId pulumi.StringInput + // Description of CCN Route table. + Description pulumi.StringInput + // CCN Route table name. + Name pulumi.StringPtrInput +} + +func (RouteTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableArgs)(nil)).Elem() +} + +type RouteTableInput interface { + pulumi.Input + + ToRouteTableOutput() RouteTableOutput + ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput +} + +func (*RouteTable) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTable)(nil)).Elem() +} + +func (i *RouteTable) ToRouteTableOutput() RouteTableOutput { + return i.ToRouteTableOutputWithContext(context.Background()) +} + +func (i *RouteTable) ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableOutput) +} + +// RouteTableArrayInput is an input type that accepts RouteTableArray and RouteTableArrayOutput values. +// You can construct a concrete instance of `RouteTableArrayInput` via: +// +// RouteTableArray{ RouteTableArgs{...} } +type RouteTableArrayInput interface { + pulumi.Input + + ToRouteTableArrayOutput() RouteTableArrayOutput + ToRouteTableArrayOutputWithContext(context.Context) RouteTableArrayOutput +} + +type RouteTableArray []RouteTableInput + +func (RouteTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTable)(nil)).Elem() +} + +func (i RouteTableArray) ToRouteTableArrayOutput() RouteTableArrayOutput { + return i.ToRouteTableArrayOutputWithContext(context.Background()) +} + +func (i RouteTableArray) ToRouteTableArrayOutputWithContext(ctx context.Context) RouteTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableArrayOutput) +} + +// RouteTableMapInput is an input type that accepts RouteTableMap and RouteTableMapOutput values. +// You can construct a concrete instance of `RouteTableMapInput` via: +// +// RouteTableMap{ "key": RouteTableArgs{...} } +type RouteTableMapInput interface { + pulumi.Input + + ToRouteTableMapOutput() RouteTableMapOutput + ToRouteTableMapOutputWithContext(context.Context) RouteTableMapOutput +} + +type RouteTableMap map[string]RouteTableInput + +func (RouteTableMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTable)(nil)).Elem() +} + +func (i RouteTableMap) ToRouteTableMapOutput() RouteTableMapOutput { + return i.ToRouteTableMapOutputWithContext(context.Background()) +} + +func (i RouteTableMap) ToRouteTableMapOutputWithContext(ctx context.Context) RouteTableMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableMapOutput) +} + +type RouteTableOutput struct{ *pulumi.OutputState } + +func (RouteTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTable)(nil)).Elem() +} + +func (o RouteTableOutput) ToRouteTableOutput() RouteTableOutput { + return o +} + +func (o RouteTableOutput) ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput { + return o +} + +// CCN Instance ID. +func (o RouteTableOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTable) pulumi.StringOutput { return v.CcnId }).(pulumi.StringOutput) +} + +// create time. +func (o RouteTableOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTable) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// Description of CCN Route table. +func (o RouteTableOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTable) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// True: default routing table False: non default routing table. +func (o RouteTableOutput) IsDefaultTable() pulumi.BoolOutput { + return o.ApplyT(func(v *RouteTable) pulumi.BoolOutput { return v.IsDefaultTable }).(pulumi.BoolOutput) +} + +// CCN Route table name. +func (o RouteTableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTable) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type RouteTableArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTable)(nil)).Elem() +} + +func (o RouteTableArrayOutput) ToRouteTableArrayOutput() RouteTableArrayOutput { + return o +} + +func (o RouteTableArrayOutput) ToRouteTableArrayOutputWithContext(ctx context.Context) RouteTableArrayOutput { + return o +} + +func (o RouteTableArrayOutput) Index(i pulumi.IntInput) RouteTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RouteTable { + return vs[0].([]*RouteTable)[vs[1].(int)] + }).(RouteTableOutput) +} + +type RouteTableMapOutput struct{ *pulumi.OutputState } + +func (RouteTableMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTable)(nil)).Elem() +} + +func (o RouteTableMapOutput) ToRouteTableMapOutput() RouteTableMapOutput { + return o +} + +func (o RouteTableMapOutput) ToRouteTableMapOutputWithContext(ctx context.Context) RouteTableMapOutput { + return o +} + +func (o RouteTableMapOutput) MapIndex(k pulumi.StringInput) RouteTableOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RouteTable { + return vs[0].(map[string]*RouteTable)[vs[1].(string)] + }).(RouteTableOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInput)(nil)).Elem(), &RouteTable{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableArrayInput)(nil)).Elem(), RouteTableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableMapInput)(nil)).Elem(), RouteTableMap{}) + pulumi.RegisterOutputType(RouteTableOutput{}) + pulumi.RegisterOutputType(RouteTableArrayOutput{}) + pulumi.RegisterOutputType(RouteTableMapOutput{}) +} diff --git a/sdk/go/tencentcloud/ccn/routeTableAssociateInstanceConfig.go b/sdk/go/tencentcloud/ccn/routeTableAssociateInstanceConfig.go new file mode 100644 index 000000000..047f9046a --- /dev/null +++ b/sdk/go/tencentcloud/ccn/routeTableAssociateInstanceConfig.go @@ -0,0 +1,364 @@ +// 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 ccn + +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 CCN Route table associate instance config. +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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/Ccn" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := "ap-guangzhou" +// if param := cfg.Get("region"); param != "" { +// region = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create ccn +// exampleInstance, err := Ccn.NewInstance(ctx, "exampleInstance", &Ccn.InstanceArgs{ +// Description: pulumi.String("desc."), +// Qos: pulumi.String("AG"), +// ChargeType: pulumi.String("PREPAID"), +// BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create ccn route table +// exampleRouteTable, err := Ccn.NewRouteTable(ctx, "exampleRouteTable", &Ccn.RouteTableArgs{ +// CcnId: exampleInstance.ID(), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// // attachment instance +// attachment, err := Ccn.NewAttachment(ctx, "attachment", &Ccn.AttachmentArgs{ +// CcnId: exampleInstance.ID(), +// InstanceId: vpc.ID(), +// InstanceType: pulumi.String("VPC"), +// InstanceRegion: pulumi.String(region), +// RouteTableId: exampleRouteTable.ID(), +// }) +// if err != nil { +// return err +// } +// // route table associate instance +// _, err = Ccn.NewRouteTableAssociateInstanceConfig(ctx, "exampleRouteTableAssociateInstanceConfig", &Ccn.RouteTableAssociateInstanceConfigArgs{ +// CcnId: exampleInstance.ID(), +// RouteTableId: exampleRouteTable.ID(), +// Instances: ccn.RouteTableAssociateInstanceConfigInstanceArray{ +// &ccn.RouteTableAssociateInstanceConfigInstanceArgs{ +// InstanceId: vpc.ID(), +// InstanceType: pulumi.String("VPC"), +// }, +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// attachment, +// })) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// Ccn instance can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig example ccn-gr7nynbd#ccnrtb-jpf7bzn3 +// ``` +type RouteTableAssociateInstanceConfig struct { + pulumi.CustomResourceState + + // ID of the CCN. + CcnId pulumi.StringOutput `pulumi:"ccnId"` + // Instances list. + Instances RouteTableAssociateInstanceConfigInstanceArrayOutput `pulumi:"instances"` + // Ccn instance route table ID. + RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` +} + +// NewRouteTableAssociateInstanceConfig registers a new resource with the given unique name, arguments, and options. +func NewRouteTableAssociateInstanceConfig(ctx *pulumi.Context, + name string, args *RouteTableAssociateInstanceConfigArgs, opts ...pulumi.ResourceOption) (*RouteTableAssociateInstanceConfig, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CcnId == nil { + return nil, errors.New("invalid value for required argument 'CcnId'") + } + if args.Instances == nil { + return nil, errors.New("invalid value for required argument 'Instances'") + } + if args.RouteTableId == nil { + return nil, errors.New("invalid value for required argument 'RouteTableId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RouteTableAssociateInstanceConfig + err := ctx.RegisterResource("tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRouteTableAssociateInstanceConfig gets an existing RouteTableAssociateInstanceConfig 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 GetRouteTableAssociateInstanceConfig(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RouteTableAssociateInstanceConfigState, opts ...pulumi.ResourceOption) (*RouteTableAssociateInstanceConfig, error) { + var resource RouteTableAssociateInstanceConfig + err := ctx.ReadResource("tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RouteTableAssociateInstanceConfig resources. +type routeTableAssociateInstanceConfigState struct { + // ID of the CCN. + CcnId *string `pulumi:"ccnId"` + // Instances list. + Instances []RouteTableAssociateInstanceConfigInstance `pulumi:"instances"` + // Ccn instance route table ID. + RouteTableId *string `pulumi:"routeTableId"` +} + +type RouteTableAssociateInstanceConfigState struct { + // ID of the CCN. + CcnId pulumi.StringPtrInput + // Instances list. + Instances RouteTableAssociateInstanceConfigInstanceArrayInput + // Ccn instance route table ID. + RouteTableId pulumi.StringPtrInput +} + +func (RouteTableAssociateInstanceConfigState) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableAssociateInstanceConfigState)(nil)).Elem() +} + +type routeTableAssociateInstanceConfigArgs struct { + // ID of the CCN. + CcnId string `pulumi:"ccnId"` + // Instances list. + Instances []RouteTableAssociateInstanceConfigInstance `pulumi:"instances"` + // Ccn instance route table ID. + RouteTableId string `pulumi:"routeTableId"` +} + +// The set of arguments for constructing a RouteTableAssociateInstanceConfig resource. +type RouteTableAssociateInstanceConfigArgs struct { + // ID of the CCN. + CcnId pulumi.StringInput + // Instances list. + Instances RouteTableAssociateInstanceConfigInstanceArrayInput + // Ccn instance route table ID. + RouteTableId pulumi.StringInput +} + +func (RouteTableAssociateInstanceConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableAssociateInstanceConfigArgs)(nil)).Elem() +} + +type RouteTableAssociateInstanceConfigInput interface { + pulumi.Input + + ToRouteTableAssociateInstanceConfigOutput() RouteTableAssociateInstanceConfigOutput + ToRouteTableAssociateInstanceConfigOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigOutput +} + +func (*RouteTableAssociateInstanceConfig) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableAssociateInstanceConfig)(nil)).Elem() +} + +func (i *RouteTableAssociateInstanceConfig) ToRouteTableAssociateInstanceConfigOutput() RouteTableAssociateInstanceConfigOutput { + return i.ToRouteTableAssociateInstanceConfigOutputWithContext(context.Background()) +} + +func (i *RouteTableAssociateInstanceConfig) ToRouteTableAssociateInstanceConfigOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableAssociateInstanceConfigOutput) +} + +// RouteTableAssociateInstanceConfigArrayInput is an input type that accepts RouteTableAssociateInstanceConfigArray and RouteTableAssociateInstanceConfigArrayOutput values. +// You can construct a concrete instance of `RouteTableAssociateInstanceConfigArrayInput` via: +// +// RouteTableAssociateInstanceConfigArray{ RouteTableAssociateInstanceConfigArgs{...} } +type RouteTableAssociateInstanceConfigArrayInput interface { + pulumi.Input + + ToRouteTableAssociateInstanceConfigArrayOutput() RouteTableAssociateInstanceConfigArrayOutput + ToRouteTableAssociateInstanceConfigArrayOutputWithContext(context.Context) RouteTableAssociateInstanceConfigArrayOutput +} + +type RouteTableAssociateInstanceConfigArray []RouteTableAssociateInstanceConfigInput + +func (RouteTableAssociateInstanceConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableAssociateInstanceConfig)(nil)).Elem() +} + +func (i RouteTableAssociateInstanceConfigArray) ToRouteTableAssociateInstanceConfigArrayOutput() RouteTableAssociateInstanceConfigArrayOutput { + return i.ToRouteTableAssociateInstanceConfigArrayOutputWithContext(context.Background()) +} + +func (i RouteTableAssociateInstanceConfigArray) ToRouteTableAssociateInstanceConfigArrayOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableAssociateInstanceConfigArrayOutput) +} + +// RouteTableAssociateInstanceConfigMapInput is an input type that accepts RouteTableAssociateInstanceConfigMap and RouteTableAssociateInstanceConfigMapOutput values. +// You can construct a concrete instance of `RouteTableAssociateInstanceConfigMapInput` via: +// +// RouteTableAssociateInstanceConfigMap{ "key": RouteTableAssociateInstanceConfigArgs{...} } +type RouteTableAssociateInstanceConfigMapInput interface { + pulumi.Input + + ToRouteTableAssociateInstanceConfigMapOutput() RouteTableAssociateInstanceConfigMapOutput + ToRouteTableAssociateInstanceConfigMapOutputWithContext(context.Context) RouteTableAssociateInstanceConfigMapOutput +} + +type RouteTableAssociateInstanceConfigMap map[string]RouteTableAssociateInstanceConfigInput + +func (RouteTableAssociateInstanceConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableAssociateInstanceConfig)(nil)).Elem() +} + +func (i RouteTableAssociateInstanceConfigMap) ToRouteTableAssociateInstanceConfigMapOutput() RouteTableAssociateInstanceConfigMapOutput { + return i.ToRouteTableAssociateInstanceConfigMapOutputWithContext(context.Background()) +} + +func (i RouteTableAssociateInstanceConfigMap) ToRouteTableAssociateInstanceConfigMapOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableAssociateInstanceConfigMapOutput) +} + +type RouteTableAssociateInstanceConfigOutput struct{ *pulumi.OutputState } + +func (RouteTableAssociateInstanceConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableAssociateInstanceConfig)(nil)).Elem() +} + +func (o RouteTableAssociateInstanceConfigOutput) ToRouteTableAssociateInstanceConfigOutput() RouteTableAssociateInstanceConfigOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigOutput) ToRouteTableAssociateInstanceConfigOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigOutput { + return o +} + +// ID of the CCN. +func (o RouteTableAssociateInstanceConfigOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTableAssociateInstanceConfig) pulumi.StringOutput { return v.CcnId }).(pulumi.StringOutput) +} + +// Instances list. +func (o RouteTableAssociateInstanceConfigOutput) Instances() RouteTableAssociateInstanceConfigInstanceArrayOutput { + return o.ApplyT(func(v *RouteTableAssociateInstanceConfig) RouteTableAssociateInstanceConfigInstanceArrayOutput { + return v.Instances + }).(RouteTableAssociateInstanceConfigInstanceArrayOutput) +} + +// Ccn instance route table ID. +func (o RouteTableAssociateInstanceConfigOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTableAssociateInstanceConfig) pulumi.StringOutput { return v.RouteTableId }).(pulumi.StringOutput) +} + +type RouteTableAssociateInstanceConfigArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableAssociateInstanceConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableAssociateInstanceConfig)(nil)).Elem() +} + +func (o RouteTableAssociateInstanceConfigArrayOutput) ToRouteTableAssociateInstanceConfigArrayOutput() RouteTableAssociateInstanceConfigArrayOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigArrayOutput) ToRouteTableAssociateInstanceConfigArrayOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigArrayOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigArrayOutput) Index(i pulumi.IntInput) RouteTableAssociateInstanceConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RouteTableAssociateInstanceConfig { + return vs[0].([]*RouteTableAssociateInstanceConfig)[vs[1].(int)] + }).(RouteTableAssociateInstanceConfigOutput) +} + +type RouteTableAssociateInstanceConfigMapOutput struct{ *pulumi.OutputState } + +func (RouteTableAssociateInstanceConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableAssociateInstanceConfig)(nil)).Elem() +} + +func (o RouteTableAssociateInstanceConfigMapOutput) ToRouteTableAssociateInstanceConfigMapOutput() RouteTableAssociateInstanceConfigMapOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigMapOutput) ToRouteTableAssociateInstanceConfigMapOutputWithContext(ctx context.Context) RouteTableAssociateInstanceConfigMapOutput { + return o +} + +func (o RouteTableAssociateInstanceConfigMapOutput) MapIndex(k pulumi.StringInput) RouteTableAssociateInstanceConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RouteTableAssociateInstanceConfig { + return vs[0].(map[string]*RouteTableAssociateInstanceConfig)[vs[1].(string)] + }).(RouteTableAssociateInstanceConfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableAssociateInstanceConfigInput)(nil)).Elem(), &RouteTableAssociateInstanceConfig{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableAssociateInstanceConfigArrayInput)(nil)).Elem(), RouteTableAssociateInstanceConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableAssociateInstanceConfigMapInput)(nil)).Elem(), RouteTableAssociateInstanceConfigMap{}) + pulumi.RegisterOutputType(RouteTableAssociateInstanceConfigOutput{}) + pulumi.RegisterOutputType(RouteTableAssociateInstanceConfigArrayOutput{}) + pulumi.RegisterOutputType(RouteTableAssociateInstanceConfigMapOutput{}) +} diff --git a/sdk/go/tencentcloud/ccn/routeTableBroadcastPolicies.go b/sdk/go/tencentcloud/ccn/routeTableBroadcastPolicies.go new file mode 100644 index 000000000..9e1861861 --- /dev/null +++ b/sdk/go/tencentcloud/ccn/routeTableBroadcastPolicies.go @@ -0,0 +1,380 @@ +// 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 ccn + +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 CCN Route table broadcast policies. +// +// > **NOTE:** Use this resource to manage all broadcast policies under the routing table of CCN instances. +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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/Ccn" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := "ap-guangzhou" +// if param := cfg.Get("region"); param != "" { +// region = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create ccn +// exampleInstance, err := Ccn.NewInstance(ctx, "exampleInstance", &Ccn.InstanceArgs{ +// Description: pulumi.String("desc."), +// Qos: pulumi.String("AG"), +// ChargeType: pulumi.String("PREPAID"), +// BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create ccn route table +// exampleRouteTable, err := Ccn.NewRouteTable(ctx, "exampleRouteTable", &Ccn.RouteTableArgs{ +// CcnId: exampleInstance.ID(), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// // attachment instance +// _, err = Ccn.NewAttachment(ctx, "attachment", &Ccn.AttachmentArgs{ +// CcnId: exampleInstance.ID(), +// InstanceId: vpc.ID(), +// InstanceType: pulumi.String("VPC"), +// InstanceRegion: pulumi.String(region), +// RouteTableId: exampleRouteTable.ID(), +// }) +// if err != nil { +// return err +// } +// // create route table broadcast policy +// _, err = Ccn.NewRouteTableBroadcastPolicies(ctx, "exampleRouteTableBroadcastPolicies", &Ccn.RouteTableBroadcastPoliciesArgs{ +// CcnId: exampleInstance.ID(), +// RouteTableId: exampleRouteTable.ID(), +// Policies: ccn.RouteTableBroadcastPoliciesPolicyArray{ +// &ccn.RouteTableBroadcastPoliciesPolicyArgs{ +// Action: pulumi.String("accept"), +// Description: pulumi.String("desc."), +// RouteConditions: ccn.RouteTableBroadcastPoliciesPolicyRouteConditionArray{ +// &ccn.RouteTableBroadcastPoliciesPolicyRouteConditionArgs{ +// Name: pulumi.String("instance-region"), +// Values: pulumi.StringArray{ +// pulumi.String("ap-guangzhou"), +// }, +// MatchPattern: pulumi.Int(1), +// }, +// }, +// BroadcastConditions: ccn.RouteTableBroadcastPoliciesPolicyBroadcastConditionArray{ +// &ccn.RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs{ +// Name: pulumi.String("instance-region"), +// Values: pulumi.StringArray{ +// pulumi.String("ap-shanghai"), +// }, +// MatchPattern: pulumi.Int(1), +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// Ccn instance can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 +// ``` +type RouteTableBroadcastPolicies struct { + pulumi.CustomResourceState + + // CCN Instance ID. + CcnId pulumi.StringOutput `pulumi:"ccnId"` + // Routing propagation strategy. + Policies RouteTableBroadcastPoliciesPolicyArrayOutput `pulumi:"policies"` + // CCN Route table ID. + RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` +} + +// NewRouteTableBroadcastPolicies registers a new resource with the given unique name, arguments, and options. +func NewRouteTableBroadcastPolicies(ctx *pulumi.Context, + name string, args *RouteTableBroadcastPoliciesArgs, opts ...pulumi.ResourceOption) (*RouteTableBroadcastPolicies, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CcnId == nil { + return nil, errors.New("invalid value for required argument 'CcnId'") + } + if args.Policies == nil { + return nil, errors.New("invalid value for required argument 'Policies'") + } + if args.RouteTableId == nil { + return nil, errors.New("invalid value for required argument 'RouteTableId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RouteTableBroadcastPolicies + err := ctx.RegisterResource("tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRouteTableBroadcastPolicies gets an existing RouteTableBroadcastPolicies 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 GetRouteTableBroadcastPolicies(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RouteTableBroadcastPoliciesState, opts ...pulumi.ResourceOption) (*RouteTableBroadcastPolicies, error) { + var resource RouteTableBroadcastPolicies + err := ctx.ReadResource("tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RouteTableBroadcastPolicies resources. +type routeTableBroadcastPoliciesState struct { + // CCN Instance ID. + CcnId *string `pulumi:"ccnId"` + // Routing propagation strategy. + Policies []RouteTableBroadcastPoliciesPolicy `pulumi:"policies"` + // CCN Route table ID. + RouteTableId *string `pulumi:"routeTableId"` +} + +type RouteTableBroadcastPoliciesState struct { + // CCN Instance ID. + CcnId pulumi.StringPtrInput + // Routing propagation strategy. + Policies RouteTableBroadcastPoliciesPolicyArrayInput + // CCN Route table ID. + RouteTableId pulumi.StringPtrInput +} + +func (RouteTableBroadcastPoliciesState) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableBroadcastPoliciesState)(nil)).Elem() +} + +type routeTableBroadcastPoliciesArgs struct { + // CCN Instance ID. + CcnId string `pulumi:"ccnId"` + // Routing propagation strategy. + Policies []RouteTableBroadcastPoliciesPolicy `pulumi:"policies"` + // CCN Route table ID. + RouteTableId string `pulumi:"routeTableId"` +} + +// The set of arguments for constructing a RouteTableBroadcastPolicies resource. +type RouteTableBroadcastPoliciesArgs struct { + // CCN Instance ID. + CcnId pulumi.StringInput + // Routing propagation strategy. + Policies RouteTableBroadcastPoliciesPolicyArrayInput + // CCN Route table ID. + RouteTableId pulumi.StringInput +} + +func (RouteTableBroadcastPoliciesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableBroadcastPoliciesArgs)(nil)).Elem() +} + +type RouteTableBroadcastPoliciesInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesOutput() RouteTableBroadcastPoliciesOutput + ToRouteTableBroadcastPoliciesOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesOutput +} + +func (*RouteTableBroadcastPolicies) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableBroadcastPolicies)(nil)).Elem() +} + +func (i *RouteTableBroadcastPolicies) ToRouteTableBroadcastPoliciesOutput() RouteTableBroadcastPoliciesOutput { + return i.ToRouteTableBroadcastPoliciesOutputWithContext(context.Background()) +} + +func (i *RouteTableBroadcastPolicies) ToRouteTableBroadcastPoliciesOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesOutput) +} + +// RouteTableBroadcastPoliciesArrayInput is an input type that accepts RouteTableBroadcastPoliciesArray and RouteTableBroadcastPoliciesArrayOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesArrayInput` via: +// +// RouteTableBroadcastPoliciesArray{ RouteTableBroadcastPoliciesArgs{...} } +type RouteTableBroadcastPoliciesArrayInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesArrayOutput() RouteTableBroadcastPoliciesArrayOutput + ToRouteTableBroadcastPoliciesArrayOutputWithContext(context.Context) RouteTableBroadcastPoliciesArrayOutput +} + +type RouteTableBroadcastPoliciesArray []RouteTableBroadcastPoliciesInput + +func (RouteTableBroadcastPoliciesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableBroadcastPolicies)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesArray) ToRouteTableBroadcastPoliciesArrayOutput() RouteTableBroadcastPoliciesArrayOutput { + return i.ToRouteTableBroadcastPoliciesArrayOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesArray) ToRouteTableBroadcastPoliciesArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesArrayOutput) +} + +// RouteTableBroadcastPoliciesMapInput is an input type that accepts RouteTableBroadcastPoliciesMap and RouteTableBroadcastPoliciesMapOutput values. +// You can construct a concrete instance of `RouteTableBroadcastPoliciesMapInput` via: +// +// RouteTableBroadcastPoliciesMap{ "key": RouteTableBroadcastPoliciesArgs{...} } +type RouteTableBroadcastPoliciesMapInput interface { + pulumi.Input + + ToRouteTableBroadcastPoliciesMapOutput() RouteTableBroadcastPoliciesMapOutput + ToRouteTableBroadcastPoliciesMapOutputWithContext(context.Context) RouteTableBroadcastPoliciesMapOutput +} + +type RouteTableBroadcastPoliciesMap map[string]RouteTableBroadcastPoliciesInput + +func (RouteTableBroadcastPoliciesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableBroadcastPolicies)(nil)).Elem() +} + +func (i RouteTableBroadcastPoliciesMap) ToRouteTableBroadcastPoliciesMapOutput() RouteTableBroadcastPoliciesMapOutput { + return i.ToRouteTableBroadcastPoliciesMapOutputWithContext(context.Background()) +} + +func (i RouteTableBroadcastPoliciesMap) ToRouteTableBroadcastPoliciesMapOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableBroadcastPoliciesMapOutput) +} + +type RouteTableBroadcastPoliciesOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableBroadcastPolicies)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesOutput) ToRouteTableBroadcastPoliciesOutput() RouteTableBroadcastPoliciesOutput { + return o +} + +func (o RouteTableBroadcastPoliciesOutput) ToRouteTableBroadcastPoliciesOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesOutput { + return o +} + +// CCN Instance ID. +func (o RouteTableBroadcastPoliciesOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTableBroadcastPolicies) pulumi.StringOutput { return v.CcnId }).(pulumi.StringOutput) +} + +// Routing propagation strategy. +func (o RouteTableBroadcastPoliciesOutput) Policies() RouteTableBroadcastPoliciesPolicyArrayOutput { + return o.ApplyT(func(v *RouteTableBroadcastPolicies) RouteTableBroadcastPoliciesPolicyArrayOutput { return v.Policies }).(RouteTableBroadcastPoliciesPolicyArrayOutput) +} + +// CCN Route table ID. +func (o RouteTableBroadcastPoliciesOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTableBroadcastPolicies) pulumi.StringOutput { return v.RouteTableId }).(pulumi.StringOutput) +} + +type RouteTableBroadcastPoliciesArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableBroadcastPolicies)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesArrayOutput) ToRouteTableBroadcastPoliciesArrayOutput() RouteTableBroadcastPoliciesArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesArrayOutput) ToRouteTableBroadcastPoliciesArrayOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesArrayOutput { + return o +} + +func (o RouteTableBroadcastPoliciesArrayOutput) Index(i pulumi.IntInput) RouteTableBroadcastPoliciesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RouteTableBroadcastPolicies { + return vs[0].([]*RouteTableBroadcastPolicies)[vs[1].(int)] + }).(RouteTableBroadcastPoliciesOutput) +} + +type RouteTableBroadcastPoliciesMapOutput struct{ *pulumi.OutputState } + +func (RouteTableBroadcastPoliciesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableBroadcastPolicies)(nil)).Elem() +} + +func (o RouteTableBroadcastPoliciesMapOutput) ToRouteTableBroadcastPoliciesMapOutput() RouteTableBroadcastPoliciesMapOutput { + return o +} + +func (o RouteTableBroadcastPoliciesMapOutput) ToRouteTableBroadcastPoliciesMapOutputWithContext(ctx context.Context) RouteTableBroadcastPoliciesMapOutput { + return o +} + +func (o RouteTableBroadcastPoliciesMapOutput) MapIndex(k pulumi.StringInput) RouteTableBroadcastPoliciesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RouteTableBroadcastPolicies { + return vs[0].(map[string]*RouteTableBroadcastPolicies)[vs[1].(string)] + }).(RouteTableBroadcastPoliciesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesInput)(nil)).Elem(), &RouteTableBroadcastPolicies{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesArrayInput)(nil)).Elem(), RouteTableBroadcastPoliciesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableBroadcastPoliciesMapInput)(nil)).Elem(), RouteTableBroadcastPoliciesMap{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesArrayOutput{}) + pulumi.RegisterOutputType(RouteTableBroadcastPoliciesMapOutput{}) +} diff --git a/sdk/go/tencentcloud/ccn/routeTableInputPolicies.go b/sdk/go/tencentcloud/ccn/routeTableInputPolicies.go new file mode 100644 index 000000000..3a9897ef9 --- /dev/null +++ b/sdk/go/tencentcloud/ccn/routeTableInputPolicies.go @@ -0,0 +1,368 @@ +// 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 ccn + +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 CCN Route table input policies. +// +// > **NOTE:** Use this resource to manage all input policies under the routing table of CCN instances. +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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/Ccn" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := "ap-guangzhou" +// if param := cfg.Get("region"); param != "" { +// region = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create ccn +// exampleInstance, err := Ccn.NewInstance(ctx, "exampleInstance", &Ccn.InstanceArgs{ +// Description: pulumi.String("desc."), +// Qos: pulumi.String("AG"), +// ChargeType: pulumi.String("PREPAID"), +// BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create ccn route table +// exampleRouteTable, err := Ccn.NewRouteTable(ctx, "exampleRouteTable", &Ccn.RouteTableArgs{ +// CcnId: exampleInstance.ID(), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// // attachment instance +// _, err = Ccn.NewAttachment(ctx, "attachment", &Ccn.AttachmentArgs{ +// CcnId: exampleInstance.ID(), +// InstanceId: vpc.ID(), +// InstanceType: pulumi.String("VPC"), +// InstanceRegion: pulumi.String(region), +// RouteTableId: exampleRouteTable.ID(), +// }) +// if err != nil { +// return err +// } +// // create route table input policy +// _, err = Ccn.NewRouteTableInputPolicies(ctx, "exampleRouteTableInputPolicies", &Ccn.RouteTableInputPoliciesArgs{ +// CcnId: exampleInstance.ID(), +// RouteTableId: exampleRouteTable.ID(), +// Policies: ccn.RouteTableInputPoliciesPolicyArray{ +// &ccn.RouteTableInputPoliciesPolicyArgs{ +// Action: pulumi.String("accept"), +// Description: pulumi.String("desc."), +// RouteConditions: ccn.RouteTableInputPoliciesPolicyRouteConditionArray{ +// &ccn.RouteTableInputPoliciesPolicyRouteConditionArgs{ +// Name: pulumi.String("instance-region"), +// Values: pulumi.StringArray{ +// pulumi.String(region), +// }, +// MatchPattern: pulumi.Int(1), +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// Ccn instance can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 +// ``` +type RouteTableInputPolicies struct { + pulumi.CustomResourceState + + // CCN Instance ID. + CcnId pulumi.StringOutput `pulumi:"ccnId"` + // Routing reception strategy. + Policies RouteTableInputPoliciesPolicyArrayOutput `pulumi:"policies"` + // CCN Route table ID. + RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` +} + +// NewRouteTableInputPolicies registers a new resource with the given unique name, arguments, and options. +func NewRouteTableInputPolicies(ctx *pulumi.Context, + name string, args *RouteTableInputPoliciesArgs, opts ...pulumi.ResourceOption) (*RouteTableInputPolicies, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CcnId == nil { + return nil, errors.New("invalid value for required argument 'CcnId'") + } + if args.RouteTableId == nil { + return nil, errors.New("invalid value for required argument 'RouteTableId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RouteTableInputPolicies + err := ctx.RegisterResource("tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRouteTableInputPolicies gets an existing RouteTableInputPolicies 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 GetRouteTableInputPolicies(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RouteTableInputPoliciesState, opts ...pulumi.ResourceOption) (*RouteTableInputPolicies, error) { + var resource RouteTableInputPolicies + err := ctx.ReadResource("tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RouteTableInputPolicies resources. +type routeTableInputPoliciesState struct { + // CCN Instance ID. + CcnId *string `pulumi:"ccnId"` + // Routing reception strategy. + Policies []RouteTableInputPoliciesPolicy `pulumi:"policies"` + // CCN Route table ID. + RouteTableId *string `pulumi:"routeTableId"` +} + +type RouteTableInputPoliciesState struct { + // CCN Instance ID. + CcnId pulumi.StringPtrInput + // Routing reception strategy. + Policies RouteTableInputPoliciesPolicyArrayInput + // CCN Route table ID. + RouteTableId pulumi.StringPtrInput +} + +func (RouteTableInputPoliciesState) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableInputPoliciesState)(nil)).Elem() +} + +type routeTableInputPoliciesArgs struct { + // CCN Instance ID. + CcnId string `pulumi:"ccnId"` + // Routing reception strategy. + Policies []RouteTableInputPoliciesPolicy `pulumi:"policies"` + // CCN Route table ID. + RouteTableId string `pulumi:"routeTableId"` +} + +// The set of arguments for constructing a RouteTableInputPolicies resource. +type RouteTableInputPoliciesArgs struct { + // CCN Instance ID. + CcnId pulumi.StringInput + // Routing reception strategy. + Policies RouteTableInputPoliciesPolicyArrayInput + // CCN Route table ID. + RouteTableId pulumi.StringInput +} + +func (RouteTableInputPoliciesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableInputPoliciesArgs)(nil)).Elem() +} + +type RouteTableInputPoliciesInput interface { + pulumi.Input + + ToRouteTableInputPoliciesOutput() RouteTableInputPoliciesOutput + ToRouteTableInputPoliciesOutputWithContext(ctx context.Context) RouteTableInputPoliciesOutput +} + +func (*RouteTableInputPolicies) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableInputPolicies)(nil)).Elem() +} + +func (i *RouteTableInputPolicies) ToRouteTableInputPoliciesOutput() RouteTableInputPoliciesOutput { + return i.ToRouteTableInputPoliciesOutputWithContext(context.Background()) +} + +func (i *RouteTableInputPolicies) ToRouteTableInputPoliciesOutputWithContext(ctx context.Context) RouteTableInputPoliciesOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableInputPoliciesOutput) +} + +// RouteTableInputPoliciesArrayInput is an input type that accepts RouteTableInputPoliciesArray and RouteTableInputPoliciesArrayOutput values. +// You can construct a concrete instance of `RouteTableInputPoliciesArrayInput` via: +// +// RouteTableInputPoliciesArray{ RouteTableInputPoliciesArgs{...} } +type RouteTableInputPoliciesArrayInput interface { + pulumi.Input + + ToRouteTableInputPoliciesArrayOutput() RouteTableInputPoliciesArrayOutput + ToRouteTableInputPoliciesArrayOutputWithContext(context.Context) RouteTableInputPoliciesArrayOutput +} + +type RouteTableInputPoliciesArray []RouteTableInputPoliciesInput + +func (RouteTableInputPoliciesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableInputPolicies)(nil)).Elem() +} + +func (i RouteTableInputPoliciesArray) ToRouteTableInputPoliciesArrayOutput() RouteTableInputPoliciesArrayOutput { + return i.ToRouteTableInputPoliciesArrayOutputWithContext(context.Background()) +} + +func (i RouteTableInputPoliciesArray) ToRouteTableInputPoliciesArrayOutputWithContext(ctx context.Context) RouteTableInputPoliciesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableInputPoliciesArrayOutput) +} + +// RouteTableInputPoliciesMapInput is an input type that accepts RouteTableInputPoliciesMap and RouteTableInputPoliciesMapOutput values. +// You can construct a concrete instance of `RouteTableInputPoliciesMapInput` via: +// +// RouteTableInputPoliciesMap{ "key": RouteTableInputPoliciesArgs{...} } +type RouteTableInputPoliciesMapInput interface { + pulumi.Input + + ToRouteTableInputPoliciesMapOutput() RouteTableInputPoliciesMapOutput + ToRouteTableInputPoliciesMapOutputWithContext(context.Context) RouteTableInputPoliciesMapOutput +} + +type RouteTableInputPoliciesMap map[string]RouteTableInputPoliciesInput + +func (RouteTableInputPoliciesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableInputPolicies)(nil)).Elem() +} + +func (i RouteTableInputPoliciesMap) ToRouteTableInputPoliciesMapOutput() RouteTableInputPoliciesMapOutput { + return i.ToRouteTableInputPoliciesMapOutputWithContext(context.Background()) +} + +func (i RouteTableInputPoliciesMap) ToRouteTableInputPoliciesMapOutputWithContext(ctx context.Context) RouteTableInputPoliciesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableInputPoliciesMapOutput) +} + +type RouteTableInputPoliciesOutput struct{ *pulumi.OutputState } + +func (RouteTableInputPoliciesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableInputPolicies)(nil)).Elem() +} + +func (o RouteTableInputPoliciesOutput) ToRouteTableInputPoliciesOutput() RouteTableInputPoliciesOutput { + return o +} + +func (o RouteTableInputPoliciesOutput) ToRouteTableInputPoliciesOutputWithContext(ctx context.Context) RouteTableInputPoliciesOutput { + return o +} + +// CCN Instance ID. +func (o RouteTableInputPoliciesOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTableInputPolicies) pulumi.StringOutput { return v.CcnId }).(pulumi.StringOutput) +} + +// Routing reception strategy. +func (o RouteTableInputPoliciesOutput) Policies() RouteTableInputPoliciesPolicyArrayOutput { + return o.ApplyT(func(v *RouteTableInputPolicies) RouteTableInputPoliciesPolicyArrayOutput { return v.Policies }).(RouteTableInputPoliciesPolicyArrayOutput) +} + +// CCN Route table ID. +func (o RouteTableInputPoliciesOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTableInputPolicies) pulumi.StringOutput { return v.RouteTableId }).(pulumi.StringOutput) +} + +type RouteTableInputPoliciesArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableInputPoliciesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableInputPolicies)(nil)).Elem() +} + +func (o RouteTableInputPoliciesArrayOutput) ToRouteTableInputPoliciesArrayOutput() RouteTableInputPoliciesArrayOutput { + return o +} + +func (o RouteTableInputPoliciesArrayOutput) ToRouteTableInputPoliciesArrayOutputWithContext(ctx context.Context) RouteTableInputPoliciesArrayOutput { + return o +} + +func (o RouteTableInputPoliciesArrayOutput) Index(i pulumi.IntInput) RouteTableInputPoliciesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RouteTableInputPolicies { + return vs[0].([]*RouteTableInputPolicies)[vs[1].(int)] + }).(RouteTableInputPoliciesOutput) +} + +type RouteTableInputPoliciesMapOutput struct{ *pulumi.OutputState } + +func (RouteTableInputPoliciesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableInputPolicies)(nil)).Elem() +} + +func (o RouteTableInputPoliciesMapOutput) ToRouteTableInputPoliciesMapOutput() RouteTableInputPoliciesMapOutput { + return o +} + +func (o RouteTableInputPoliciesMapOutput) ToRouteTableInputPoliciesMapOutputWithContext(ctx context.Context) RouteTableInputPoliciesMapOutput { + return o +} + +func (o RouteTableInputPoliciesMapOutput) MapIndex(k pulumi.StringInput) RouteTableInputPoliciesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RouteTableInputPolicies { + return vs[0].(map[string]*RouteTableInputPolicies)[vs[1].(string)] + }).(RouteTableInputPoliciesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInputPoliciesInput)(nil)).Elem(), &RouteTableInputPolicies{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInputPoliciesArrayInput)(nil)).Elem(), RouteTableInputPoliciesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableInputPoliciesMapInput)(nil)).Elem(), RouteTableInputPoliciesMap{}) + pulumi.RegisterOutputType(RouteTableInputPoliciesOutput{}) + pulumi.RegisterOutputType(RouteTableInputPoliciesArrayOutput{}) + pulumi.RegisterOutputType(RouteTableInputPoliciesMapOutput{}) +} diff --git a/sdk/go/tencentcloud/ccn/routeTableSelectionPolicies.go b/sdk/go/tencentcloud/ccn/routeTableSelectionPolicies.go new file mode 100644 index 000000000..ab2d95892 --- /dev/null +++ b/sdk/go/tencentcloud/ccn/routeTableSelectionPolicies.go @@ -0,0 +1,348 @@ +// 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 ccn + +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 CCN Route table selection policies. +// +// > **NOTE:** Use this resource to manage all selection policies under the routing table of CCN instances. +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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/Ccn" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := "ap-guangzhou" +// if param := cfg.Get("region"); param != "" { +// region = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create ccn +// exampleInstance, err := Ccn.NewInstance(ctx, "exampleInstance", &Ccn.InstanceArgs{ +// Description: pulumi.String("desc."), +// Qos: pulumi.String("AG"), +// ChargeType: pulumi.String("PREPAID"), +// BandwidthLimitType: pulumi.String("INTER_REGION_LIMIT"), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create ccn route table +// exampleRouteTable, err := Ccn.NewRouteTable(ctx, "exampleRouteTable", &Ccn.RouteTableArgs{ +// CcnId: exampleInstance.ID(), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// // attachment instance +// _, err = Ccn.NewAttachment(ctx, "attachment", &Ccn.AttachmentArgs{ +// CcnId: exampleInstance.ID(), +// InstanceId: vpc.ID(), +// InstanceType: pulumi.String("VPC"), +// InstanceRegion: pulumi.String(region), +// RouteTableId: exampleRouteTable.ID(), +// }) +// if err != nil { +// return err +// } +// // create route table selection policy +// _, err = Ccn.NewRouteTableSelectionPolicies(ctx, "exampleRouteTableSelectionPolicies", &Ccn.RouteTableSelectionPoliciesArgs{ +// CcnId: exampleInstance.ID(), +// SelectionPolicies: ccn.RouteTableSelectionPoliciesSelectionPolicyArray{ +// &ccn.RouteTableSelectionPoliciesSelectionPolicyArgs{ +// InstanceType: pulumi.String("VPC"), +// InstanceId: vpc.ID(), +// SourceCidrBlock: pulumi.String("192.168.100.0/24"), +// RouteTableId: exampleRouteTable.ID(), +// Description: pulumi.String("desc."), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// Ccn instance can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies example ccn-gr7nynbd +// ``` +type RouteTableSelectionPolicies struct { + pulumi.CustomResourceState + + // CCN Instance ID. + CcnId pulumi.StringOutput `pulumi:"ccnId"` + // Select strategy information set. + SelectionPolicies RouteTableSelectionPoliciesSelectionPolicyArrayOutput `pulumi:"selectionPolicies"` +} + +// NewRouteTableSelectionPolicies registers a new resource with the given unique name, arguments, and options. +func NewRouteTableSelectionPolicies(ctx *pulumi.Context, + name string, args *RouteTableSelectionPoliciesArgs, opts ...pulumi.ResourceOption) (*RouteTableSelectionPolicies, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CcnId == nil { + return nil, errors.New("invalid value for required argument 'CcnId'") + } + if args.SelectionPolicies == nil { + return nil, errors.New("invalid value for required argument 'SelectionPolicies'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RouteTableSelectionPolicies + err := ctx.RegisterResource("tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRouteTableSelectionPolicies gets an existing RouteTableSelectionPolicies 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 GetRouteTableSelectionPolicies(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RouteTableSelectionPoliciesState, opts ...pulumi.ResourceOption) (*RouteTableSelectionPolicies, error) { + var resource RouteTableSelectionPolicies + err := ctx.ReadResource("tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RouteTableSelectionPolicies resources. +type routeTableSelectionPoliciesState struct { + // CCN Instance ID. + CcnId *string `pulumi:"ccnId"` + // Select strategy information set. + SelectionPolicies []RouteTableSelectionPoliciesSelectionPolicy `pulumi:"selectionPolicies"` +} + +type RouteTableSelectionPoliciesState struct { + // CCN Instance ID. + CcnId pulumi.StringPtrInput + // Select strategy information set. + SelectionPolicies RouteTableSelectionPoliciesSelectionPolicyArrayInput +} + +func (RouteTableSelectionPoliciesState) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableSelectionPoliciesState)(nil)).Elem() +} + +type routeTableSelectionPoliciesArgs struct { + // CCN Instance ID. + CcnId string `pulumi:"ccnId"` + // Select strategy information set. + SelectionPolicies []RouteTableSelectionPoliciesSelectionPolicy `pulumi:"selectionPolicies"` +} + +// The set of arguments for constructing a RouteTableSelectionPolicies resource. +type RouteTableSelectionPoliciesArgs struct { + // CCN Instance ID. + CcnId pulumi.StringInput + // Select strategy information set. + SelectionPolicies RouteTableSelectionPoliciesSelectionPolicyArrayInput +} + +func (RouteTableSelectionPoliciesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*routeTableSelectionPoliciesArgs)(nil)).Elem() +} + +type RouteTableSelectionPoliciesInput interface { + pulumi.Input + + ToRouteTableSelectionPoliciesOutput() RouteTableSelectionPoliciesOutput + ToRouteTableSelectionPoliciesOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesOutput +} + +func (*RouteTableSelectionPolicies) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableSelectionPolicies)(nil)).Elem() +} + +func (i *RouteTableSelectionPolicies) ToRouteTableSelectionPoliciesOutput() RouteTableSelectionPoliciesOutput { + return i.ToRouteTableSelectionPoliciesOutputWithContext(context.Background()) +} + +func (i *RouteTableSelectionPolicies) ToRouteTableSelectionPoliciesOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableSelectionPoliciesOutput) +} + +// RouteTableSelectionPoliciesArrayInput is an input type that accepts RouteTableSelectionPoliciesArray and RouteTableSelectionPoliciesArrayOutput values. +// You can construct a concrete instance of `RouteTableSelectionPoliciesArrayInput` via: +// +// RouteTableSelectionPoliciesArray{ RouteTableSelectionPoliciesArgs{...} } +type RouteTableSelectionPoliciesArrayInput interface { + pulumi.Input + + ToRouteTableSelectionPoliciesArrayOutput() RouteTableSelectionPoliciesArrayOutput + ToRouteTableSelectionPoliciesArrayOutputWithContext(context.Context) RouteTableSelectionPoliciesArrayOutput +} + +type RouteTableSelectionPoliciesArray []RouteTableSelectionPoliciesInput + +func (RouteTableSelectionPoliciesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableSelectionPolicies)(nil)).Elem() +} + +func (i RouteTableSelectionPoliciesArray) ToRouteTableSelectionPoliciesArrayOutput() RouteTableSelectionPoliciesArrayOutput { + return i.ToRouteTableSelectionPoliciesArrayOutputWithContext(context.Background()) +} + +func (i RouteTableSelectionPoliciesArray) ToRouteTableSelectionPoliciesArrayOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableSelectionPoliciesArrayOutput) +} + +// RouteTableSelectionPoliciesMapInput is an input type that accepts RouteTableSelectionPoliciesMap and RouteTableSelectionPoliciesMapOutput values. +// You can construct a concrete instance of `RouteTableSelectionPoliciesMapInput` via: +// +// RouteTableSelectionPoliciesMap{ "key": RouteTableSelectionPoliciesArgs{...} } +type RouteTableSelectionPoliciesMapInput interface { + pulumi.Input + + ToRouteTableSelectionPoliciesMapOutput() RouteTableSelectionPoliciesMapOutput + ToRouteTableSelectionPoliciesMapOutputWithContext(context.Context) RouteTableSelectionPoliciesMapOutput +} + +type RouteTableSelectionPoliciesMap map[string]RouteTableSelectionPoliciesInput + +func (RouteTableSelectionPoliciesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableSelectionPolicies)(nil)).Elem() +} + +func (i RouteTableSelectionPoliciesMap) ToRouteTableSelectionPoliciesMapOutput() RouteTableSelectionPoliciesMapOutput { + return i.ToRouteTableSelectionPoliciesMapOutputWithContext(context.Background()) +} + +func (i RouteTableSelectionPoliciesMap) ToRouteTableSelectionPoliciesMapOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableSelectionPoliciesMapOutput) +} + +type RouteTableSelectionPoliciesOutput struct{ *pulumi.OutputState } + +func (RouteTableSelectionPoliciesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteTableSelectionPolicies)(nil)).Elem() +} + +func (o RouteTableSelectionPoliciesOutput) ToRouteTableSelectionPoliciesOutput() RouteTableSelectionPoliciesOutput { + return o +} + +func (o RouteTableSelectionPoliciesOutput) ToRouteTableSelectionPoliciesOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesOutput { + return o +} + +// CCN Instance ID. +func (o RouteTableSelectionPoliciesOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v *RouteTableSelectionPolicies) pulumi.StringOutput { return v.CcnId }).(pulumi.StringOutput) +} + +// Select strategy information set. +func (o RouteTableSelectionPoliciesOutput) SelectionPolicies() RouteTableSelectionPoliciesSelectionPolicyArrayOutput { + return o.ApplyT(func(v *RouteTableSelectionPolicies) RouteTableSelectionPoliciesSelectionPolicyArrayOutput { + return v.SelectionPolicies + }).(RouteTableSelectionPoliciesSelectionPolicyArrayOutput) +} + +type RouteTableSelectionPoliciesArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableSelectionPoliciesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RouteTableSelectionPolicies)(nil)).Elem() +} + +func (o RouteTableSelectionPoliciesArrayOutput) ToRouteTableSelectionPoliciesArrayOutput() RouteTableSelectionPoliciesArrayOutput { + return o +} + +func (o RouteTableSelectionPoliciesArrayOutput) ToRouteTableSelectionPoliciesArrayOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesArrayOutput { + return o +} + +func (o RouteTableSelectionPoliciesArrayOutput) Index(i pulumi.IntInput) RouteTableSelectionPoliciesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RouteTableSelectionPolicies { + return vs[0].([]*RouteTableSelectionPolicies)[vs[1].(int)] + }).(RouteTableSelectionPoliciesOutput) +} + +type RouteTableSelectionPoliciesMapOutput struct{ *pulumi.OutputState } + +func (RouteTableSelectionPoliciesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RouteTableSelectionPolicies)(nil)).Elem() +} + +func (o RouteTableSelectionPoliciesMapOutput) ToRouteTableSelectionPoliciesMapOutput() RouteTableSelectionPoliciesMapOutput { + return o +} + +func (o RouteTableSelectionPoliciesMapOutput) ToRouteTableSelectionPoliciesMapOutputWithContext(ctx context.Context) RouteTableSelectionPoliciesMapOutput { + return o +} + +func (o RouteTableSelectionPoliciesMapOutput) MapIndex(k pulumi.StringInput) RouteTableSelectionPoliciesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RouteTableSelectionPolicies { + return vs[0].(map[string]*RouteTableSelectionPolicies)[vs[1].(string)] + }).(RouteTableSelectionPoliciesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableSelectionPoliciesInput)(nil)).Elem(), &RouteTableSelectionPolicies{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableSelectionPoliciesArrayInput)(nil)).Elem(), RouteTableSelectionPoliciesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteTableSelectionPoliciesMapInput)(nil)).Elem(), RouteTableSelectionPoliciesMap{}) + pulumi.RegisterOutputType(RouteTableSelectionPoliciesOutput{}) + pulumi.RegisterOutputType(RouteTableSelectionPoliciesArrayOutput{}) + pulumi.RegisterOutputType(RouteTableSelectionPoliciesMapOutput{}) +} diff --git a/sdk/go/tencentcloud/ccn/routes.go b/sdk/go/tencentcloud/ccn/routes.go index c9afe8b8d..1c99edf5e 100644 --- a/sdk/go/tencentcloud/ccn/routes.go +++ b/sdk/go/tencentcloud/ccn/routes.go @@ -12,7 +12,7 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provides a resource to create a vpc ccnRoutes +// Provides a resource to create a vpc ccnRoutes switch // // ## Example Usage // @@ -29,10 +29,10 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Ccn.NewRoutes(ctx, "ccnRoutes", &Ccn.RoutesArgs{ -// CcnId: pulumi.String("ccn-39lqkygf"), -// RouteId: pulumi.String("ccnr-3o0dfyuw"), -// Switch: pulumi.String("on"), +// _, err := Ccn.NewRoutes(ctx, "example", &Ccn.RoutesArgs{ +// CcnId: pulumi.String("ccn-gr7nynbd"), +// RouteId: pulumi.String("ccnrtb-jpf7bzn3"), +// Switch: pulumi.String("off"), // }) // if err != nil { // return err @@ -49,7 +49,7 @@ import ( // vpc ccn_routes can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccnId#routesId +// $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccn-gr7nynbd#ccnr-5uhewx1s // ``` type Routes struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/cdc/dedicatedCluster.go b/sdk/go/tencentcloud/cdc/dedicatedCluster.go new file mode 100644 index 000000000..8e0c23211 --- /dev/null +++ b/sdk/go/tencentcloud/cdc/dedicatedCluster.go @@ -0,0 +1,317 @@ +// 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 cdc + +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 CDC dedicated cluster +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // create cdc site +// exampleSite, err := Cdc.NewSite(ctx, "exampleSite", &Cdc.SiteArgs{ +// Country: pulumi.String("China"), +// Province: pulumi.String("Guangdong Province"), +// City: pulumi.String("Guangzhou"), +// AddressLine: pulumi.String("Tencent Building"), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// // create cdc dedicated cluster +// _, err = Cdc.NewDedicatedCluster(ctx, "exampleDedicatedCluster", &Cdc.DedicatedClusterArgs{ +// SiteId: exampleSite.ID(), +// Zone: pulumi.String("ap-guangzhou-6"), +// Description: pulumi.String("desc."), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// CDC dedicated cluster can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Cdc/dedicatedCluster:DedicatedCluster example cluster-d574omhk +// ``` +type DedicatedCluster struct { + pulumi.CustomResourceState + + // Dedicated Cluster Description. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Dedicated Cluster Name. + Name pulumi.StringOutput `pulumi:"name"` + // Dedicated Cluster Site ID. + SiteId pulumi.StringOutput `pulumi:"siteId"` + // Dedicated Cluster Zone. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewDedicatedCluster registers a new resource with the given unique name, arguments, and options. +func NewDedicatedCluster(ctx *pulumi.Context, + name string, args *DedicatedClusterArgs, opts ...pulumi.ResourceOption) (*DedicatedCluster, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.SiteId == nil { + return nil, errors.New("invalid value for required argument 'SiteId'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource DedicatedCluster + err := ctx.RegisterResource("tencentcloud:Cdc/dedicatedCluster:DedicatedCluster", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDedicatedCluster gets an existing DedicatedCluster 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 GetDedicatedCluster(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DedicatedClusterState, opts ...pulumi.ResourceOption) (*DedicatedCluster, error) { + var resource DedicatedCluster + err := ctx.ReadResource("tencentcloud:Cdc/dedicatedCluster:DedicatedCluster", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DedicatedCluster resources. +type dedicatedClusterState struct { + // Dedicated Cluster Description. + Description *string `pulumi:"description"` + // Dedicated Cluster Name. + Name *string `pulumi:"name"` + // Dedicated Cluster Site ID. + SiteId *string `pulumi:"siteId"` + // Dedicated Cluster Zone. + Zone *string `pulumi:"zone"` +} + +type DedicatedClusterState struct { + // Dedicated Cluster Description. + Description pulumi.StringPtrInput + // Dedicated Cluster Name. + Name pulumi.StringPtrInput + // Dedicated Cluster Site ID. + SiteId pulumi.StringPtrInput + // Dedicated Cluster Zone. + Zone pulumi.StringPtrInput +} + +func (DedicatedClusterState) ElementType() reflect.Type { + return reflect.TypeOf((*dedicatedClusterState)(nil)).Elem() +} + +type dedicatedClusterArgs struct { + // Dedicated Cluster Description. + Description *string `pulumi:"description"` + // Dedicated Cluster Name. + Name *string `pulumi:"name"` + // Dedicated Cluster Site ID. + SiteId string `pulumi:"siteId"` + // Dedicated Cluster Zone. + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a DedicatedCluster resource. +type DedicatedClusterArgs struct { + // Dedicated Cluster Description. + Description pulumi.StringPtrInput + // Dedicated Cluster Name. + Name pulumi.StringPtrInput + // Dedicated Cluster Site ID. + SiteId pulumi.StringInput + // Dedicated Cluster Zone. + Zone pulumi.StringInput +} + +func (DedicatedClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dedicatedClusterArgs)(nil)).Elem() +} + +type DedicatedClusterInput interface { + pulumi.Input + + ToDedicatedClusterOutput() DedicatedClusterOutput + ToDedicatedClusterOutputWithContext(ctx context.Context) DedicatedClusterOutput +} + +func (*DedicatedCluster) ElementType() reflect.Type { + return reflect.TypeOf((**DedicatedCluster)(nil)).Elem() +} + +func (i *DedicatedCluster) ToDedicatedClusterOutput() DedicatedClusterOutput { + return i.ToDedicatedClusterOutputWithContext(context.Background()) +} + +func (i *DedicatedCluster) ToDedicatedClusterOutputWithContext(ctx context.Context) DedicatedClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(DedicatedClusterOutput) +} + +// DedicatedClusterArrayInput is an input type that accepts DedicatedClusterArray and DedicatedClusterArrayOutput values. +// You can construct a concrete instance of `DedicatedClusterArrayInput` via: +// +// DedicatedClusterArray{ DedicatedClusterArgs{...} } +type DedicatedClusterArrayInput interface { + pulumi.Input + + ToDedicatedClusterArrayOutput() DedicatedClusterArrayOutput + ToDedicatedClusterArrayOutputWithContext(context.Context) DedicatedClusterArrayOutput +} + +type DedicatedClusterArray []DedicatedClusterInput + +func (DedicatedClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DedicatedCluster)(nil)).Elem() +} + +func (i DedicatedClusterArray) ToDedicatedClusterArrayOutput() DedicatedClusterArrayOutput { + return i.ToDedicatedClusterArrayOutputWithContext(context.Background()) +} + +func (i DedicatedClusterArray) ToDedicatedClusterArrayOutputWithContext(ctx context.Context) DedicatedClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DedicatedClusterArrayOutput) +} + +// DedicatedClusterMapInput is an input type that accepts DedicatedClusterMap and DedicatedClusterMapOutput values. +// You can construct a concrete instance of `DedicatedClusterMapInput` via: +// +// DedicatedClusterMap{ "key": DedicatedClusterArgs{...} } +type DedicatedClusterMapInput interface { + pulumi.Input + + ToDedicatedClusterMapOutput() DedicatedClusterMapOutput + ToDedicatedClusterMapOutputWithContext(context.Context) DedicatedClusterMapOutput +} + +type DedicatedClusterMap map[string]DedicatedClusterInput + +func (DedicatedClusterMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DedicatedCluster)(nil)).Elem() +} + +func (i DedicatedClusterMap) ToDedicatedClusterMapOutput() DedicatedClusterMapOutput { + return i.ToDedicatedClusterMapOutputWithContext(context.Background()) +} + +func (i DedicatedClusterMap) ToDedicatedClusterMapOutputWithContext(ctx context.Context) DedicatedClusterMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DedicatedClusterMapOutput) +} + +type DedicatedClusterOutput struct{ *pulumi.OutputState } + +func (DedicatedClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DedicatedCluster)(nil)).Elem() +} + +func (o DedicatedClusterOutput) ToDedicatedClusterOutput() DedicatedClusterOutput { + return o +} + +func (o DedicatedClusterOutput) ToDedicatedClusterOutputWithContext(ctx context.Context) DedicatedClusterOutput { + return o +} + +// Dedicated Cluster Description. +func (o DedicatedClusterOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DedicatedCluster) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Dedicated Cluster Name. +func (o DedicatedClusterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DedicatedCluster) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Dedicated Cluster Site ID. +func (o DedicatedClusterOutput) SiteId() pulumi.StringOutput { + return o.ApplyT(func(v *DedicatedCluster) pulumi.StringOutput { return v.SiteId }).(pulumi.StringOutput) +} + +// Dedicated Cluster Zone. +func (o DedicatedClusterOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *DedicatedCluster) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +type DedicatedClusterArrayOutput struct{ *pulumi.OutputState } + +func (DedicatedClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DedicatedCluster)(nil)).Elem() +} + +func (o DedicatedClusterArrayOutput) ToDedicatedClusterArrayOutput() DedicatedClusterArrayOutput { + return o +} + +func (o DedicatedClusterArrayOutput) ToDedicatedClusterArrayOutputWithContext(ctx context.Context) DedicatedClusterArrayOutput { + return o +} + +func (o DedicatedClusterArrayOutput) Index(i pulumi.IntInput) DedicatedClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DedicatedCluster { + return vs[0].([]*DedicatedCluster)[vs[1].(int)] + }).(DedicatedClusterOutput) +} + +type DedicatedClusterMapOutput struct{ *pulumi.OutputState } + +func (DedicatedClusterMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DedicatedCluster)(nil)).Elem() +} + +func (o DedicatedClusterMapOutput) ToDedicatedClusterMapOutput() DedicatedClusterMapOutput { + return o +} + +func (o DedicatedClusterMapOutput) ToDedicatedClusterMapOutputWithContext(ctx context.Context) DedicatedClusterMapOutput { + return o +} + +func (o DedicatedClusterMapOutput) MapIndex(k pulumi.StringInput) DedicatedClusterOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DedicatedCluster { + return vs[0].(map[string]*DedicatedCluster)[vs[1].(string)] + }).(DedicatedClusterOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DedicatedClusterInput)(nil)).Elem(), &DedicatedCluster{}) + pulumi.RegisterInputType(reflect.TypeOf((*DedicatedClusterArrayInput)(nil)).Elem(), DedicatedClusterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DedicatedClusterMapInput)(nil)).Elem(), DedicatedClusterMap{}) + pulumi.RegisterOutputType(DedicatedClusterOutput{}) + pulumi.RegisterOutputType(DedicatedClusterArrayOutput{}) + pulumi.RegisterOutputType(DedicatedClusterMapOutput{}) +} diff --git a/sdk/go/tencentcloud/cdc/getDedicatedClusterHosts.go b/sdk/go/tencentcloud/cdc/getDedicatedClusterHosts.go new file mode 100644 index 000000000..b39ac64d0 --- /dev/null +++ b/sdk/go/tencentcloud/cdc/getDedicatedClusterHosts.go @@ -0,0 +1,131 @@ +// 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 cdc + +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 CDC dedicated cluster hosts +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdc.GetDedicatedClusterHosts(ctx, &cdc.GetDedicatedClusterHostsArgs{ +// DedicatedClusterId: "cluster-262n63e8", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetDedicatedClusterHosts(ctx *pulumi.Context, args *GetDedicatedClusterHostsArgs, opts ...pulumi.InvokeOption) (*GetDedicatedClusterHostsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetDedicatedClusterHostsResult + err := ctx.Invoke("tencentcloud:Cdc/getDedicatedClusterHosts:getDedicatedClusterHosts", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getDedicatedClusterHosts. +type GetDedicatedClusterHostsArgs struct { + // Dedicated Cluster ID. + DedicatedClusterId string `pulumi:"dedicatedClusterId"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getDedicatedClusterHosts. +type GetDedicatedClusterHostsResult struct { + DedicatedClusterId string `pulumi:"dedicatedClusterId"` + // Dedicated Cluster Host Info. + HostInfoSets []GetDedicatedClusterHostsHostInfoSet `pulumi:"hostInfoSets"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetDedicatedClusterHostsOutput(ctx *pulumi.Context, args GetDedicatedClusterHostsOutputArgs, opts ...pulumi.InvokeOption) GetDedicatedClusterHostsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetDedicatedClusterHostsResult, error) { + args := v.(GetDedicatedClusterHostsArgs) + r, err := GetDedicatedClusterHosts(ctx, &args, opts...) + var s GetDedicatedClusterHostsResult + if r != nil { + s = *r + } + return s, err + }).(GetDedicatedClusterHostsResultOutput) +} + +// A collection of arguments for invoking getDedicatedClusterHosts. +type GetDedicatedClusterHostsOutputArgs struct { + // Dedicated Cluster ID. + DedicatedClusterId pulumi.StringInput `pulumi:"dedicatedClusterId"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetDedicatedClusterHostsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterHostsArgs)(nil)).Elem() +} + +// A collection of values returned by getDedicatedClusterHosts. +type GetDedicatedClusterHostsResultOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterHostsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterHostsResult)(nil)).Elem() +} + +func (o GetDedicatedClusterHostsResultOutput) ToGetDedicatedClusterHostsResultOutput() GetDedicatedClusterHostsResultOutput { + return o +} + +func (o GetDedicatedClusterHostsResultOutput) ToGetDedicatedClusterHostsResultOutputWithContext(ctx context.Context) GetDedicatedClusterHostsResultOutput { + return o +} + +func (o GetDedicatedClusterHostsResultOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsResult) string { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + +// Dedicated Cluster Host Info. +func (o GetDedicatedClusterHostsResultOutput) HostInfoSets() GetDedicatedClusterHostsHostInfoSetArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsResult) []GetDedicatedClusterHostsHostInfoSet { return v.HostInfoSets }).(GetDedicatedClusterHostsHostInfoSetArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetDedicatedClusterHostsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetDedicatedClusterHostsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetDedicatedClusterHostsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/cdc/getDedicatedClusterInstanceTypes.go b/sdk/go/tencentcloud/cdc/getDedicatedClusterInstanceTypes.go new file mode 100644 index 000000000..a309eba09 --- /dev/null +++ b/sdk/go/tencentcloud/cdc/getDedicatedClusterInstanceTypes.go @@ -0,0 +1,133 @@ +// 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 cdc + +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 CDC dedicated cluster instance types +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdc.GetDedicatedClusterInstanceTypes(ctx, &cdc.GetDedicatedClusterInstanceTypesArgs{ +// DedicatedClusterId: "cluster-262n63e8", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetDedicatedClusterInstanceTypes(ctx *pulumi.Context, args *GetDedicatedClusterInstanceTypesArgs, opts ...pulumi.InvokeOption) (*GetDedicatedClusterInstanceTypesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetDedicatedClusterInstanceTypesResult + err := ctx.Invoke("tencentcloud:Cdc/getDedicatedClusterInstanceTypes:getDedicatedClusterInstanceTypes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getDedicatedClusterInstanceTypes. +type GetDedicatedClusterInstanceTypesArgs struct { + // Dedicated Cluster ID. + DedicatedClusterId string `pulumi:"dedicatedClusterId"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getDedicatedClusterInstanceTypes. +type GetDedicatedClusterInstanceTypesResult struct { + DedicatedClusterId string `pulumi:"dedicatedClusterId"` + // Dedicated Cluster Supported InstanceType. + DedicatedClusterInstanceTypeSets []GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet `pulumi:"dedicatedClusterInstanceTypeSets"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetDedicatedClusterInstanceTypesOutput(ctx *pulumi.Context, args GetDedicatedClusterInstanceTypesOutputArgs, opts ...pulumi.InvokeOption) GetDedicatedClusterInstanceTypesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetDedicatedClusterInstanceTypesResult, error) { + args := v.(GetDedicatedClusterInstanceTypesArgs) + r, err := GetDedicatedClusterInstanceTypes(ctx, &args, opts...) + var s GetDedicatedClusterInstanceTypesResult + if r != nil { + s = *r + } + return s, err + }).(GetDedicatedClusterInstanceTypesResultOutput) +} + +// A collection of arguments for invoking getDedicatedClusterInstanceTypes. +type GetDedicatedClusterInstanceTypesOutputArgs struct { + // Dedicated Cluster ID. + DedicatedClusterId pulumi.StringInput `pulumi:"dedicatedClusterId"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetDedicatedClusterInstanceTypesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterInstanceTypesArgs)(nil)).Elem() +} + +// A collection of values returned by getDedicatedClusterInstanceTypes. +type GetDedicatedClusterInstanceTypesResultOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterInstanceTypesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterInstanceTypesResult)(nil)).Elem() +} + +func (o GetDedicatedClusterInstanceTypesResultOutput) ToGetDedicatedClusterInstanceTypesResultOutput() GetDedicatedClusterInstanceTypesResultOutput { + return o +} + +func (o GetDedicatedClusterInstanceTypesResultOutput) ToGetDedicatedClusterInstanceTypesResultOutputWithContext(ctx context.Context) GetDedicatedClusterInstanceTypesResultOutput { + return o +} + +func (o GetDedicatedClusterInstanceTypesResultOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesResult) string { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + +// Dedicated Cluster Supported InstanceType. +func (o GetDedicatedClusterInstanceTypesResultOutput) DedicatedClusterInstanceTypeSets() GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesResult) []GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet { + return v.DedicatedClusterInstanceTypeSets + }).(GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetDedicatedClusterInstanceTypesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetDedicatedClusterInstanceTypesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetDedicatedClusterInstanceTypesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/cdc/getDedicatedClusterOrders.go b/sdk/go/tencentcloud/cdc/getDedicatedClusterOrders.go new file mode 100644 index 000000000..5be4a6a2f --- /dev/null +++ b/sdk/go/tencentcloud/cdc/getDedicatedClusterOrders.go @@ -0,0 +1,188 @@ +// 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 cdc + +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 CDC dedicated cluster orders +// +// ## Example Usage +// +// ### Query all orders +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdc.GetDedicatedClusterOrders(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query orders by filter +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdc.GetDedicatedClusterOrders(ctx, &cdc.GetDedicatedClusterOrdersArgs{ +// DedicatedClusterIds: []string{ +// "cluster-262n63e8", +// }, +// }, nil) +// if err != nil { +// return err +// } +// _, err = Cdc.GetDedicatedClusterOrders(ctx, &cdc.GetDedicatedClusterOrdersArgs{ +// ActionType: pulumi.StringRef("CREATE"), +// Status: pulumi.StringRef("PENDING"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetDedicatedClusterOrders(ctx *pulumi.Context, args *GetDedicatedClusterOrdersArgs, opts ...pulumi.InvokeOption) (*GetDedicatedClusterOrdersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetDedicatedClusterOrdersResult + err := ctx.Invoke("tencentcloud:Cdc/getDedicatedClusterOrders:getDedicatedClusterOrders", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getDedicatedClusterOrders. +type GetDedicatedClusterOrdersArgs struct { + // Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + ActionType *string `pulumi:"actionType"` + // Filter by Dedicated Cluster ID. + DedicatedClusterIds []string `pulumi:"dedicatedClusterIds"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + Status *string `pulumi:"status"` +} + +// A collection of values returned by getDedicatedClusterOrders. +type GetDedicatedClusterOrdersResult struct { + ActionType *string `pulumi:"actionType"` + DedicatedClusterIds []string `pulumi:"dedicatedClusterIds"` + // Filter by Dedicated Cluster Order. + DedicatedClusterOrderSets []GetDedicatedClusterOrdersDedicatedClusterOrderSet `pulumi:"dedicatedClusterOrderSets"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + Status *string `pulumi:"status"` +} + +func GetDedicatedClusterOrdersOutput(ctx *pulumi.Context, args GetDedicatedClusterOrdersOutputArgs, opts ...pulumi.InvokeOption) GetDedicatedClusterOrdersResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetDedicatedClusterOrdersResult, error) { + args := v.(GetDedicatedClusterOrdersArgs) + r, err := GetDedicatedClusterOrders(ctx, &args, opts...) + var s GetDedicatedClusterOrdersResult + if r != nil { + s = *r + } + return s, err + }).(GetDedicatedClusterOrdersResultOutput) +} + +// A collection of arguments for invoking getDedicatedClusterOrders. +type GetDedicatedClusterOrdersOutputArgs struct { + // Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + ActionType pulumi.StringPtrInput `pulumi:"actionType"` + // Filter by Dedicated Cluster ID. + DedicatedClusterIds pulumi.StringArrayInput `pulumi:"dedicatedClusterIds"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (GetDedicatedClusterOrdersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterOrdersArgs)(nil)).Elem() +} + +// A collection of values returned by getDedicatedClusterOrders. +type GetDedicatedClusterOrdersResultOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterOrdersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterOrdersResult)(nil)).Elem() +} + +func (o GetDedicatedClusterOrdersResultOutput) ToGetDedicatedClusterOrdersResultOutput() GetDedicatedClusterOrdersResultOutput { + return o +} + +func (o GetDedicatedClusterOrdersResultOutput) ToGetDedicatedClusterOrdersResultOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersResultOutput { + return o +} + +func (o GetDedicatedClusterOrdersResultOutput) ActionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersResult) *string { return v.ActionType }).(pulumi.StringPtrOutput) +} + +func (o GetDedicatedClusterOrdersResultOutput) DedicatedClusterIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersResult) []string { return v.DedicatedClusterIds }).(pulumi.StringArrayOutput) +} + +// Filter by Dedicated Cluster Order. +func (o GetDedicatedClusterOrdersResultOutput) DedicatedClusterOrderSets() GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersResult) []GetDedicatedClusterOrdersDedicatedClusterOrderSet { + return v.DedicatedClusterOrderSets + }).(GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetDedicatedClusterOrdersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetDedicatedClusterOrdersResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetDedicatedClusterOrdersResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetDedicatedClusterOrdersResultOutput{}) +} diff --git a/sdk/go/tencentcloud/cdc/init.go b/sdk/go/tencentcloud/cdc/init.go new file mode 100644 index 000000000..408d9a180 --- /dev/null +++ b/sdk/go/tencentcloud/cdc/init.go @@ -0,0 +1,51 @@ +// 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 cdc + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "tencentcloud:Cdc/dedicatedCluster:DedicatedCluster": + r = &DedicatedCluster{} + case "tencentcloud:Cdc/site:Site": + r = &Site{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "tencentcloud", + "Cdc/dedicatedCluster", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Cdc/site", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/cdc/pulumiTypes.go b/sdk/go/tencentcloud/cdc/pulumiTypes.go new file mode 100644 index 000000000..30890755b --- /dev/null +++ b/sdk/go/tencentcloud/cdc/pulumiTypes.go @@ -0,0 +1,1014 @@ +// 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 cdc + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type GetDedicatedClusterHostsHostInfoSet struct { + // Dedicated Cluster Host CPU Available Count. + CpuAvailable int `pulumi:"cpuAvailable"` + // Dedicated Cluster Host CPU Total Count. + CpuTotal int `pulumi:"cpuTotal"` + // Dedicated Cluster Host Expire Time. + ExpireTime string `pulumi:"expireTime"` + // Dedicated Cluster Host ID. + HostId string `pulumi:"hostId"` + // Dedicated Cluster Host Ip (Deprecated). + HostIp string `pulumi:"hostIp"` + // Dedicated Cluster Host Status. + HostStatus string `pulumi:"hostStatus"` + // Dedicated Cluster Host Type. + HostType string `pulumi:"hostType"` + // Dedicated Cluster Host Memory Available Count (GB). + MemAvailable int `pulumi:"memAvailable"` + // Dedicated Cluster Host Memory Total Count (GB). + MemTotal int `pulumi:"memTotal"` + // Dedicated Cluster Host Run Time. + RunTime string `pulumi:"runTime"` + // Dedicated Cluster Service Type. + ServiceType string `pulumi:"serviceType"` +} + +// GetDedicatedClusterHostsHostInfoSetInput is an input type that accepts GetDedicatedClusterHostsHostInfoSetArgs and GetDedicatedClusterHostsHostInfoSetOutput values. +// You can construct a concrete instance of `GetDedicatedClusterHostsHostInfoSetInput` via: +// +// GetDedicatedClusterHostsHostInfoSetArgs{...} +type GetDedicatedClusterHostsHostInfoSetInput interface { + pulumi.Input + + ToGetDedicatedClusterHostsHostInfoSetOutput() GetDedicatedClusterHostsHostInfoSetOutput + ToGetDedicatedClusterHostsHostInfoSetOutputWithContext(context.Context) GetDedicatedClusterHostsHostInfoSetOutput +} + +type GetDedicatedClusterHostsHostInfoSetArgs struct { + // Dedicated Cluster Host CPU Available Count. + CpuAvailable pulumi.IntInput `pulumi:"cpuAvailable"` + // Dedicated Cluster Host CPU Total Count. + CpuTotal pulumi.IntInput `pulumi:"cpuTotal"` + // Dedicated Cluster Host Expire Time. + ExpireTime pulumi.StringInput `pulumi:"expireTime"` + // Dedicated Cluster Host ID. + HostId pulumi.StringInput `pulumi:"hostId"` + // Dedicated Cluster Host Ip (Deprecated). + HostIp pulumi.StringInput `pulumi:"hostIp"` + // Dedicated Cluster Host Status. + HostStatus pulumi.StringInput `pulumi:"hostStatus"` + // Dedicated Cluster Host Type. + HostType pulumi.StringInput `pulumi:"hostType"` + // Dedicated Cluster Host Memory Available Count (GB). + MemAvailable pulumi.IntInput `pulumi:"memAvailable"` + // Dedicated Cluster Host Memory Total Count (GB). + MemTotal pulumi.IntInput `pulumi:"memTotal"` + // Dedicated Cluster Host Run Time. + RunTime pulumi.StringInput `pulumi:"runTime"` + // Dedicated Cluster Service Type. + ServiceType pulumi.StringInput `pulumi:"serviceType"` +} + +func (GetDedicatedClusterHostsHostInfoSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterHostsHostInfoSet)(nil)).Elem() +} + +func (i GetDedicatedClusterHostsHostInfoSetArgs) ToGetDedicatedClusterHostsHostInfoSetOutput() GetDedicatedClusterHostsHostInfoSetOutput { + return i.ToGetDedicatedClusterHostsHostInfoSetOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterHostsHostInfoSetArgs) ToGetDedicatedClusterHostsHostInfoSetOutputWithContext(ctx context.Context) GetDedicatedClusterHostsHostInfoSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterHostsHostInfoSetOutput) +} + +// GetDedicatedClusterHostsHostInfoSetArrayInput is an input type that accepts GetDedicatedClusterHostsHostInfoSetArray and GetDedicatedClusterHostsHostInfoSetArrayOutput values. +// You can construct a concrete instance of `GetDedicatedClusterHostsHostInfoSetArrayInput` via: +// +// GetDedicatedClusterHostsHostInfoSetArray{ GetDedicatedClusterHostsHostInfoSetArgs{...} } +type GetDedicatedClusterHostsHostInfoSetArrayInput interface { + pulumi.Input + + ToGetDedicatedClusterHostsHostInfoSetArrayOutput() GetDedicatedClusterHostsHostInfoSetArrayOutput + ToGetDedicatedClusterHostsHostInfoSetArrayOutputWithContext(context.Context) GetDedicatedClusterHostsHostInfoSetArrayOutput +} + +type GetDedicatedClusterHostsHostInfoSetArray []GetDedicatedClusterHostsHostInfoSetInput + +func (GetDedicatedClusterHostsHostInfoSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterHostsHostInfoSet)(nil)).Elem() +} + +func (i GetDedicatedClusterHostsHostInfoSetArray) ToGetDedicatedClusterHostsHostInfoSetArrayOutput() GetDedicatedClusterHostsHostInfoSetArrayOutput { + return i.ToGetDedicatedClusterHostsHostInfoSetArrayOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterHostsHostInfoSetArray) ToGetDedicatedClusterHostsHostInfoSetArrayOutputWithContext(ctx context.Context) GetDedicatedClusterHostsHostInfoSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterHostsHostInfoSetArrayOutput) +} + +type GetDedicatedClusterHostsHostInfoSetOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterHostsHostInfoSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterHostsHostInfoSet)(nil)).Elem() +} + +func (o GetDedicatedClusterHostsHostInfoSetOutput) ToGetDedicatedClusterHostsHostInfoSetOutput() GetDedicatedClusterHostsHostInfoSetOutput { + return o +} + +func (o GetDedicatedClusterHostsHostInfoSetOutput) ToGetDedicatedClusterHostsHostInfoSetOutputWithContext(ctx context.Context) GetDedicatedClusterHostsHostInfoSetOutput { + return o +} + +// Dedicated Cluster Host CPU Available Count. +func (o GetDedicatedClusterHostsHostInfoSetOutput) CpuAvailable() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) int { return v.CpuAvailable }).(pulumi.IntOutput) +} + +// Dedicated Cluster Host CPU Total Count. +func (o GetDedicatedClusterHostsHostInfoSetOutput) CpuTotal() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) int { return v.CpuTotal }).(pulumi.IntOutput) +} + +// Dedicated Cluster Host Expire Time. +func (o GetDedicatedClusterHostsHostInfoSetOutput) ExpireTime() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) string { return v.ExpireTime }).(pulumi.StringOutput) +} + +// Dedicated Cluster Host ID. +func (o GetDedicatedClusterHostsHostInfoSetOutput) HostId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) string { return v.HostId }).(pulumi.StringOutput) +} + +// Dedicated Cluster Host Ip (Deprecated). +func (o GetDedicatedClusterHostsHostInfoSetOutput) HostIp() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) string { return v.HostIp }).(pulumi.StringOutput) +} + +// Dedicated Cluster Host Status. +func (o GetDedicatedClusterHostsHostInfoSetOutput) HostStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) string { return v.HostStatus }).(pulumi.StringOutput) +} + +// Dedicated Cluster Host Type. +func (o GetDedicatedClusterHostsHostInfoSetOutput) HostType() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) string { return v.HostType }).(pulumi.StringOutput) +} + +// Dedicated Cluster Host Memory Available Count (GB). +func (o GetDedicatedClusterHostsHostInfoSetOutput) MemAvailable() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) int { return v.MemAvailable }).(pulumi.IntOutput) +} + +// Dedicated Cluster Host Memory Total Count (GB). +func (o GetDedicatedClusterHostsHostInfoSetOutput) MemTotal() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) int { return v.MemTotal }).(pulumi.IntOutput) +} + +// Dedicated Cluster Host Run Time. +func (o GetDedicatedClusterHostsHostInfoSetOutput) RunTime() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) string { return v.RunTime }).(pulumi.StringOutput) +} + +// Dedicated Cluster Service Type. +func (o GetDedicatedClusterHostsHostInfoSetOutput) ServiceType() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterHostsHostInfoSet) string { return v.ServiceType }).(pulumi.StringOutput) +} + +type GetDedicatedClusterHostsHostInfoSetArrayOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterHostsHostInfoSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterHostsHostInfoSet)(nil)).Elem() +} + +func (o GetDedicatedClusterHostsHostInfoSetArrayOutput) ToGetDedicatedClusterHostsHostInfoSetArrayOutput() GetDedicatedClusterHostsHostInfoSetArrayOutput { + return o +} + +func (o GetDedicatedClusterHostsHostInfoSetArrayOutput) ToGetDedicatedClusterHostsHostInfoSetArrayOutputWithContext(ctx context.Context) GetDedicatedClusterHostsHostInfoSetArrayOutput { + return o +} + +func (o GetDedicatedClusterHostsHostInfoSetArrayOutput) Index(i pulumi.IntInput) GetDedicatedClusterHostsHostInfoSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDedicatedClusterHostsHostInfoSet { + return vs[0].([]GetDedicatedClusterHostsHostInfoSet)[vs[1].(int)] + }).(GetDedicatedClusterHostsHostInfoSetOutput) +} + +type GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet struct { + // Instance CPU. + Cpu int `pulumi:"cpu"` + // Instance CPU Type. + CpuType string `pulumi:"cpuType"` + // Instance Fpga. + Fpga int `pulumi:"fpga"` + // Instance GPU. + Gpu int `pulumi:"gpu"` + // Instance Bandwidth. + InstanceBandwidth float64 `pulumi:"instanceBandwidth"` + // Instance Family. + InstanceFamily string `pulumi:"instanceFamily"` + // Instance Pps. + InstancePps int `pulumi:"instancePps"` + // Instance Type. + InstanceType string `pulumi:"instanceType"` + // Instance Memory. + Memory int `pulumi:"memory"` + // Instance Type. + NetworkCard int `pulumi:"networkCard"` + // Instance Remark. + Remark string `pulumi:"remark"` + // Instance Status. + Status string `pulumi:"status"` + // Instance Storage Block Amount. + StorageBlockAmount int `pulumi:"storageBlockAmount"` + // Instance Type Name. + TypeName string `pulumi:"typeName"` + // Zone Name. + Zone string `pulumi:"zone"` +} + +// GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetInput is an input type that accepts GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs and GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput values. +// You can construct a concrete instance of `GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetInput` via: +// +// GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs{...} +type GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetInput interface { + pulumi.Input + + ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput() GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput + ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutputWithContext(context.Context) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput +} + +type GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs struct { + // Instance CPU. + Cpu pulumi.IntInput `pulumi:"cpu"` + // Instance CPU Type. + CpuType pulumi.StringInput `pulumi:"cpuType"` + // Instance Fpga. + Fpga pulumi.IntInput `pulumi:"fpga"` + // Instance GPU. + Gpu pulumi.IntInput `pulumi:"gpu"` + // Instance Bandwidth. + InstanceBandwidth pulumi.Float64Input `pulumi:"instanceBandwidth"` + // Instance Family. + InstanceFamily pulumi.StringInput `pulumi:"instanceFamily"` + // Instance Pps. + InstancePps pulumi.IntInput `pulumi:"instancePps"` + // Instance Type. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // Instance Memory. + Memory pulumi.IntInput `pulumi:"memory"` + // Instance Type. + NetworkCard pulumi.IntInput `pulumi:"networkCard"` + // Instance Remark. + Remark pulumi.StringInput `pulumi:"remark"` + // Instance Status. + Status pulumi.StringInput `pulumi:"status"` + // Instance Storage Block Amount. + StorageBlockAmount pulumi.IntInput `pulumi:"storageBlockAmount"` + // Instance Type Name. + TypeName pulumi.StringInput `pulumi:"typeName"` + // Zone Name. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet)(nil)).Elem() +} + +func (i GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput() GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput { + return i.ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutputWithContext(ctx context.Context) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) +} + +// GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayInput is an input type that accepts GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArray and GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput values. +// You can construct a concrete instance of `GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayInput` via: +// +// GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArray{ GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs{...} } +type GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayInput interface { + pulumi.Input + + ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput() GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput + ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutputWithContext(context.Context) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput +} + +type GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArray []GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetInput + +func (GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet)(nil)).Elem() +} + +func (i GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArray) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput() GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput { + return i.ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArray) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutputWithContext(ctx context.Context) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput) +} + +type GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet)(nil)).Elem() +} + +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput() GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput { + return o +} + +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutputWithContext(ctx context.Context) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput { + return o +} + +// Instance CPU. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) int { return v.Cpu }).(pulumi.IntOutput) +} + +// Instance CPU Type. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) CpuType() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) string { return v.CpuType }).(pulumi.StringOutput) +} + +// Instance Fpga. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) Fpga() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) int { return v.Fpga }).(pulumi.IntOutput) +} + +// Instance GPU. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) Gpu() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) int { return v.Gpu }).(pulumi.IntOutput) +} + +// Instance Bandwidth. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) InstanceBandwidth() pulumi.Float64Output { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) float64 { + return v.InstanceBandwidth + }).(pulumi.Float64Output) +} + +// Instance Family. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) InstanceFamily() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) string { + return v.InstanceFamily + }).(pulumi.StringOutput) +} + +// Instance Pps. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) InstancePps() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) int { return v.InstancePps }).(pulumi.IntOutput) +} + +// Instance Type. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) string { return v.InstanceType }).(pulumi.StringOutput) +} + +// Instance Memory. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) int { return v.Memory }).(pulumi.IntOutput) +} + +// Instance Type. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) NetworkCard() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) int { return v.NetworkCard }).(pulumi.IntOutput) +} + +// Instance Remark. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) Remark() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) string { return v.Remark }).(pulumi.StringOutput) +} + +// Instance Status. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) string { return v.Status }).(pulumi.StringOutput) +} + +// Instance Storage Block Amount. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) StorageBlockAmount() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) int { + return v.StorageBlockAmount + }).(pulumi.IntOutput) +} + +// Instance Type Name. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) TypeName() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) string { return v.TypeName }).(pulumi.StringOutput) +} + +// Zone Name. +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet)(nil)).Elem() +} + +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput() GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput { + return o +} + +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput) ToGetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutputWithContext(ctx context.Context) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput { + return o +} + +func (o GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput) Index(i pulumi.IntInput) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet { + return vs[0].([]GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet)[vs[1].(int)] + }).(GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput) +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSet struct { + // Dedicated Cluster Order Action Type. + Action string `pulumi:"action"` + // Dedicated Cluster CPU. + Cpu int `pulumi:"cpu"` + // Dedicated Cluster Order Create time. + CreateTime string `pulumi:"createTime"` + // Dedicated Cluster ID. + DedicatedClusterId string `pulumi:"dedicatedClusterId"` + // Dedicated Cluster Order ID. + DedicatedClusterOrderId string `pulumi:"dedicatedClusterOrderId"` + // Dedicated Cluster Order Item List. + DedicatedClusterOrderItems []GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem `pulumi:"dedicatedClusterOrderItems"` + // Dedicated Cluster Type ID. + DedicatedClusterTypeId string `pulumi:"dedicatedClusterTypeId"` + // Dedicated Cluster GPU. + Gpu int `pulumi:"gpu"` + // Dedicated Cluster Memory. + Mem int `pulumi:"mem"` + // Dedicated Cluster Order Status. + OrderStatus string `pulumi:"orderStatus"` + // Dedicated Cluster Order Type. + OrderType string `pulumi:"orderType"` + // Dedicated Cluster Order Pay Status. + PayStatus int `pulumi:"payStatus"` + // Dedicated Cluster Order Pay Type. + PayType string `pulumi:"payType"` + // Dedicated Cluster Supported PowerDraw. + PowerDraw float64 `pulumi:"powerDraw"` + // Dedicated Cluster Supported Instance Family. + SupportedInstanceFamilies []string `pulumi:"supportedInstanceFamilies"` + // Dedicated Cluster Storage Type. + SupportedStorageTypes []string `pulumi:"supportedStorageTypes"` + // Dedicated Cluster Supported Uplink Speed. + SupportedUplinkSpeeds []int `pulumi:"supportedUplinkSpeeds"` + // Dedicated Cluster Order Pay Time Span. + TimeSpan int `pulumi:"timeSpan"` + // Dedicated Cluster Order Pay Time Unit. + TimeUnit string `pulumi:"timeUnit"` + // Dedicated Cluster Supported Weight. + Weight int `pulumi:"weight"` +} + +// GetDedicatedClusterOrdersDedicatedClusterOrderSetInput is an input type that accepts GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs and GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput values. +// You can construct a concrete instance of `GetDedicatedClusterOrdersDedicatedClusterOrderSetInput` via: +// +// GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs{...} +type GetDedicatedClusterOrdersDedicatedClusterOrderSetInput interface { + pulumi.Input + + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetOutputWithContext(context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs struct { + // Dedicated Cluster Order Action Type. + Action pulumi.StringInput `pulumi:"action"` + // Dedicated Cluster CPU. + Cpu pulumi.IntInput `pulumi:"cpu"` + // Dedicated Cluster Order Create time. + CreateTime pulumi.StringInput `pulumi:"createTime"` + // Dedicated Cluster ID. + DedicatedClusterId pulumi.StringInput `pulumi:"dedicatedClusterId"` + // Dedicated Cluster Order ID. + DedicatedClusterOrderId pulumi.StringInput `pulumi:"dedicatedClusterOrderId"` + // Dedicated Cluster Order Item List. + DedicatedClusterOrderItems GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayInput `pulumi:"dedicatedClusterOrderItems"` + // Dedicated Cluster Type ID. + DedicatedClusterTypeId pulumi.StringInput `pulumi:"dedicatedClusterTypeId"` + // Dedicated Cluster GPU. + Gpu pulumi.IntInput `pulumi:"gpu"` + // Dedicated Cluster Memory. + Mem pulumi.IntInput `pulumi:"mem"` + // Dedicated Cluster Order Status. + OrderStatus pulumi.StringInput `pulumi:"orderStatus"` + // Dedicated Cluster Order Type. + OrderType pulumi.StringInput `pulumi:"orderType"` + // Dedicated Cluster Order Pay Status. + PayStatus pulumi.IntInput `pulumi:"payStatus"` + // Dedicated Cluster Order Pay Type. + PayType pulumi.StringInput `pulumi:"payType"` + // Dedicated Cluster Supported PowerDraw. + PowerDraw pulumi.Float64Input `pulumi:"powerDraw"` + // Dedicated Cluster Supported Instance Family. + SupportedInstanceFamilies pulumi.StringArrayInput `pulumi:"supportedInstanceFamilies"` + // Dedicated Cluster Storage Type. + SupportedStorageTypes pulumi.StringArrayInput `pulumi:"supportedStorageTypes"` + // Dedicated Cluster Supported Uplink Speed. + SupportedUplinkSpeeds pulumi.IntArrayInput `pulumi:"supportedUplinkSpeeds"` + // Dedicated Cluster Order Pay Time Span. + TimeSpan pulumi.IntInput `pulumi:"timeSpan"` + // Dedicated Cluster Order Pay Time Unit. + TimeUnit pulumi.StringInput `pulumi:"timeUnit"` + // Dedicated Cluster Supported Weight. + Weight pulumi.IntInput `pulumi:"weight"` +} + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSet)(nil)).Elem() +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput { + return i.ToGetDedicatedClusterOrdersDedicatedClusterOrderSetOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) +} + +// GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayInput is an input type that accepts GetDedicatedClusterOrdersDedicatedClusterOrderSetArray and GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput values. +// You can construct a concrete instance of `GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayInput` via: +// +// GetDedicatedClusterOrdersDedicatedClusterOrderSetArray{ GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs{...} } +type GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayInput interface { + pulumi.Input + + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutputWithContext(context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetArray []GetDedicatedClusterOrdersDedicatedClusterOrderSetInput + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterOrdersDedicatedClusterOrderSet)(nil)).Elem() +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetArray) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput { + return i.ToGetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetArray) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput) +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSet)(nil)).Elem() +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput { + return o +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput { + return o +} + +// Dedicated Cluster Order Action Type. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.Action }).(pulumi.StringOutput) +} + +// Dedicated Cluster CPU. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) int { return v.Cpu }).(pulumi.IntOutput) +} + +// Dedicated Cluster Order Create time. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// Dedicated Cluster ID. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + +// Dedicated Cluster Order ID. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) DedicatedClusterOrderId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.DedicatedClusterOrderId }).(pulumi.StringOutput) +} + +// Dedicated Cluster Order Item List. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) DedicatedClusterOrderItems() GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) []GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem { + return v.DedicatedClusterOrderItems + }).(GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput) +} + +// Dedicated Cluster Type ID. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) DedicatedClusterTypeId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.DedicatedClusterTypeId }).(pulumi.StringOutput) +} + +// Dedicated Cluster GPU. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) Gpu() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) int { return v.Gpu }).(pulumi.IntOutput) +} + +// Dedicated Cluster Memory. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) Mem() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) int { return v.Mem }).(pulumi.IntOutput) +} + +// Dedicated Cluster Order Status. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) OrderStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.OrderStatus }).(pulumi.StringOutput) +} + +// Dedicated Cluster Order Type. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) OrderType() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.OrderType }).(pulumi.StringOutput) +} + +// Dedicated Cluster Order Pay Status. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) PayStatus() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) int { return v.PayStatus }).(pulumi.IntOutput) +} + +// Dedicated Cluster Order Pay Type. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) PayType() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.PayType }).(pulumi.StringOutput) +} + +// Dedicated Cluster Supported PowerDraw. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) PowerDraw() pulumi.Float64Output { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) float64 { return v.PowerDraw }).(pulumi.Float64Output) +} + +// Dedicated Cluster Supported Instance Family. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) SupportedInstanceFamilies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) []string { return v.SupportedInstanceFamilies }).(pulumi.StringArrayOutput) +} + +// Dedicated Cluster Storage Type. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) SupportedStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) []string { return v.SupportedStorageTypes }).(pulumi.StringArrayOutput) +} + +// Dedicated Cluster Supported Uplink Speed. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) SupportedUplinkSpeeds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) []int { return v.SupportedUplinkSpeeds }).(pulumi.IntArrayOutput) +} + +// Dedicated Cluster Order Pay Time Span. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) TimeSpan() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) int { return v.TimeSpan }).(pulumi.IntOutput) +} + +// Dedicated Cluster Order Pay Time Unit. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) TimeUnit() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) string { return v.TimeUnit }).(pulumi.StringOutput) +} + +// Dedicated Cluster Supported Weight. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSet) int { return v.Weight }).(pulumi.IntOutput) +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterOrdersDedicatedClusterOrderSet)(nil)).Elem() +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput { + return o +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput { + return o +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput) Index(i pulumi.IntInput) GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDedicatedClusterOrdersDedicatedClusterOrderSet { + return vs[0].([]GetDedicatedClusterOrdersDedicatedClusterOrderSet)[vs[1].(int)] + }).(GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput) +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem struct { + // Dedicated Cluster Compute Format. + ComputeFormat string `pulumi:"computeFormat"` + // Dedicated Cluster SubOrder Count. + Count int `pulumi:"count"` + // Dedicated Cluster Order Create time. + CreateTime string `pulumi:"createTime"` + // Dedicated Cluster Type ID. + DedicatedClusterTypeId string `pulumi:"dedicatedClusterTypeId"` + // Dedicated Cluster Type Description. + Description string `pulumi:"description"` + // Dedicated Cluster Type Name. + Name string `pulumi:"name"` + // Dedicated Cluster Supported PowerDraw. + PowerDraw float64 `pulumi:"powerDraw"` + // Dedicated Cluster SubOrder ID. + SubOrderId string `pulumi:"subOrderId"` + // Dedicated Cluster SubOrder Pay Status. + SubOrderPayStatus int `pulumi:"subOrderPayStatus"` + // Dedicated Cluster Order Status. + SubOrderStatus string `pulumi:"subOrderStatus"` + // Dedicated Cluster Supported Instance Family. + SupportedInstanceFamilies []string `pulumi:"supportedInstanceFamilies"` + // Dedicated Cluster Storage Type. + SupportedStorageTypes []string `pulumi:"supportedStorageTypes"` + // Dedicated Cluster Supported Uplink Speed. + SupportedUplinkSpeeds []int `pulumi:"supportedUplinkSpeeds"` + // Dedicated Cluster Total CPU. + TotalCpu int `pulumi:"totalCpu"` + // Dedicated Cluster Total GPU. + TotalGpu int `pulumi:"totalGpu"` + // Dedicated Cluster Total Memory. + TotalMem int `pulumi:"totalMem"` + // Dedicated Cluster Type Family. + TypeFamily string `pulumi:"typeFamily"` + // Dedicated Cluster Type Name. + TypeName string `pulumi:"typeName"` + // Dedicated Cluster Supported Weight. + Weight int `pulumi:"weight"` +} + +// GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemInput is an input type that accepts GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs and GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput values. +// You can construct a concrete instance of `GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemInput` via: +// +// GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs{...} +type GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemInput interface { + pulumi.Input + + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutputWithContext(context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs struct { + // Dedicated Cluster Compute Format. + ComputeFormat pulumi.StringInput `pulumi:"computeFormat"` + // Dedicated Cluster SubOrder Count. + Count pulumi.IntInput `pulumi:"count"` + // Dedicated Cluster Order Create time. + CreateTime pulumi.StringInput `pulumi:"createTime"` + // Dedicated Cluster Type ID. + DedicatedClusterTypeId pulumi.StringInput `pulumi:"dedicatedClusterTypeId"` + // Dedicated Cluster Type Description. + Description pulumi.StringInput `pulumi:"description"` + // Dedicated Cluster Type Name. + Name pulumi.StringInput `pulumi:"name"` + // Dedicated Cluster Supported PowerDraw. + PowerDraw pulumi.Float64Input `pulumi:"powerDraw"` + // Dedicated Cluster SubOrder ID. + SubOrderId pulumi.StringInput `pulumi:"subOrderId"` + // Dedicated Cluster SubOrder Pay Status. + SubOrderPayStatus pulumi.IntInput `pulumi:"subOrderPayStatus"` + // Dedicated Cluster Order Status. + SubOrderStatus pulumi.StringInput `pulumi:"subOrderStatus"` + // Dedicated Cluster Supported Instance Family. + SupportedInstanceFamilies pulumi.StringArrayInput `pulumi:"supportedInstanceFamilies"` + // Dedicated Cluster Storage Type. + SupportedStorageTypes pulumi.StringArrayInput `pulumi:"supportedStorageTypes"` + // Dedicated Cluster Supported Uplink Speed. + SupportedUplinkSpeeds pulumi.IntArrayInput `pulumi:"supportedUplinkSpeeds"` + // Dedicated Cluster Total CPU. + TotalCpu pulumi.IntInput `pulumi:"totalCpu"` + // Dedicated Cluster Total GPU. + TotalGpu pulumi.IntInput `pulumi:"totalGpu"` + // Dedicated Cluster Total Memory. + TotalMem pulumi.IntInput `pulumi:"totalMem"` + // Dedicated Cluster Type Family. + TypeFamily pulumi.StringInput `pulumi:"typeFamily"` + // Dedicated Cluster Type Name. + TypeName pulumi.StringInput `pulumi:"typeName"` + // Dedicated Cluster Supported Weight. + Weight pulumi.IntInput `pulumi:"weight"` +} + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem)(nil)).Elem() +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput { + return i.ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) +} + +// GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayInput is an input type that accepts GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArray and GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput values. +// You can construct a concrete instance of `GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayInput` via: +// +// GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArray{ GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs{...} } +type GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayInput interface { + pulumi.Input + + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput + ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutputWithContext(context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArray []GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemInput + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem)(nil)).Elem() +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArray) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput { + return i.ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutputWithContext(context.Background()) +} + +func (i GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArray) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput) +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem)(nil)).Elem() +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput { + return o +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput { + return o +} + +// Dedicated Cluster Compute Format. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) ComputeFormat() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.ComputeFormat + }).(pulumi.StringOutput) +} + +// Dedicated Cluster SubOrder Count. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) int { return v.Count }).(pulumi.IntOutput) +} + +// Dedicated Cluster Order Create time. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.CreateTime + }).(pulumi.StringOutput) +} + +// Dedicated Cluster Type ID. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) DedicatedClusterTypeId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.DedicatedClusterTypeId + }).(pulumi.StringOutput) +} + +// Dedicated Cluster Type Description. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.Description + }).(pulumi.StringOutput) +} + +// Dedicated Cluster Type Name. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.Name + }).(pulumi.StringOutput) +} + +// Dedicated Cluster Supported PowerDraw. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) PowerDraw() pulumi.Float64Output { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) float64 { + return v.PowerDraw + }).(pulumi.Float64Output) +} + +// Dedicated Cluster SubOrder ID. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) SubOrderId() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.SubOrderId + }).(pulumi.StringOutput) +} + +// Dedicated Cluster SubOrder Pay Status. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) SubOrderPayStatus() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) int { + return v.SubOrderPayStatus + }).(pulumi.IntOutput) +} + +// Dedicated Cluster Order Status. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) SubOrderStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.SubOrderStatus + }).(pulumi.StringOutput) +} + +// Dedicated Cluster Supported Instance Family. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) SupportedInstanceFamilies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) []string { + return v.SupportedInstanceFamilies + }).(pulumi.StringArrayOutput) +} + +// Dedicated Cluster Storage Type. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) SupportedStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) []string { + return v.SupportedStorageTypes + }).(pulumi.StringArrayOutput) +} + +// Dedicated Cluster Supported Uplink Speed. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) SupportedUplinkSpeeds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) []int { + return v.SupportedUplinkSpeeds + }).(pulumi.IntArrayOutput) +} + +// Dedicated Cluster Total CPU. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) TotalCpu() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) int { + return v.TotalCpu + }).(pulumi.IntOutput) +} + +// Dedicated Cluster Total GPU. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) TotalGpu() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) int { + return v.TotalGpu + }).(pulumi.IntOutput) +} + +// Dedicated Cluster Total Memory. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) TotalMem() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) int { + return v.TotalMem + }).(pulumi.IntOutput) +} + +// Dedicated Cluster Type Family. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) TypeFamily() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.TypeFamily + }).(pulumi.StringOutput) +} + +// Dedicated Cluster Type Name. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) TypeName() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) string { + return v.TypeName + }).(pulumi.StringOutput) +} + +// Dedicated Cluster Supported Weight. +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem) int { + return v.Weight + }).(pulumi.IntOutput) +} + +type GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem)(nil)).Elem() +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput() GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput { + return o +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput) ToGetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutputWithContext(ctx context.Context) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput { + return o +} + +func (o GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput) Index(i pulumi.IntInput) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem { + return vs[0].([]GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem)[vs[1].(int)] + }).(GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterHostsHostInfoSetInput)(nil)).Elem(), GetDedicatedClusterHostsHostInfoSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterHostsHostInfoSetArrayInput)(nil)).Elem(), GetDedicatedClusterHostsHostInfoSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetInput)(nil)).Elem(), GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayInput)(nil)).Elem(), GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSetInput)(nil)).Elem(), GetDedicatedClusterOrdersDedicatedClusterOrderSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayInput)(nil)).Elem(), GetDedicatedClusterOrdersDedicatedClusterOrderSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemInput)(nil)).Elem(), GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayInput)(nil)).Elem(), GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArray{}) + pulumi.RegisterOutputType(GetDedicatedClusterHostsHostInfoSetOutput{}) + pulumi.RegisterOutputType(GetDedicatedClusterHostsHostInfoSetArrayOutput{}) + pulumi.RegisterOutputType(GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetOutput{}) + pulumi.RegisterOutputType(GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetArrayOutput{}) + pulumi.RegisterOutputType(GetDedicatedClusterOrdersDedicatedClusterOrderSetOutput{}) + pulumi.RegisterOutputType(GetDedicatedClusterOrdersDedicatedClusterOrderSetArrayOutput{}) + pulumi.RegisterOutputType(GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemOutput{}) + pulumi.RegisterOutputType(GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArrayOutput{}) +} diff --git a/sdk/go/tencentcloud/cdc/site.go b/sdk/go/tencentcloud/cdc/site.go new file mode 100644 index 000000000..8a5d19e32 --- /dev/null +++ b/sdk/go/tencentcloud/cdc/site.go @@ -0,0 +1,617 @@ +// 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 cdc + +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 CDC site +// +// ## Example Usage +// +// ### Create a basic CDC site +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdc.NewSite(ctx, "example", &Cdc.SiteArgs{ +// AddressLine: pulumi.String("Tencent Building"), +// City: pulumi.String("Guangzhou"), +// Country: pulumi.String("China"), +// Description: pulumi.String("desc."), +// Province: pulumi.String("Guangdong Province"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a complete CDC site +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdc.NewSite(ctx, "example", &Cdc.SiteArgs{ +// AddressLine: pulumi.String("Shenzhen Tencent Building"), +// BreakerRequirement: pulumi.Bool(true), +// City: pulumi.String("Guangzhou"), +// ConditionRequirement: pulumi.Bool(true), +// Country: pulumi.String("China"), +// Description: pulumi.String("desc."), +// DimensionRequirement: pulumi.Bool(true), +// FiberType: pulumi.String("MM"), +// MaxWeight: pulumi.Int(100), +// NeedHelp: pulumi.Bool(true), +// OpticalStandard: pulumi.String("MM"), +// OptionalAddressLine: pulumi.String("Shenzhen Tencent Building of Binhai"), +// PowerConnectors: pulumi.String("380VAC3P"), +// PowerDrawKva: pulumi.Int(10), +// PowerFeedDrop: pulumi.String("DOWN"), +// Province: pulumi.String("Guangdong Province"), +// RedundantNetworking: pulumi.Bool(true), +// RedundantPower: pulumi.Bool(true), +// UplinkCount: pulumi.Int(2), +// UplinkSpeedGbps: pulumi.Int(10), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// CDC site can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Cdc/site:Site example site-43qcf1ag +// ``` +type Site struct { + pulumi.CustomResourceState + + // Site Detail Address. + AddressLine pulumi.StringOutput `pulumi:"addressLine"` + // Whether there is an upstream circuit breaker. + BreakerRequirement pulumi.BoolOutput `pulumi:"breakerRequirement"` + // Site City. + City pulumi.StringOutput `pulumi:"city"` + // Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + ConditionRequirement pulumi.BoolOutput `pulumi:"conditionRequirement"` + // Site Country. + Country pulumi.StringOutput `pulumi:"country"` + // Site Description. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + DimensionRequirement pulumi.BoolOutput `pulumi:"dimensionRequirement"` + // Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + FiberType pulumi.StringPtrOutput `pulumi:"fiberType"` + // Site Max Weight capacity (KG). + MaxWeight pulumi.IntOutput `pulumi:"maxWeight"` + // Site Name. + Name pulumi.StringOutput `pulumi:"name"` + // Whether you need help from Tencent Cloud for rack installation. + NeedHelp pulumi.BoolOutput `pulumi:"needHelp"` + // Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + OpticalStandard pulumi.StringPtrOutput `pulumi:"opticalStandard"` + // Detailed address of the site area (to be added). + OptionalAddressLine pulumi.StringPtrOutput `pulumi:"optionalAddressLine"` + // Site Power Connectors. Example: 380VAC3P. + PowerConnectors pulumi.StringPtrOutput `pulumi:"powerConnectors"` + // Site Power DrawKva (KW). + PowerDrawKva pulumi.IntOutput `pulumi:"powerDrawKva"` + // Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + PowerFeedDrop pulumi.StringPtrOutput `pulumi:"powerFeedDrop"` + // Site Province. + Province pulumi.StringOutput `pulumi:"province"` + // Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + RedundantNetworking pulumi.BoolOutput `pulumi:"redundantNetworking"` + // Whether there is power redundancy. + RedundantPower pulumi.BoolOutput `pulumi:"redundantPower"` + // Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + UplinkCount pulumi.IntOutput `pulumi:"uplinkCount"` + // Uplink speed from the network to Tencent Cloud Region. + UplinkSpeedGbps pulumi.IntOutput `pulumi:"uplinkSpeedGbps"` +} + +// NewSite registers a new resource with the given unique name, arguments, and options. +func NewSite(ctx *pulumi.Context, + name string, args *SiteArgs, opts ...pulumi.ResourceOption) (*Site, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AddressLine == nil { + return nil, errors.New("invalid value for required argument 'AddressLine'") + } + if args.City == nil { + return nil, errors.New("invalid value for required argument 'City'") + } + if args.Country == nil { + return nil, errors.New("invalid value for required argument 'Country'") + } + if args.Province == nil { + return nil, errors.New("invalid value for required argument 'Province'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Site + err := ctx.RegisterResource("tencentcloud:Cdc/site:Site", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSite gets an existing Site 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 GetSite(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SiteState, opts ...pulumi.ResourceOption) (*Site, error) { + var resource Site + err := ctx.ReadResource("tencentcloud:Cdc/site:Site", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Site resources. +type siteState struct { + // Site Detail Address. + AddressLine *string `pulumi:"addressLine"` + // Whether there is an upstream circuit breaker. + BreakerRequirement *bool `pulumi:"breakerRequirement"` + // Site City. + City *string `pulumi:"city"` + // Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + ConditionRequirement *bool `pulumi:"conditionRequirement"` + // Site Country. + Country *string `pulumi:"country"` + // Site Description. + Description *string `pulumi:"description"` + // Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + DimensionRequirement *bool `pulumi:"dimensionRequirement"` + // Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + FiberType *string `pulumi:"fiberType"` + // Site Max Weight capacity (KG). + MaxWeight *int `pulumi:"maxWeight"` + // Site Name. + Name *string `pulumi:"name"` + // Whether you need help from Tencent Cloud for rack installation. + NeedHelp *bool `pulumi:"needHelp"` + // Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + OpticalStandard *string `pulumi:"opticalStandard"` + // Detailed address of the site area (to be added). + OptionalAddressLine *string `pulumi:"optionalAddressLine"` + // Site Power Connectors. Example: 380VAC3P. + PowerConnectors *string `pulumi:"powerConnectors"` + // Site Power DrawKva (KW). + PowerDrawKva *int `pulumi:"powerDrawKva"` + // Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + PowerFeedDrop *string `pulumi:"powerFeedDrop"` + // Site Province. + Province *string `pulumi:"province"` + // Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + RedundantNetworking *bool `pulumi:"redundantNetworking"` + // Whether there is power redundancy. + RedundantPower *bool `pulumi:"redundantPower"` + // Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + UplinkCount *int `pulumi:"uplinkCount"` + // Uplink speed from the network to Tencent Cloud Region. + UplinkSpeedGbps *int `pulumi:"uplinkSpeedGbps"` +} + +type SiteState struct { + // Site Detail Address. + AddressLine pulumi.StringPtrInput + // Whether there is an upstream circuit breaker. + BreakerRequirement pulumi.BoolPtrInput + // Site City. + City pulumi.StringPtrInput + // Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + ConditionRequirement pulumi.BoolPtrInput + // Site Country. + Country pulumi.StringPtrInput + // Site Description. + Description pulumi.StringPtrInput + // Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + DimensionRequirement pulumi.BoolPtrInput + // Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + FiberType pulumi.StringPtrInput + // Site Max Weight capacity (KG). + MaxWeight pulumi.IntPtrInput + // Site Name. + Name pulumi.StringPtrInput + // Whether you need help from Tencent Cloud for rack installation. + NeedHelp pulumi.BoolPtrInput + // Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + OpticalStandard pulumi.StringPtrInput + // Detailed address of the site area (to be added). + OptionalAddressLine pulumi.StringPtrInput + // Site Power Connectors. Example: 380VAC3P. + PowerConnectors pulumi.StringPtrInput + // Site Power DrawKva (KW). + PowerDrawKva pulumi.IntPtrInput + // Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + PowerFeedDrop pulumi.StringPtrInput + // Site Province. + Province pulumi.StringPtrInput + // Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + RedundantNetworking pulumi.BoolPtrInput + // Whether there is power redundancy. + RedundantPower pulumi.BoolPtrInput + // Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + UplinkCount pulumi.IntPtrInput + // Uplink speed from the network to Tencent Cloud Region. + UplinkSpeedGbps pulumi.IntPtrInput +} + +func (SiteState) ElementType() reflect.Type { + return reflect.TypeOf((*siteState)(nil)).Elem() +} + +type siteArgs struct { + // Site Detail Address. + AddressLine string `pulumi:"addressLine"` + // Whether there is an upstream circuit breaker. + BreakerRequirement *bool `pulumi:"breakerRequirement"` + // Site City. + City string `pulumi:"city"` + // Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + ConditionRequirement *bool `pulumi:"conditionRequirement"` + // Site Country. + Country string `pulumi:"country"` + // Site Description. + Description *string `pulumi:"description"` + // Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + DimensionRequirement *bool `pulumi:"dimensionRequirement"` + // Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + FiberType *string `pulumi:"fiberType"` + // Site Max Weight capacity (KG). + MaxWeight *int `pulumi:"maxWeight"` + // Site Name. + Name *string `pulumi:"name"` + // Whether you need help from Tencent Cloud for rack installation. + NeedHelp *bool `pulumi:"needHelp"` + // Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + OpticalStandard *string `pulumi:"opticalStandard"` + // Detailed address of the site area (to be added). + OptionalAddressLine *string `pulumi:"optionalAddressLine"` + // Site Power Connectors. Example: 380VAC3P. + PowerConnectors *string `pulumi:"powerConnectors"` + // Site Power DrawKva (KW). + PowerDrawKva *int `pulumi:"powerDrawKva"` + // Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + PowerFeedDrop *string `pulumi:"powerFeedDrop"` + // Site Province. + Province string `pulumi:"province"` + // Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + RedundantNetworking *bool `pulumi:"redundantNetworking"` + // Whether there is power redundancy. + RedundantPower *bool `pulumi:"redundantPower"` + // Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + UplinkCount *int `pulumi:"uplinkCount"` + // Uplink speed from the network to Tencent Cloud Region. + UplinkSpeedGbps *int `pulumi:"uplinkSpeedGbps"` +} + +// The set of arguments for constructing a Site resource. +type SiteArgs struct { + // Site Detail Address. + AddressLine pulumi.StringInput + // Whether there is an upstream circuit breaker. + BreakerRequirement pulumi.BoolPtrInput + // Site City. + City pulumi.StringInput + // Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + ConditionRequirement pulumi.BoolPtrInput + // Site Country. + Country pulumi.StringInput + // Site Description. + Description pulumi.StringPtrInput + // Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + DimensionRequirement pulumi.BoolPtrInput + // Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + FiberType pulumi.StringPtrInput + // Site Max Weight capacity (KG). + MaxWeight pulumi.IntPtrInput + // Site Name. + Name pulumi.StringPtrInput + // Whether you need help from Tencent Cloud for rack installation. + NeedHelp pulumi.BoolPtrInput + // Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + OpticalStandard pulumi.StringPtrInput + // Detailed address of the site area (to be added). + OptionalAddressLine pulumi.StringPtrInput + // Site Power Connectors. Example: 380VAC3P. + PowerConnectors pulumi.StringPtrInput + // Site Power DrawKva (KW). + PowerDrawKva pulumi.IntPtrInput + // Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + PowerFeedDrop pulumi.StringPtrInput + // Site Province. + Province pulumi.StringInput + // Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + RedundantNetworking pulumi.BoolPtrInput + // Whether there is power redundancy. + RedundantPower pulumi.BoolPtrInput + // Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + UplinkCount pulumi.IntPtrInput + // Uplink speed from the network to Tencent Cloud Region. + UplinkSpeedGbps pulumi.IntPtrInput +} + +func (SiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*siteArgs)(nil)).Elem() +} + +type SiteInput interface { + pulumi.Input + + ToSiteOutput() SiteOutput + ToSiteOutputWithContext(ctx context.Context) SiteOutput +} + +func (*Site) ElementType() reflect.Type { + return reflect.TypeOf((**Site)(nil)).Elem() +} + +func (i *Site) ToSiteOutput() SiteOutput { + return i.ToSiteOutputWithContext(context.Background()) +} + +func (i *Site) ToSiteOutputWithContext(ctx context.Context) SiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(SiteOutput) +} + +// SiteArrayInput is an input type that accepts SiteArray and SiteArrayOutput values. +// You can construct a concrete instance of `SiteArrayInput` via: +// +// SiteArray{ SiteArgs{...} } +type SiteArrayInput interface { + pulumi.Input + + ToSiteArrayOutput() SiteArrayOutput + ToSiteArrayOutputWithContext(context.Context) SiteArrayOutput +} + +type SiteArray []SiteInput + +func (SiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Site)(nil)).Elem() +} + +func (i SiteArray) ToSiteArrayOutput() SiteArrayOutput { + return i.ToSiteArrayOutputWithContext(context.Background()) +} + +func (i SiteArray) ToSiteArrayOutputWithContext(ctx context.Context) SiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SiteArrayOutput) +} + +// SiteMapInput is an input type that accepts SiteMap and SiteMapOutput values. +// You can construct a concrete instance of `SiteMapInput` via: +// +// SiteMap{ "key": SiteArgs{...} } +type SiteMapInput interface { + pulumi.Input + + ToSiteMapOutput() SiteMapOutput + ToSiteMapOutputWithContext(context.Context) SiteMapOutput +} + +type SiteMap map[string]SiteInput + +func (SiteMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Site)(nil)).Elem() +} + +func (i SiteMap) ToSiteMapOutput() SiteMapOutput { + return i.ToSiteMapOutputWithContext(context.Background()) +} + +func (i SiteMap) ToSiteMapOutputWithContext(ctx context.Context) SiteMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SiteMapOutput) +} + +type SiteOutput struct{ *pulumi.OutputState } + +func (SiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Site)(nil)).Elem() +} + +func (o SiteOutput) ToSiteOutput() SiteOutput { + return o +} + +func (o SiteOutput) ToSiteOutputWithContext(ctx context.Context) SiteOutput { + return o +} + +// Site Detail Address. +func (o SiteOutput) AddressLine() pulumi.StringOutput { + return o.ApplyT(func(v *Site) pulumi.StringOutput { return v.AddressLine }).(pulumi.StringOutput) +} + +// Whether there is an upstream circuit breaker. +func (o SiteOutput) BreakerRequirement() pulumi.BoolOutput { + return o.ApplyT(func(v *Site) pulumi.BoolOutput { return v.BreakerRequirement }).(pulumi.BoolOutput) +} + +// Site City. +func (o SiteOutput) City() pulumi.StringOutput { + return o.ApplyT(func(v *Site) pulumi.StringOutput { return v.City }).(pulumi.StringOutput) +} + +// Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. +func (o SiteOutput) ConditionRequirement() pulumi.BoolOutput { + return o.ApplyT(func(v *Site) pulumi.BoolOutput { return v.ConditionRequirement }).(pulumi.BoolOutput) +} + +// Site Country. +func (o SiteOutput) Country() pulumi.StringOutput { + return o.ApplyT(func(v *Site) pulumi.StringOutput { return v.Country }).(pulumi.StringOutput) +} + +// Site Description. +func (o SiteOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Site) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. +func (o SiteOutput) DimensionRequirement() pulumi.BoolOutput { + return o.ApplyT(func(v *Site) pulumi.BoolOutput { return v.DimensionRequirement }).(pulumi.BoolOutput) +} + +// Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. +func (o SiteOutput) FiberType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Site) pulumi.StringPtrOutput { return v.FiberType }).(pulumi.StringPtrOutput) +} + +// Site Max Weight capacity (KG). +func (o SiteOutput) MaxWeight() pulumi.IntOutput { + return o.ApplyT(func(v *Site) pulumi.IntOutput { return v.MaxWeight }).(pulumi.IntOutput) +} + +// Site Name. +func (o SiteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Site) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Whether you need help from Tencent Cloud for rack installation. +func (o SiteOutput) NeedHelp() pulumi.BoolOutput { + return o.ApplyT(func(v *Site) pulumi.BoolOutput { return v.NeedHelp }).(pulumi.BoolOutput) +} + +// Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. +func (o SiteOutput) OpticalStandard() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Site) pulumi.StringPtrOutput { return v.OpticalStandard }).(pulumi.StringPtrOutput) +} + +// Detailed address of the site area (to be added). +func (o SiteOutput) OptionalAddressLine() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Site) pulumi.StringPtrOutput { return v.OptionalAddressLine }).(pulumi.StringPtrOutput) +} + +// Site Power Connectors. Example: 380VAC3P. +func (o SiteOutput) PowerConnectors() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Site) pulumi.StringPtrOutput { return v.PowerConnectors }).(pulumi.StringPtrOutput) +} + +// Site Power DrawKva (KW). +func (o SiteOutput) PowerDrawKva() pulumi.IntOutput { + return o.ApplyT(func(v *Site) pulumi.IntOutput { return v.PowerDrawKva }).(pulumi.IntOutput) +} + +// Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. +func (o SiteOutput) PowerFeedDrop() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Site) pulumi.StringPtrOutput { return v.PowerFeedDrop }).(pulumi.StringPtrOutput) +} + +// Site Province. +func (o SiteOutput) Province() pulumi.StringOutput { + return o.ApplyT(func(v *Site) pulumi.StringOutput { return v.Province }).(pulumi.StringOutput) +} + +// Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. +func (o SiteOutput) RedundantNetworking() pulumi.BoolOutput { + return o.ApplyT(func(v *Site) pulumi.BoolOutput { return v.RedundantNetworking }).(pulumi.BoolOutput) +} + +// Whether there is power redundancy. +func (o SiteOutput) RedundantPower() pulumi.BoolOutput { + return o.ApplyT(func(v *Site) pulumi.BoolOutput { return v.RedundantPower }).(pulumi.BoolOutput) +} + +// Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. +func (o SiteOutput) UplinkCount() pulumi.IntOutput { + return o.ApplyT(func(v *Site) pulumi.IntOutput { return v.UplinkCount }).(pulumi.IntOutput) +} + +// Uplink speed from the network to Tencent Cloud Region. +func (o SiteOutput) UplinkSpeedGbps() pulumi.IntOutput { + return o.ApplyT(func(v *Site) pulumi.IntOutput { return v.UplinkSpeedGbps }).(pulumi.IntOutput) +} + +type SiteArrayOutput struct{ *pulumi.OutputState } + +func (SiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Site)(nil)).Elem() +} + +func (o SiteArrayOutput) ToSiteArrayOutput() SiteArrayOutput { + return o +} + +func (o SiteArrayOutput) ToSiteArrayOutputWithContext(ctx context.Context) SiteArrayOutput { + return o +} + +func (o SiteArrayOutput) Index(i pulumi.IntInput) SiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Site { + return vs[0].([]*Site)[vs[1].(int)] + }).(SiteOutput) +} + +type SiteMapOutput struct{ *pulumi.OutputState } + +func (SiteMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Site)(nil)).Elem() +} + +func (o SiteMapOutput) ToSiteMapOutput() SiteMapOutput { + return o +} + +func (o SiteMapOutput) ToSiteMapOutputWithContext(ctx context.Context) SiteMapOutput { + return o +} + +func (o SiteMapOutput) MapIndex(k pulumi.StringInput) SiteOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Site { + return vs[0].(map[string]*Site)[vs[1].(string)] + }).(SiteOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SiteInput)(nil)).Elem(), &Site{}) + pulumi.RegisterInputType(reflect.TypeOf((*SiteArrayInput)(nil)).Elem(), SiteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SiteMapInput)(nil)).Elem(), SiteMap{}) + pulumi.RegisterOutputType(SiteOutput{}) + pulumi.RegisterOutputType(SiteArrayOutput{}) + pulumi.RegisterOutputType(SiteMapOutput{}) +} diff --git a/sdk/go/tencentcloud/cdn/domain.go b/sdk/go/tencentcloud/cdn/domain.go index da93621a3..fbcf405ef 100644 --- a/sdk/go/tencentcloud/cdn/domain.go +++ b/sdk/go/tencentcloud/cdn/domain.go @@ -270,6 +270,8 @@ type Domain struct { OriginPullTimeout DomainOriginPullTimeoutPtrOutput `pulumi:"originPullTimeout"` // Access authentication for OSS origin. OssPrivateAccess DomainOssPrivateAccessPtrOutput `pulumi:"ossPrivateAccess"` + // Object storage back-to-source authentication of other vendors. + OthersPrivateAccess DomainOthersPrivateAccessPtrOutput `pulumi:"othersPrivateAccess"` // Maximum post size configuration. PostMaxSizes DomainPostMaxSizeArrayOutput `pulumi:"postMaxSizes"` // The project CDN belongs to, default to 0. @@ -403,6 +405,8 @@ type domainState struct { OriginPullTimeout *DomainOriginPullTimeout `pulumi:"originPullTimeout"` // Access authentication for OSS origin. OssPrivateAccess *DomainOssPrivateAccess `pulumi:"ossPrivateAccess"` + // Object storage back-to-source authentication of other vendors. + OthersPrivateAccess *DomainOthersPrivateAccess `pulumi:"othersPrivateAccess"` // Maximum post size configuration. PostMaxSizes []DomainPostMaxSize `pulumi:"postMaxSizes"` // The project CDN belongs to, default to 0. @@ -498,6 +502,8 @@ type DomainState struct { OriginPullTimeout DomainOriginPullTimeoutPtrInput // Access authentication for OSS origin. OssPrivateAccess DomainOssPrivateAccessPtrInput + // Object storage back-to-source authentication of other vendors. + OthersPrivateAccess DomainOthersPrivateAccessPtrInput // Maximum post size configuration. PostMaxSizes DomainPostMaxSizeArrayInput // The project CDN belongs to, default to 0. @@ -589,6 +595,8 @@ type domainArgs struct { OriginPullTimeout *DomainOriginPullTimeout `pulumi:"originPullTimeout"` // Access authentication for OSS origin. OssPrivateAccess *DomainOssPrivateAccess `pulumi:"ossPrivateAccess"` + // Object storage back-to-source authentication of other vendors. + OthersPrivateAccess *DomainOthersPrivateAccess `pulumi:"othersPrivateAccess"` // Maximum post size configuration. PostMaxSizes []DomainPostMaxSize `pulumi:"postMaxSizes"` // The project CDN belongs to, default to 0. @@ -675,6 +683,8 @@ type DomainArgs struct { OriginPullTimeout DomainOriginPullTimeoutPtrInput // Access authentication for OSS origin. OssPrivateAccess DomainOssPrivateAccessPtrInput + // Object storage back-to-source authentication of other vendors. + OthersPrivateAccess DomainOthersPrivateAccessPtrInput // Maximum post size configuration. PostMaxSizes DomainPostMaxSizeArrayInput // The project CDN belongs to, default to 0. @@ -935,6 +945,11 @@ func (o DomainOutput) OssPrivateAccess() DomainOssPrivateAccessPtrOutput { return o.ApplyT(func(v *Domain) DomainOssPrivateAccessPtrOutput { return v.OssPrivateAccess }).(DomainOssPrivateAccessPtrOutput) } +// Object storage back-to-source authentication of other vendors. +func (o DomainOutput) OthersPrivateAccess() DomainOthersPrivateAccessPtrOutput { + return o.ApplyT(func(v *Domain) DomainOthersPrivateAccessPtrOutput { return v.OthersPrivateAccess }).(DomainOthersPrivateAccessPtrOutput) +} + // Maximum post size configuration. func (o DomainOutput) PostMaxSizes() DomainPostMaxSizeArrayOutput { return o.ApplyT(func(v *Domain) DomainPostMaxSizeArrayOutput { return v.PostMaxSizes }).(DomainPostMaxSizeArrayOutput) diff --git a/sdk/go/tencentcloud/cdn/pulumiTypes.go b/sdk/go/tencentcloud/cdn/pulumiTypes.go index 4647f2e75..7fa44cc4c 100644 --- a/sdk/go/tencentcloud/cdn/pulumiTypes.go +++ b/sdk/go/tencentcloud/cdn/pulumiTypes.go @@ -5292,7 +5292,7 @@ func (o DomainMaxAgeMaxAgeRuleArrayOutput) Index(i pulumi.IntInput) DomainMaxAge type DomainOrigin struct { // Backup origin server list. Valid values can be ip or domain name. When modifying the backup origin server, you need to enter the corresponding `backupOriginType`. BackupOriginLists []string `pulumi:"backupOriginLists"` - // Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + // Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name. BackupOriginType *string `pulumi:"backupOriginType"` // Host header used when accessing the backup origin server. If left empty, the ServerName of master origin server will be used by default. BackupServerName *string `pulumi:"backupServerName"` @@ -5302,7 +5302,7 @@ type DomainOrigin struct { OriginLists []string `pulumi:"originLists"` // Origin-pull protocol configuration. `http`: forced HTTP origin-pull, `follow`: protocol follow origin-pull, `https`: forced HTTPS origin-pull. This only supports origin server port 443 for origin-pull. OriginPullProtocol *string `pulumi:"originPullProtocol"` - // Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ipIpv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + // Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `thirdParty`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipDomain`: IP addresses and domain names (only available to beta users), `ipDomainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipv6Domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domainDomainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ipIpv6Domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ipDomainDomainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6DomainDomainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ipIpv6DomainDomainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. OriginType string `pulumi:"originType"` // Host header used when accessing the master origin server. If left empty, the acceleration domain name will be used by default. ServerName *string `pulumi:"serverName"` @@ -5322,7 +5322,7 @@ type DomainOriginInput interface { type DomainOriginArgs struct { // Backup origin server list. Valid values can be ip or domain name. When modifying the backup origin server, you need to enter the corresponding `backupOriginType`. BackupOriginLists pulumi.StringArrayInput `pulumi:"backupOriginLists"` - // Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + // Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name. BackupOriginType pulumi.StringPtrInput `pulumi:"backupOriginType"` // Host header used when accessing the backup origin server. If left empty, the ServerName of master origin server will be used by default. BackupServerName pulumi.StringPtrInput `pulumi:"backupServerName"` @@ -5332,7 +5332,7 @@ type DomainOriginArgs struct { OriginLists pulumi.StringArrayInput `pulumi:"originLists"` // Origin-pull protocol configuration. `http`: forced HTTP origin-pull, `follow`: protocol follow origin-pull, `https`: forced HTTPS origin-pull. This only supports origin server port 443 for origin-pull. OriginPullProtocol pulumi.StringPtrInput `pulumi:"originPullProtocol"` - // Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ipIpv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + // Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `thirdParty`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipDomain`: IP addresses and domain names (only available to beta users), `ipDomainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipv6Domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domainDomainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ipIpv6Domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ipDomainDomainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6DomainDomainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ipIpv6DomainDomainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. OriginType pulumi.StringInput `pulumi:"originType"` // Host header used when accessing the master origin server. If left empty, the acceleration domain name will be used by default. ServerName pulumi.StringPtrInput `pulumi:"serverName"` @@ -5420,7 +5420,7 @@ func (o DomainOriginOutput) BackupOriginLists() pulumi.StringArrayOutput { return o.ApplyT(func(v DomainOrigin) []string { return v.BackupOriginLists }).(pulumi.StringArrayOutput) } -// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. +// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name. func (o DomainOriginOutput) BackupOriginType() pulumi.StringPtrOutput { return o.ApplyT(func(v DomainOrigin) *string { return v.BackupOriginType }).(pulumi.StringPtrOutput) } @@ -5445,7 +5445,7 @@ func (o DomainOriginOutput) OriginPullProtocol() pulumi.StringPtrOutput { return o.ApplyT(func(v DomainOrigin) *string { return v.OriginPullProtocol }).(pulumi.StringPtrOutput) } -// Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ipIpv6`: origin server list is multiple IPv4 addresses and an IPv6 address. +// Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `thirdParty`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipDomain`: IP addresses and domain names (only available to beta users), `ipDomainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipv6Domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domainDomainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ipIpv6Domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ipDomainDomainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6DomainDomainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ipIpv6DomainDomainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. func (o DomainOriginOutput) OriginType() pulumi.StringOutput { return o.ApplyT(func(v DomainOrigin) string { return v.OriginType }).(pulumi.StringOutput) } @@ -5489,7 +5489,7 @@ func (o DomainOriginPtrOutput) BackupOriginLists() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } -// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. +// Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name. func (o DomainOriginPtrOutput) BackupOriginType() pulumi.StringPtrOutput { return o.ApplyT(func(v *DomainOrigin) *string { if v == nil { @@ -5539,7 +5539,7 @@ func (o DomainOriginPtrOutput) OriginPullProtocol() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ipIpv6`: origin server list is multiple IPv4 addresses and an IPv6 address. +// Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `thirdParty`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipDomain`: IP addresses and domain names (only available to beta users), `ipDomainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipv6Domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domainDomainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ipIpv6Domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ipDomainDomainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6DomainDomainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ipIpv6DomainDomainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. func (o DomainOriginPtrOutput) OriginType() pulumi.StringPtrOutput { return o.ApplyT(func(v *DomainOrigin) *string { if v == nil { @@ -6084,6 +6084,219 @@ func (o DomainOssPrivateAccessPtrOutput) Switch() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type DomainOthersPrivateAccess struct { + // Access ID. + AccessKey *string `pulumi:"accessKey"` + // Bucket. + Bucket *string `pulumi:"bucket"` + // Region. + Region *string `pulumi:"region"` + // Key. + SecretKey *string `pulumi:"secretKey"` + // Configuration switch, available values: `on`, `off` (default). + Switch string `pulumi:"switch"` +} + +// DomainOthersPrivateAccessInput is an input type that accepts DomainOthersPrivateAccessArgs and DomainOthersPrivateAccessOutput values. +// You can construct a concrete instance of `DomainOthersPrivateAccessInput` via: +// +// DomainOthersPrivateAccessArgs{...} +type DomainOthersPrivateAccessInput interface { + pulumi.Input + + ToDomainOthersPrivateAccessOutput() DomainOthersPrivateAccessOutput + ToDomainOthersPrivateAccessOutputWithContext(context.Context) DomainOthersPrivateAccessOutput +} + +type DomainOthersPrivateAccessArgs struct { + // Access ID. + AccessKey pulumi.StringPtrInput `pulumi:"accessKey"` + // Bucket. + Bucket pulumi.StringPtrInput `pulumi:"bucket"` + // Region. + Region pulumi.StringPtrInput `pulumi:"region"` + // Key. + SecretKey pulumi.StringPtrInput `pulumi:"secretKey"` + // Configuration switch, available values: `on`, `off` (default). + Switch pulumi.StringInput `pulumi:"switch"` +} + +func (DomainOthersPrivateAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainOthersPrivateAccess)(nil)).Elem() +} + +func (i DomainOthersPrivateAccessArgs) ToDomainOthersPrivateAccessOutput() DomainOthersPrivateAccessOutput { + return i.ToDomainOthersPrivateAccessOutputWithContext(context.Background()) +} + +func (i DomainOthersPrivateAccessArgs) ToDomainOthersPrivateAccessOutputWithContext(ctx context.Context) DomainOthersPrivateAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainOthersPrivateAccessOutput) +} + +func (i DomainOthersPrivateAccessArgs) ToDomainOthersPrivateAccessPtrOutput() DomainOthersPrivateAccessPtrOutput { + return i.ToDomainOthersPrivateAccessPtrOutputWithContext(context.Background()) +} + +func (i DomainOthersPrivateAccessArgs) ToDomainOthersPrivateAccessPtrOutputWithContext(ctx context.Context) DomainOthersPrivateAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainOthersPrivateAccessOutput).ToDomainOthersPrivateAccessPtrOutputWithContext(ctx) +} + +// DomainOthersPrivateAccessPtrInput is an input type that accepts DomainOthersPrivateAccessArgs, DomainOthersPrivateAccessPtr and DomainOthersPrivateAccessPtrOutput values. +// You can construct a concrete instance of `DomainOthersPrivateAccessPtrInput` via: +// +// DomainOthersPrivateAccessArgs{...} +// +// or: +// +// nil +type DomainOthersPrivateAccessPtrInput interface { + pulumi.Input + + ToDomainOthersPrivateAccessPtrOutput() DomainOthersPrivateAccessPtrOutput + ToDomainOthersPrivateAccessPtrOutputWithContext(context.Context) DomainOthersPrivateAccessPtrOutput +} + +type domainOthersPrivateAccessPtrType DomainOthersPrivateAccessArgs + +func DomainOthersPrivateAccessPtr(v *DomainOthersPrivateAccessArgs) DomainOthersPrivateAccessPtrInput { + return (*domainOthersPrivateAccessPtrType)(v) +} + +func (*domainOthersPrivateAccessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainOthersPrivateAccess)(nil)).Elem() +} + +func (i *domainOthersPrivateAccessPtrType) ToDomainOthersPrivateAccessPtrOutput() DomainOthersPrivateAccessPtrOutput { + return i.ToDomainOthersPrivateAccessPtrOutputWithContext(context.Background()) +} + +func (i *domainOthersPrivateAccessPtrType) ToDomainOthersPrivateAccessPtrOutputWithContext(ctx context.Context) DomainOthersPrivateAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainOthersPrivateAccessPtrOutput) +} + +type DomainOthersPrivateAccessOutput struct{ *pulumi.OutputState } + +func (DomainOthersPrivateAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainOthersPrivateAccess)(nil)).Elem() +} + +func (o DomainOthersPrivateAccessOutput) ToDomainOthersPrivateAccessOutput() DomainOthersPrivateAccessOutput { + return o +} + +func (o DomainOthersPrivateAccessOutput) ToDomainOthersPrivateAccessOutputWithContext(ctx context.Context) DomainOthersPrivateAccessOutput { + return o +} + +func (o DomainOthersPrivateAccessOutput) ToDomainOthersPrivateAccessPtrOutput() DomainOthersPrivateAccessPtrOutput { + return o.ToDomainOthersPrivateAccessPtrOutputWithContext(context.Background()) +} + +func (o DomainOthersPrivateAccessOutput) ToDomainOthersPrivateAccessPtrOutputWithContext(ctx context.Context) DomainOthersPrivateAccessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainOthersPrivateAccess) *DomainOthersPrivateAccess { + return &v + }).(DomainOthersPrivateAccessPtrOutput) +} + +// Access ID. +func (o DomainOthersPrivateAccessOutput) AccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainOthersPrivateAccess) *string { return v.AccessKey }).(pulumi.StringPtrOutput) +} + +// Bucket. +func (o DomainOthersPrivateAccessOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainOthersPrivateAccess) *string { return v.Bucket }).(pulumi.StringPtrOutput) +} + +// Region. +func (o DomainOthersPrivateAccessOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainOthersPrivateAccess) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Key. +func (o DomainOthersPrivateAccessOutput) SecretKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainOthersPrivateAccess) *string { return v.SecretKey }).(pulumi.StringPtrOutput) +} + +// Configuration switch, available values: `on`, `off` (default). +func (o DomainOthersPrivateAccessOutput) Switch() pulumi.StringOutput { + return o.ApplyT(func(v DomainOthersPrivateAccess) string { return v.Switch }).(pulumi.StringOutput) +} + +type DomainOthersPrivateAccessPtrOutput struct{ *pulumi.OutputState } + +func (DomainOthersPrivateAccessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainOthersPrivateAccess)(nil)).Elem() +} + +func (o DomainOthersPrivateAccessPtrOutput) ToDomainOthersPrivateAccessPtrOutput() DomainOthersPrivateAccessPtrOutput { + return o +} + +func (o DomainOthersPrivateAccessPtrOutput) ToDomainOthersPrivateAccessPtrOutputWithContext(ctx context.Context) DomainOthersPrivateAccessPtrOutput { + return o +} + +func (o DomainOthersPrivateAccessPtrOutput) Elem() DomainOthersPrivateAccessOutput { + return o.ApplyT(func(v *DomainOthersPrivateAccess) DomainOthersPrivateAccess { + if v != nil { + return *v + } + var ret DomainOthersPrivateAccess + return ret + }).(DomainOthersPrivateAccessOutput) +} + +// Access ID. +func (o DomainOthersPrivateAccessPtrOutput) AccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainOthersPrivateAccess) *string { + if v == nil { + return nil + } + return v.AccessKey + }).(pulumi.StringPtrOutput) +} + +// Bucket. +func (o DomainOthersPrivateAccessPtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainOthersPrivateAccess) *string { + if v == nil { + return nil + } + return v.Bucket + }).(pulumi.StringPtrOutput) +} + +// Region. +func (o DomainOthersPrivateAccessPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainOthersPrivateAccess) *string { + if v == nil { + return nil + } + return v.Region + }).(pulumi.StringPtrOutput) +} + +// Key. +func (o DomainOthersPrivateAccessPtrOutput) SecretKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainOthersPrivateAccess) *string { + if v == nil { + return nil + } + return v.SecretKey + }).(pulumi.StringPtrOutput) +} + +// Configuration switch, available values: `on`, `off` (default). +func (o DomainOthersPrivateAccessPtrOutput) Switch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainOthersPrivateAccess) *string { + if v == nil { + return nil + } + return &v.Switch + }).(pulumi.StringPtrOutput) +} + type DomainPostMaxSize struct { // Maximum size in MB, value range is `[1, 200]`. MaxSize *int `pulumi:"maxSize"` @@ -8991,6 +9204,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainOriginPullTimeoutPtrInput)(nil)).Elem(), DomainOriginPullTimeoutArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainOssPrivateAccessInput)(nil)).Elem(), DomainOssPrivateAccessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainOssPrivateAccessPtrInput)(nil)).Elem(), DomainOssPrivateAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainOthersPrivateAccessInput)(nil)).Elem(), DomainOthersPrivateAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainOthersPrivateAccessPtrInput)(nil)).Elem(), DomainOthersPrivateAccessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainPostMaxSizeInput)(nil)).Elem(), DomainPostMaxSizeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainPostMaxSizeArrayInput)(nil)).Elem(), DomainPostMaxSizeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainQnPrivateAccessInput)(nil)).Elem(), DomainQnPrivateAccessArgs{}) @@ -9092,6 +9307,8 @@ func init() { pulumi.RegisterOutputType(DomainOriginPullTimeoutPtrOutput{}) pulumi.RegisterOutputType(DomainOssPrivateAccessOutput{}) pulumi.RegisterOutputType(DomainOssPrivateAccessPtrOutput{}) + pulumi.RegisterOutputType(DomainOthersPrivateAccessOutput{}) + pulumi.RegisterOutputType(DomainOthersPrivateAccessPtrOutput{}) pulumi.RegisterOutputType(DomainPostMaxSizeOutput{}) pulumi.RegisterOutputType(DomainPostMaxSizeArrayOutput{}) pulumi.RegisterOutputType(DomainQnPrivateAccessOutput{}) diff --git a/sdk/go/tencentcloud/cdwdoris/getInstances.go b/sdk/go/tencentcloud/cdwdoris/getInstances.go new file mode 100644 index 000000000..c58430cee --- /dev/null +++ b/sdk/go/tencentcloud/cdwdoris/getInstances.go @@ -0,0 +1,183 @@ +// 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 cdwdoris + +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 cdwdoris instances +// +// ## Example Usage +// +// ### Query all cdwdoris instances +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdwdoris" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdwdoris.GetInstances(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query cdwdoris instances by filter +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cdwdoris" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cdwdoris.GetInstances(ctx, &cdwdoris.GetInstancesArgs{ +// SearchTags: []cdwdoris.GetInstancesSearchTag{ +// { +// AllValue: pulumi.IntRef(0), +// TagKey: pulumi.StringRef("createBy"), +// TagValue: pulumi.StringRef("Terraform"), +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.InvokeOption) (*GetInstancesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetInstancesResult + err := ctx.Invoke("tencentcloud:Cdwdoris/getInstances:getInstances", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getInstances. +type GetInstancesArgs struct { + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // The name of the cluster ID for the search. + SearchInstanceId *string `pulumi:"searchInstanceId"` + // The cluster name for the search. + SearchInstanceName *string `pulumi:"searchInstanceName"` + // Search tag list. + SearchTags []GetInstancesSearchTag `pulumi:"searchTags"` +} + +// A collection of values returned by getInstances. +type GetInstancesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Quantities of instances array. + InstancesLists []GetInstancesInstancesList `pulumi:"instancesLists"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + SearchInstanceId *string `pulumi:"searchInstanceId"` + SearchInstanceName *string `pulumi:"searchInstanceName"` + SearchTags []GetInstancesSearchTag `pulumi:"searchTags"` +} + +func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts ...pulumi.InvokeOption) GetInstancesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetInstancesResult, error) { + args := v.(GetInstancesArgs) + r, err := GetInstances(ctx, &args, opts...) + var s GetInstancesResult + if r != nil { + s = *r + } + return s, err + }).(GetInstancesResultOutput) +} + +// A collection of arguments for invoking getInstances. +type GetInstancesOutputArgs struct { + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // The name of the cluster ID for the search. + SearchInstanceId pulumi.StringPtrInput `pulumi:"searchInstanceId"` + // The cluster name for the search. + SearchInstanceName pulumi.StringPtrInput `pulumi:"searchInstanceName"` + // Search tag list. + SearchTags GetInstancesSearchTagArrayInput `pulumi:"searchTags"` +} + +func (GetInstancesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesArgs)(nil)).Elem() +} + +// A collection of values returned by getInstances. +type GetInstancesResultOutput struct{ *pulumi.OutputState } + +func (GetInstancesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesResult)(nil)).Elem() +} + +func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput { + return o +} + +func (o GetInstancesResultOutput) ToGetInstancesResultOutputWithContext(ctx context.Context) GetInstancesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetInstancesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Quantities of instances array. +func (o GetInstancesResultOutput) InstancesLists() GetInstancesInstancesListArrayOutput { + return o.ApplyT(func(v GetInstancesResult) []GetInstancesInstancesList { return v.InstancesLists }).(GetInstancesInstancesListArrayOutput) +} + +func (o GetInstancesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetInstancesResultOutput) SearchInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesResult) *string { return v.SearchInstanceId }).(pulumi.StringPtrOutput) +} + +func (o GetInstancesResultOutput) SearchInstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesResult) *string { return v.SearchInstanceName }).(pulumi.StringPtrOutput) +} + +func (o GetInstancesResultOutput) SearchTags() GetInstancesSearchTagArrayOutput { + return o.ApplyT(func(v GetInstancesResult) []GetInstancesSearchTag { return v.SearchTags }).(GetInstancesSearchTagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetInstancesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/cdwdoris/init.go b/sdk/go/tencentcloud/cdwdoris/init.go new file mode 100644 index 000000000..6f93ba600 --- /dev/null +++ b/sdk/go/tencentcloud/cdwdoris/init.go @@ -0,0 +1,51 @@ +// 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 cdwdoris + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "tencentcloud:Cdwdoris/instance:Instance": + r = &Instance{} + case "tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup": + r = &WorkloadGroup{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "tencentcloud", + "Cdwdoris/instance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Cdwdoris/workloadGroup", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/cdwdoris/instance.go b/sdk/go/tencentcloud/cdwdoris/instance.go new file mode 100644 index 000000000..4dfdbee12 --- /dev/null +++ b/sdk/go/tencentcloud/cdwdoris/instance.go @@ -0,0 +1,692 @@ +// 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 cdwdoris + +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 cdwdoris instance +// +// ## Example Usage +// +// ### Create a POSTPAID instance +// +// +// ```go +// package main +// +// 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/Cdwdoris" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-6" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("security group desc."), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("Terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create POSTPAID instance +// _, err = Cdwdoris.NewInstance(ctx, "exampleInstance", &Cdwdoris.InstanceArgs{ +// Zone: pulumi.String(availabilityZone), +// UserVpcId: vpc.ID(), +// UserSubnetId: subnet.ID(), +// ProductVersion: pulumi.String("2.1"), +// InstanceName: pulumi.String("tf-example"), +// DorisUserPwd: pulumi.String("Password@test"), +// HaFlag: pulumi.Bool(false), +// CaseSensitive: pulumi.Int(0), +// EnableMultiZones: pulumi.Bool(false), +// WorkloadGroupStatus: pulumi.String("open"), +// SecurityGroupIds: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// ChargeProperties: &cdwdoris.InstanceChargePropertiesArgs{ +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// }, +// FeSpec: &cdwdoris.InstanceFeSpecArgs{ +// SpecName: pulumi.String("S_4_16_P"), +// Count: pulumi.Int(3), +// DiskSize: pulumi.Int(200), +// }, +// BeSpec: &cdwdoris.InstanceBeSpecArgs{ +// SpecName: pulumi.String("S_4_16_P"), +// Count: pulumi.Int(3), +// DiskSize: pulumi.Int(200), +// }, +// Tags: cdwdoris.InstanceTagArray{ +// &cdwdoris.InstanceTagArgs{ +// TagKey: pulumi.String("createBy"), +// TagValue: pulumi.String("Terraform"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a POSTPAID instance +// +// +// ```go +// package main +// +// 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/Cdwdoris" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-6" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("security group desc."), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("Terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create PREPAID instance +// _, err = Cdwdoris.NewInstance(ctx, "exampleInstance", &Cdwdoris.InstanceArgs{ +// Zone: pulumi.String(availabilityZone), +// UserVpcId: vpc.ID(), +// UserSubnetId: subnet.ID(), +// ProductVersion: pulumi.String("2.1"), +// InstanceName: pulumi.String("tf-example"), +// DorisUserPwd: pulumi.String("Password@test"), +// HaFlag: pulumi.Bool(false), +// CaseSensitive: pulumi.Int(0), +// EnableMultiZones: pulumi.Bool(false), +// WorkloadGroupStatus: pulumi.String("close"), +// SecurityGroupIds: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// ChargeProperties: &cdwdoris.InstanceChargePropertiesArgs{ +// ChargeType: pulumi.String("PREPAID"), +// TimeSpan: pulumi.Int(1), +// TimeUnit: pulumi.String("m"), +// }, +// FeSpec: &cdwdoris.InstanceFeSpecArgs{ +// SpecName: pulumi.String("S_4_16_P"), +// Count: pulumi.Int(3), +// DiskSize: pulumi.Int(200), +// }, +// BeSpec: &cdwdoris.InstanceBeSpecArgs{ +// SpecName: pulumi.String("S_4_16_P"), +// Count: pulumi.Int(3), +// DiskSize: pulumi.Int(200), +// }, +// Tags: cdwdoris.InstanceTagArray{ +// &cdwdoris.InstanceTagArgs{ +// TagKey: pulumi.String("createBy"), +// TagValue: pulumi.String("Terraform"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type Instance struct { + pulumi.CustomResourceState + + // BE specifications. + BeSpec InstanceBeSpecOutput `pulumi:"beSpec"` + // Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + CaseSensitive pulumi.IntPtrOutput `pulumi:"caseSensitive"` + // Payment type. + ChargeProperties InstanceChargePropertiesOutput `pulumi:"chargeProperties"` + // Database password. + DorisUserPwd pulumi.StringOutput `pulumi:"dorisUserPwd"` + // Whether to enable multi-availability zone. + EnableMultiZones pulumi.BoolPtrOutput `pulumi:"enableMultiZones"` + // FE specifications. + FeSpec InstanceFeSpecOutput `pulumi:"feSpec"` + // Whether it is highly available. + HaFlag pulumi.BoolOutput `pulumi:"haFlag"` + // High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + HaType pulumi.IntPtrOutput `pulumi:"haType"` + // Instance name. + InstanceName pulumi.StringOutput `pulumi:"instanceName"` + // Product version number. + ProductVersion pulumi.StringOutput `pulumi:"productVersion"` + // Security Group Id list. + SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` + // Tag list. + Tags InstanceTagArrayOutput `pulumi:"tags"` + // After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + UserMultiZoneInfos InstanceUserMultiZoneInfosPtrOutput `pulumi:"userMultiZoneInfos"` + // User subnet ID. + UserSubnetId pulumi.StringOutput `pulumi:"userSubnetId"` + // User VPCID. + UserVpcId pulumi.StringOutput `pulumi:"userVpcId"` + // Whether to enable resource group. `open` - enable, `close` - disable. + WorkloadGroupStatus pulumi.StringOutput `pulumi:"workloadGroupStatus"` + // Availability zone. + Zone pulumi.StringOutput `pulumi:"zone"` +} + +// NewInstance registers a new resource with the given unique name, arguments, and options. +func NewInstance(ctx *pulumi.Context, + name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BeSpec == nil { + return nil, errors.New("invalid value for required argument 'BeSpec'") + } + if args.ChargeProperties == nil { + return nil, errors.New("invalid value for required argument 'ChargeProperties'") + } + if args.DorisUserPwd == nil { + return nil, errors.New("invalid value for required argument 'DorisUserPwd'") + } + if args.FeSpec == nil { + return nil, errors.New("invalid value for required argument 'FeSpec'") + } + if args.HaFlag == nil { + return nil, errors.New("invalid value for required argument 'HaFlag'") + } + if args.InstanceName == nil { + return nil, errors.New("invalid value for required argument 'InstanceName'") + } + if args.ProductVersion == nil { + return nil, errors.New("invalid value for required argument 'ProductVersion'") + } + if args.UserSubnetId == nil { + return nil, errors.New("invalid value for required argument 'UserSubnetId'") + } + if args.UserVpcId == nil { + return nil, errors.New("invalid value for required argument 'UserVpcId'") + } + if args.WorkloadGroupStatus == nil { + return nil, errors.New("invalid value for required argument 'WorkloadGroupStatus'") + } + if args.Zone == nil { + return nil, errors.New("invalid value for required argument 'Zone'") + } + if args.DorisUserPwd != nil { + args.DorisUserPwd = pulumi.ToSecret(args.DorisUserPwd).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "dorisUserPwd", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Instance + err := ctx.RegisterResource("tencentcloud:Cdwdoris/instance:Instance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetInstance gets an existing Instance 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 GetInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error) { + var resource Instance + err := ctx.ReadResource("tencentcloud:Cdwdoris/instance:Instance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Instance resources. +type instanceState struct { + // BE specifications. + BeSpec *InstanceBeSpec `pulumi:"beSpec"` + // Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + CaseSensitive *int `pulumi:"caseSensitive"` + // Payment type. + ChargeProperties *InstanceChargeProperties `pulumi:"chargeProperties"` + // Database password. + DorisUserPwd *string `pulumi:"dorisUserPwd"` + // Whether to enable multi-availability zone. + EnableMultiZones *bool `pulumi:"enableMultiZones"` + // FE specifications. + FeSpec *InstanceFeSpec `pulumi:"feSpec"` + // Whether it is highly available. + HaFlag *bool `pulumi:"haFlag"` + // High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + HaType *int `pulumi:"haType"` + // Instance name. + InstanceName *string `pulumi:"instanceName"` + // Product version number. + ProductVersion *string `pulumi:"productVersion"` + // Security Group Id list. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Tag list. + Tags []InstanceTag `pulumi:"tags"` + // After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + UserMultiZoneInfos *InstanceUserMultiZoneInfos `pulumi:"userMultiZoneInfos"` + // User subnet ID. + UserSubnetId *string `pulumi:"userSubnetId"` + // User VPCID. + UserVpcId *string `pulumi:"userVpcId"` + // Whether to enable resource group. `open` - enable, `close` - disable. + WorkloadGroupStatus *string `pulumi:"workloadGroupStatus"` + // Availability zone. + Zone *string `pulumi:"zone"` +} + +type InstanceState struct { + // BE specifications. + BeSpec InstanceBeSpecPtrInput + // Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + CaseSensitive pulumi.IntPtrInput + // Payment type. + ChargeProperties InstanceChargePropertiesPtrInput + // Database password. + DorisUserPwd pulumi.StringPtrInput + // Whether to enable multi-availability zone. + EnableMultiZones pulumi.BoolPtrInput + // FE specifications. + FeSpec InstanceFeSpecPtrInput + // Whether it is highly available. + HaFlag pulumi.BoolPtrInput + // High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + HaType pulumi.IntPtrInput + // Instance name. + InstanceName pulumi.StringPtrInput + // Product version number. + ProductVersion pulumi.StringPtrInput + // Security Group Id list. + SecurityGroupIds pulumi.StringArrayInput + // Tag list. + Tags InstanceTagArrayInput + // After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + UserMultiZoneInfos InstanceUserMultiZoneInfosPtrInput + // User subnet ID. + UserSubnetId pulumi.StringPtrInput + // User VPCID. + UserVpcId pulumi.StringPtrInput + // Whether to enable resource group. `open` - enable, `close` - disable. + WorkloadGroupStatus pulumi.StringPtrInput + // Availability zone. + Zone pulumi.StringPtrInput +} + +func (InstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*instanceState)(nil)).Elem() +} + +type instanceArgs struct { + // BE specifications. + BeSpec InstanceBeSpec `pulumi:"beSpec"` + // Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + CaseSensitive *int `pulumi:"caseSensitive"` + // Payment type. + ChargeProperties InstanceChargeProperties `pulumi:"chargeProperties"` + // Database password. + DorisUserPwd string `pulumi:"dorisUserPwd"` + // Whether to enable multi-availability zone. + EnableMultiZones *bool `pulumi:"enableMultiZones"` + // FE specifications. + FeSpec InstanceFeSpec `pulumi:"feSpec"` + // Whether it is highly available. + HaFlag bool `pulumi:"haFlag"` + // High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + HaType *int `pulumi:"haType"` + // Instance name. + InstanceName string `pulumi:"instanceName"` + // Product version number. + ProductVersion string `pulumi:"productVersion"` + // Security Group Id list. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Tag list. + Tags []InstanceTag `pulumi:"tags"` + // After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + UserMultiZoneInfos *InstanceUserMultiZoneInfos `pulumi:"userMultiZoneInfos"` + // User subnet ID. + UserSubnetId string `pulumi:"userSubnetId"` + // User VPCID. + UserVpcId string `pulumi:"userVpcId"` + // Whether to enable resource group. `open` - enable, `close` - disable. + WorkloadGroupStatus string `pulumi:"workloadGroupStatus"` + // Availability zone. + Zone string `pulumi:"zone"` +} + +// The set of arguments for constructing a Instance resource. +type InstanceArgs struct { + // BE specifications. + BeSpec InstanceBeSpecInput + // Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + CaseSensitive pulumi.IntPtrInput + // Payment type. + ChargeProperties InstanceChargePropertiesInput + // Database password. + DorisUserPwd pulumi.StringInput + // Whether to enable multi-availability zone. + EnableMultiZones pulumi.BoolPtrInput + // FE specifications. + FeSpec InstanceFeSpecInput + // Whether it is highly available. + HaFlag pulumi.BoolInput + // High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + HaType pulumi.IntPtrInput + // Instance name. + InstanceName pulumi.StringInput + // Product version number. + ProductVersion pulumi.StringInput + // Security Group Id list. + SecurityGroupIds pulumi.StringArrayInput + // Tag list. + Tags InstanceTagArrayInput + // After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + UserMultiZoneInfos InstanceUserMultiZoneInfosPtrInput + // User subnet ID. + UserSubnetId pulumi.StringInput + // User VPCID. + UserVpcId pulumi.StringInput + // Whether to enable resource group. `open` - enable, `close` - disable. + WorkloadGroupStatus pulumi.StringInput + // Availability zone. + Zone pulumi.StringInput +} + +func (InstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*instanceArgs)(nil)).Elem() +} + +type InstanceInput interface { + pulumi.Input + + ToInstanceOutput() InstanceOutput + ToInstanceOutputWithContext(ctx context.Context) InstanceOutput +} + +func (*Instance) ElementType() reflect.Type { + return reflect.TypeOf((**Instance)(nil)).Elem() +} + +func (i *Instance) ToInstanceOutput() InstanceOutput { + return i.ToInstanceOutputWithContext(context.Background()) +} + +func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceOutput) +} + +// InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. +// You can construct a concrete instance of `InstanceArrayInput` via: +// +// InstanceArray{ InstanceArgs{...} } +type InstanceArrayInput interface { + pulumi.Input + + ToInstanceArrayOutput() InstanceArrayOutput + ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput +} + +type InstanceArray []InstanceInput + +func (InstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Instance)(nil)).Elem() +} + +func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput { + return i.ToInstanceArrayOutputWithContext(context.Background()) +} + +func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceArrayOutput) +} + +// InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. +// You can construct a concrete instance of `InstanceMapInput` via: +// +// InstanceMap{ "key": InstanceArgs{...} } +type InstanceMapInput interface { + pulumi.Input + + ToInstanceMapOutput() InstanceMapOutput + ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput +} + +type InstanceMap map[string]InstanceInput + +func (InstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Instance)(nil)).Elem() +} + +func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput { + return i.ToInstanceMapOutputWithContext(context.Background()) +} + +func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMapOutput) +} + +type InstanceOutput struct{ *pulumi.OutputState } + +func (InstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Instance)(nil)).Elem() +} + +func (o InstanceOutput) ToInstanceOutput() InstanceOutput { + return o +} + +func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput { + return o +} + +// BE specifications. +func (o InstanceOutput) BeSpec() InstanceBeSpecOutput { + return o.ApplyT(func(v *Instance) InstanceBeSpecOutput { return v.BeSpec }).(InstanceBeSpecOutput) +} + +// Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. +func (o InstanceOutput) CaseSensitive() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.CaseSensitive }).(pulumi.IntPtrOutput) +} + +// Payment type. +func (o InstanceOutput) ChargeProperties() InstanceChargePropertiesOutput { + return o.ApplyT(func(v *Instance) InstanceChargePropertiesOutput { return v.ChargeProperties }).(InstanceChargePropertiesOutput) +} + +// Database password. +func (o InstanceOutput) DorisUserPwd() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DorisUserPwd }).(pulumi.StringOutput) +} + +// Whether to enable multi-availability zone. +func (o InstanceOutput) EnableMultiZones() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.EnableMultiZones }).(pulumi.BoolPtrOutput) +} + +// FE specifications. +func (o InstanceOutput) FeSpec() InstanceFeSpecOutput { + return o.ApplyT(func(v *Instance) InstanceFeSpecOutput { return v.FeSpec }).(InstanceFeSpecOutput) +} + +// Whether it is highly available. +func (o InstanceOutput) HaFlag() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.HaFlag }).(pulumi.BoolOutput) +} + +// High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). +func (o InstanceOutput) HaType() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.HaType }).(pulumi.IntPtrOutput) +} + +// Instance name. +func (o InstanceOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.InstanceName }).(pulumi.StringOutput) +} + +// Product version number. +func (o InstanceOutput) ProductVersion() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ProductVersion }).(pulumi.StringOutput) +} + +// Security Group Id list. +func (o InstanceOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Tag list. +func (o InstanceOutput) Tags() InstanceTagArrayOutput { + return o.ApplyT(func(v *Instance) InstanceTagArrayOutput { return v.Tags }).(InstanceTagArrayOutput) +} + +// After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. +func (o InstanceOutput) UserMultiZoneInfos() InstanceUserMultiZoneInfosPtrOutput { + return o.ApplyT(func(v *Instance) InstanceUserMultiZoneInfosPtrOutput { return v.UserMultiZoneInfos }).(InstanceUserMultiZoneInfosPtrOutput) +} + +// User subnet ID. +func (o InstanceOutput) UserSubnetId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.UserSubnetId }).(pulumi.StringOutput) +} + +// User VPCID. +func (o InstanceOutput) UserVpcId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.UserVpcId }).(pulumi.StringOutput) +} + +// Whether to enable resource group. `open` - enable, `close` - disable. +func (o InstanceOutput) WorkloadGroupStatus() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.WorkloadGroupStatus }).(pulumi.StringOutput) +} + +// Availability zone. +func (o InstanceOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Zone }).(pulumi.StringOutput) +} + +type InstanceArrayOutput struct{ *pulumi.OutputState } + +func (InstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Instance)(nil)).Elem() +} + +func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput { + return o +} + +func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput { + return o +} + +func (o InstanceArrayOutput) Index(i pulumi.IntInput) InstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Instance { + return vs[0].([]*Instance)[vs[1].(int)] + }).(InstanceOutput) +} + +type InstanceMapOutput struct{ *pulumi.OutputState } + +func (InstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Instance)(nil)).Elem() +} + +func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput { + return o +} + +func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput { + return o +} + +func (o InstanceMapOutput) MapIndex(k pulumi.StringInput) InstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Instance { + return vs[0].(map[string]*Instance)[vs[1].(string)] + }).(InstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*InstanceInput)(nil)).Elem(), &Instance{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceArrayInput)(nil)).Elem(), InstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceMapInput)(nil)).Elem(), InstanceMap{}) + pulumi.RegisterOutputType(InstanceOutput{}) + pulumi.RegisterOutputType(InstanceArrayOutput{}) + pulumi.RegisterOutputType(InstanceMapOutput{}) +} diff --git a/sdk/go/tencentcloud/cdwdoris/pulumiTypes.go b/sdk/go/tencentcloud/cdwdoris/pulumiTypes.go new file mode 100644 index 000000000..851d3a679 --- /dev/null +++ b/sdk/go/tencentcloud/cdwdoris/pulumiTypes.go @@ -0,0 +1,2322 @@ +// 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 cdwdoris + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type InstanceBeSpec struct { + // Quantities. + Count int `pulumi:"count"` + // Cloud disk size. + DiskSize int `pulumi:"diskSize"` + // Specification name. + SpecName string `pulumi:"specName"` +} + +// InstanceBeSpecInput is an input type that accepts InstanceBeSpecArgs and InstanceBeSpecOutput values. +// You can construct a concrete instance of `InstanceBeSpecInput` via: +// +// InstanceBeSpecArgs{...} +type InstanceBeSpecInput interface { + pulumi.Input + + ToInstanceBeSpecOutput() InstanceBeSpecOutput + ToInstanceBeSpecOutputWithContext(context.Context) InstanceBeSpecOutput +} + +type InstanceBeSpecArgs struct { + // Quantities. + Count pulumi.IntInput `pulumi:"count"` + // Cloud disk size. + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Specification name. + SpecName pulumi.StringInput `pulumi:"specName"` +} + +func (InstanceBeSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceBeSpec)(nil)).Elem() +} + +func (i InstanceBeSpecArgs) ToInstanceBeSpecOutput() InstanceBeSpecOutput { + return i.ToInstanceBeSpecOutputWithContext(context.Background()) +} + +func (i InstanceBeSpecArgs) ToInstanceBeSpecOutputWithContext(ctx context.Context) InstanceBeSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBeSpecOutput) +} + +func (i InstanceBeSpecArgs) ToInstanceBeSpecPtrOutput() InstanceBeSpecPtrOutput { + return i.ToInstanceBeSpecPtrOutputWithContext(context.Background()) +} + +func (i InstanceBeSpecArgs) ToInstanceBeSpecPtrOutputWithContext(ctx context.Context) InstanceBeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBeSpecOutput).ToInstanceBeSpecPtrOutputWithContext(ctx) +} + +// InstanceBeSpecPtrInput is an input type that accepts InstanceBeSpecArgs, InstanceBeSpecPtr and InstanceBeSpecPtrOutput values. +// You can construct a concrete instance of `InstanceBeSpecPtrInput` via: +// +// InstanceBeSpecArgs{...} +// +// or: +// +// nil +type InstanceBeSpecPtrInput interface { + pulumi.Input + + ToInstanceBeSpecPtrOutput() InstanceBeSpecPtrOutput + ToInstanceBeSpecPtrOutputWithContext(context.Context) InstanceBeSpecPtrOutput +} + +type instanceBeSpecPtrType InstanceBeSpecArgs + +func InstanceBeSpecPtr(v *InstanceBeSpecArgs) InstanceBeSpecPtrInput { + return (*instanceBeSpecPtrType)(v) +} + +func (*instanceBeSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceBeSpec)(nil)).Elem() +} + +func (i *instanceBeSpecPtrType) ToInstanceBeSpecPtrOutput() InstanceBeSpecPtrOutput { + return i.ToInstanceBeSpecPtrOutputWithContext(context.Background()) +} + +func (i *instanceBeSpecPtrType) ToInstanceBeSpecPtrOutputWithContext(ctx context.Context) InstanceBeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBeSpecPtrOutput) +} + +type InstanceBeSpecOutput struct{ *pulumi.OutputState } + +func (InstanceBeSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceBeSpec)(nil)).Elem() +} + +func (o InstanceBeSpecOutput) ToInstanceBeSpecOutput() InstanceBeSpecOutput { + return o +} + +func (o InstanceBeSpecOutput) ToInstanceBeSpecOutputWithContext(ctx context.Context) InstanceBeSpecOutput { + return o +} + +func (o InstanceBeSpecOutput) ToInstanceBeSpecPtrOutput() InstanceBeSpecPtrOutput { + return o.ToInstanceBeSpecPtrOutputWithContext(context.Background()) +} + +func (o InstanceBeSpecOutput) ToInstanceBeSpecPtrOutputWithContext(ctx context.Context) InstanceBeSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceBeSpec) *InstanceBeSpec { + return &v + }).(InstanceBeSpecPtrOutput) +} + +// Quantities. +func (o InstanceBeSpecOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v InstanceBeSpec) int { return v.Count }).(pulumi.IntOutput) +} + +// Cloud disk size. +func (o InstanceBeSpecOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v InstanceBeSpec) int { return v.DiskSize }).(pulumi.IntOutput) +} + +// Specification name. +func (o InstanceBeSpecOutput) SpecName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceBeSpec) string { return v.SpecName }).(pulumi.StringOutput) +} + +type InstanceBeSpecPtrOutput struct{ *pulumi.OutputState } + +func (InstanceBeSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceBeSpec)(nil)).Elem() +} + +func (o InstanceBeSpecPtrOutput) ToInstanceBeSpecPtrOutput() InstanceBeSpecPtrOutput { + return o +} + +func (o InstanceBeSpecPtrOutput) ToInstanceBeSpecPtrOutputWithContext(ctx context.Context) InstanceBeSpecPtrOutput { + return o +} + +func (o InstanceBeSpecPtrOutput) Elem() InstanceBeSpecOutput { + return o.ApplyT(func(v *InstanceBeSpec) InstanceBeSpec { + if v != nil { + return *v + } + var ret InstanceBeSpec + return ret + }).(InstanceBeSpecOutput) +} + +// Quantities. +func (o InstanceBeSpecPtrOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceBeSpec) *int { + if v == nil { + return nil + } + return &v.Count + }).(pulumi.IntPtrOutput) +} + +// Cloud disk size. +func (o InstanceBeSpecPtrOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceBeSpec) *int { + if v == nil { + return nil + } + return &v.DiskSize + }).(pulumi.IntPtrOutput) +} + +// Specification name. +func (o InstanceBeSpecPtrOutput) SpecName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceBeSpec) *string { + if v == nil { + return nil + } + return &v.SpecName + }).(pulumi.StringPtrOutput) +} + +type InstanceChargeProperties struct { + // Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + ChargeType *string `pulumi:"chargeType"` + // Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + RenewFlag *int `pulumi:"renewFlag"` + // Billing duration Note: This field may return null, indicating that no valid values can be obtained. + TimeSpan *int `pulumi:"timeSpan"` + // Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + TimeUnit *string `pulumi:"timeUnit"` +} + +// InstanceChargePropertiesInput is an input type that accepts InstanceChargePropertiesArgs and InstanceChargePropertiesOutput values. +// You can construct a concrete instance of `InstanceChargePropertiesInput` via: +// +// InstanceChargePropertiesArgs{...} +type InstanceChargePropertiesInput interface { + pulumi.Input + + ToInstanceChargePropertiesOutput() InstanceChargePropertiesOutput + ToInstanceChargePropertiesOutputWithContext(context.Context) InstanceChargePropertiesOutput +} + +type InstanceChargePropertiesArgs struct { + // Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + ChargeType pulumi.StringPtrInput `pulumi:"chargeType"` + // Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + RenewFlag pulumi.IntPtrInput `pulumi:"renewFlag"` + // Billing duration Note: This field may return null, indicating that no valid values can be obtained. + TimeSpan pulumi.IntPtrInput `pulumi:"timeSpan"` + // Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + TimeUnit pulumi.StringPtrInput `pulumi:"timeUnit"` +} + +func (InstanceChargePropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceChargeProperties)(nil)).Elem() +} + +func (i InstanceChargePropertiesArgs) ToInstanceChargePropertiesOutput() InstanceChargePropertiesOutput { + return i.ToInstanceChargePropertiesOutputWithContext(context.Background()) +} + +func (i InstanceChargePropertiesArgs) ToInstanceChargePropertiesOutputWithContext(ctx context.Context) InstanceChargePropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceChargePropertiesOutput) +} + +func (i InstanceChargePropertiesArgs) ToInstanceChargePropertiesPtrOutput() InstanceChargePropertiesPtrOutput { + return i.ToInstanceChargePropertiesPtrOutputWithContext(context.Background()) +} + +func (i InstanceChargePropertiesArgs) ToInstanceChargePropertiesPtrOutputWithContext(ctx context.Context) InstanceChargePropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceChargePropertiesOutput).ToInstanceChargePropertiesPtrOutputWithContext(ctx) +} + +// InstanceChargePropertiesPtrInput is an input type that accepts InstanceChargePropertiesArgs, InstanceChargePropertiesPtr and InstanceChargePropertiesPtrOutput values. +// You can construct a concrete instance of `InstanceChargePropertiesPtrInput` via: +// +// InstanceChargePropertiesArgs{...} +// +// or: +// +// nil +type InstanceChargePropertiesPtrInput interface { + pulumi.Input + + ToInstanceChargePropertiesPtrOutput() InstanceChargePropertiesPtrOutput + ToInstanceChargePropertiesPtrOutputWithContext(context.Context) InstanceChargePropertiesPtrOutput +} + +type instanceChargePropertiesPtrType InstanceChargePropertiesArgs + +func InstanceChargePropertiesPtr(v *InstanceChargePropertiesArgs) InstanceChargePropertiesPtrInput { + return (*instanceChargePropertiesPtrType)(v) +} + +func (*instanceChargePropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceChargeProperties)(nil)).Elem() +} + +func (i *instanceChargePropertiesPtrType) ToInstanceChargePropertiesPtrOutput() InstanceChargePropertiesPtrOutput { + return i.ToInstanceChargePropertiesPtrOutputWithContext(context.Background()) +} + +func (i *instanceChargePropertiesPtrType) ToInstanceChargePropertiesPtrOutputWithContext(ctx context.Context) InstanceChargePropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceChargePropertiesPtrOutput) +} + +type InstanceChargePropertiesOutput struct{ *pulumi.OutputState } + +func (InstanceChargePropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceChargeProperties)(nil)).Elem() +} + +func (o InstanceChargePropertiesOutput) ToInstanceChargePropertiesOutput() InstanceChargePropertiesOutput { + return o +} + +func (o InstanceChargePropertiesOutput) ToInstanceChargePropertiesOutputWithContext(ctx context.Context) InstanceChargePropertiesOutput { + return o +} + +func (o InstanceChargePropertiesOutput) ToInstanceChargePropertiesPtrOutput() InstanceChargePropertiesPtrOutput { + return o.ToInstanceChargePropertiesPtrOutputWithContext(context.Background()) +} + +func (o InstanceChargePropertiesOutput) ToInstanceChargePropertiesPtrOutputWithContext(ctx context.Context) InstanceChargePropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceChargeProperties) *InstanceChargeProperties { + return &v + }).(InstanceChargePropertiesPtrOutput) +} + +// Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesOutput) ChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceChargeProperties) *string { return v.ChargeType }).(pulumi.StringPtrOutput) +} + +// Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesOutput) RenewFlag() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceChargeProperties) *int { return v.RenewFlag }).(pulumi.IntPtrOutput) +} + +// Billing duration Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesOutput) TimeSpan() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceChargeProperties) *int { return v.TimeSpan }).(pulumi.IntPtrOutput) +} + +// Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesOutput) TimeUnit() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceChargeProperties) *string { return v.TimeUnit }).(pulumi.StringPtrOutput) +} + +type InstanceChargePropertiesPtrOutput struct{ *pulumi.OutputState } + +func (InstanceChargePropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceChargeProperties)(nil)).Elem() +} + +func (o InstanceChargePropertiesPtrOutput) ToInstanceChargePropertiesPtrOutput() InstanceChargePropertiesPtrOutput { + return o +} + +func (o InstanceChargePropertiesPtrOutput) ToInstanceChargePropertiesPtrOutputWithContext(ctx context.Context) InstanceChargePropertiesPtrOutput { + return o +} + +func (o InstanceChargePropertiesPtrOutput) Elem() InstanceChargePropertiesOutput { + return o.ApplyT(func(v *InstanceChargeProperties) InstanceChargeProperties { + if v != nil { + return *v + } + var ret InstanceChargeProperties + return ret + }).(InstanceChargePropertiesOutput) +} + +// Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesPtrOutput) ChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceChargeProperties) *string { + if v == nil { + return nil + } + return v.ChargeType + }).(pulumi.StringPtrOutput) +} + +// Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesPtrOutput) RenewFlag() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceChargeProperties) *int { + if v == nil { + return nil + } + return v.RenewFlag + }).(pulumi.IntPtrOutput) +} + +// Billing duration Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesPtrOutput) TimeSpan() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceChargeProperties) *int { + if v == nil { + return nil + } + return v.TimeSpan + }).(pulumi.IntPtrOutput) +} + +// Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceChargePropertiesPtrOutput) TimeUnit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceChargeProperties) *string { + if v == nil { + return nil + } + return v.TimeUnit + }).(pulumi.StringPtrOutput) +} + +type InstanceFeSpec struct { + // Quantities. + Count int `pulumi:"count"` + // Cloud disk size. + DiskSize int `pulumi:"diskSize"` + // Specification name. + SpecName string `pulumi:"specName"` +} + +// InstanceFeSpecInput is an input type that accepts InstanceFeSpecArgs and InstanceFeSpecOutput values. +// You can construct a concrete instance of `InstanceFeSpecInput` via: +// +// InstanceFeSpecArgs{...} +type InstanceFeSpecInput interface { + pulumi.Input + + ToInstanceFeSpecOutput() InstanceFeSpecOutput + ToInstanceFeSpecOutputWithContext(context.Context) InstanceFeSpecOutput +} + +type InstanceFeSpecArgs struct { + // Quantities. + Count pulumi.IntInput `pulumi:"count"` + // Cloud disk size. + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Specification name. + SpecName pulumi.StringInput `pulumi:"specName"` +} + +func (InstanceFeSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceFeSpec)(nil)).Elem() +} + +func (i InstanceFeSpecArgs) ToInstanceFeSpecOutput() InstanceFeSpecOutput { + return i.ToInstanceFeSpecOutputWithContext(context.Background()) +} + +func (i InstanceFeSpecArgs) ToInstanceFeSpecOutputWithContext(ctx context.Context) InstanceFeSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceFeSpecOutput) +} + +func (i InstanceFeSpecArgs) ToInstanceFeSpecPtrOutput() InstanceFeSpecPtrOutput { + return i.ToInstanceFeSpecPtrOutputWithContext(context.Background()) +} + +func (i InstanceFeSpecArgs) ToInstanceFeSpecPtrOutputWithContext(ctx context.Context) InstanceFeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceFeSpecOutput).ToInstanceFeSpecPtrOutputWithContext(ctx) +} + +// InstanceFeSpecPtrInput is an input type that accepts InstanceFeSpecArgs, InstanceFeSpecPtr and InstanceFeSpecPtrOutput values. +// You can construct a concrete instance of `InstanceFeSpecPtrInput` via: +// +// InstanceFeSpecArgs{...} +// +// or: +// +// nil +type InstanceFeSpecPtrInput interface { + pulumi.Input + + ToInstanceFeSpecPtrOutput() InstanceFeSpecPtrOutput + ToInstanceFeSpecPtrOutputWithContext(context.Context) InstanceFeSpecPtrOutput +} + +type instanceFeSpecPtrType InstanceFeSpecArgs + +func InstanceFeSpecPtr(v *InstanceFeSpecArgs) InstanceFeSpecPtrInput { + return (*instanceFeSpecPtrType)(v) +} + +func (*instanceFeSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceFeSpec)(nil)).Elem() +} + +func (i *instanceFeSpecPtrType) ToInstanceFeSpecPtrOutput() InstanceFeSpecPtrOutput { + return i.ToInstanceFeSpecPtrOutputWithContext(context.Background()) +} + +func (i *instanceFeSpecPtrType) ToInstanceFeSpecPtrOutputWithContext(ctx context.Context) InstanceFeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceFeSpecPtrOutput) +} + +type InstanceFeSpecOutput struct{ *pulumi.OutputState } + +func (InstanceFeSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceFeSpec)(nil)).Elem() +} + +func (o InstanceFeSpecOutput) ToInstanceFeSpecOutput() InstanceFeSpecOutput { + return o +} + +func (o InstanceFeSpecOutput) ToInstanceFeSpecOutputWithContext(ctx context.Context) InstanceFeSpecOutput { + return o +} + +func (o InstanceFeSpecOutput) ToInstanceFeSpecPtrOutput() InstanceFeSpecPtrOutput { + return o.ToInstanceFeSpecPtrOutputWithContext(context.Background()) +} + +func (o InstanceFeSpecOutput) ToInstanceFeSpecPtrOutputWithContext(ctx context.Context) InstanceFeSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceFeSpec) *InstanceFeSpec { + return &v + }).(InstanceFeSpecPtrOutput) +} + +// Quantities. +func (o InstanceFeSpecOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v InstanceFeSpec) int { return v.Count }).(pulumi.IntOutput) +} + +// Cloud disk size. +func (o InstanceFeSpecOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v InstanceFeSpec) int { return v.DiskSize }).(pulumi.IntOutput) +} + +// Specification name. +func (o InstanceFeSpecOutput) SpecName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceFeSpec) string { return v.SpecName }).(pulumi.StringOutput) +} + +type InstanceFeSpecPtrOutput struct{ *pulumi.OutputState } + +func (InstanceFeSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceFeSpec)(nil)).Elem() +} + +func (o InstanceFeSpecPtrOutput) ToInstanceFeSpecPtrOutput() InstanceFeSpecPtrOutput { + return o +} + +func (o InstanceFeSpecPtrOutput) ToInstanceFeSpecPtrOutputWithContext(ctx context.Context) InstanceFeSpecPtrOutput { + return o +} + +func (o InstanceFeSpecPtrOutput) Elem() InstanceFeSpecOutput { + return o.ApplyT(func(v *InstanceFeSpec) InstanceFeSpec { + if v != nil { + return *v + } + var ret InstanceFeSpec + return ret + }).(InstanceFeSpecOutput) +} + +// Quantities. +func (o InstanceFeSpecPtrOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceFeSpec) *int { + if v == nil { + return nil + } + return &v.Count + }).(pulumi.IntPtrOutput) +} + +// Cloud disk size. +func (o InstanceFeSpecPtrOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceFeSpec) *int { + if v == nil { + return nil + } + return &v.DiskSize + }).(pulumi.IntPtrOutput) +} + +// Specification name. +func (o InstanceFeSpecPtrOutput) SpecName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceFeSpec) *string { + if v == nil { + return nil + } + return &v.SpecName + }).(pulumi.StringPtrOutput) +} + +type InstanceTag struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// InstanceTagInput is an input type that accepts InstanceTagArgs and InstanceTagOutput values. +// You can construct a concrete instance of `InstanceTagInput` via: +// +// InstanceTagArgs{...} +type InstanceTagInput interface { + pulumi.Input + + ToInstanceTagOutput() InstanceTagOutput + ToInstanceTagOutputWithContext(context.Context) InstanceTagOutput +} + +type InstanceTagArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (InstanceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceTag)(nil)).Elem() +} + +func (i InstanceTagArgs) ToInstanceTagOutput() InstanceTagOutput { + return i.ToInstanceTagOutputWithContext(context.Background()) +} + +func (i InstanceTagArgs) ToInstanceTagOutputWithContext(ctx context.Context) InstanceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTagOutput) +} + +// InstanceTagArrayInput is an input type that accepts InstanceTagArray and InstanceTagArrayOutput values. +// You can construct a concrete instance of `InstanceTagArrayInput` via: +// +// InstanceTagArray{ InstanceTagArgs{...} } +type InstanceTagArrayInput interface { + pulumi.Input + + ToInstanceTagArrayOutput() InstanceTagArrayOutput + ToInstanceTagArrayOutputWithContext(context.Context) InstanceTagArrayOutput +} + +type InstanceTagArray []InstanceTagInput + +func (InstanceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceTag)(nil)).Elem() +} + +func (i InstanceTagArray) ToInstanceTagArrayOutput() InstanceTagArrayOutput { + return i.ToInstanceTagArrayOutputWithContext(context.Background()) +} + +func (i InstanceTagArray) ToInstanceTagArrayOutputWithContext(ctx context.Context) InstanceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTagArrayOutput) +} + +type InstanceTagOutput struct{ *pulumi.OutputState } + +func (InstanceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceTag)(nil)).Elem() +} + +func (o InstanceTagOutput) ToInstanceTagOutput() InstanceTagOutput { + return o +} + +func (o InstanceTagOutput) ToInstanceTagOutputWithContext(ctx context.Context) InstanceTagOutput { + return o +} + +// Tag key. +func (o InstanceTagOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v InstanceTag) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o InstanceTagOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v InstanceTag) string { return v.TagValue }).(pulumi.StringOutput) +} + +type InstanceTagArrayOutput struct{ *pulumi.OutputState } + +func (InstanceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceTag)(nil)).Elem() +} + +func (o InstanceTagArrayOutput) ToInstanceTagArrayOutput() InstanceTagArrayOutput { + return o +} + +func (o InstanceTagArrayOutput) ToInstanceTagArrayOutputWithContext(ctx context.Context) InstanceTagArrayOutput { + return o +} + +func (o InstanceTagArrayOutput) Index(i pulumi.IntInput) InstanceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceTag { + return vs[0].([]InstanceTag)[vs[1].(int)] + }).(InstanceTagOutput) +} + +type InstanceUserMultiZoneInfos struct { + // Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + SubnetId *string `pulumi:"subnetId"` + // The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + SubnetIpNum *int `pulumi:"subnetIpNum"` + // Availability zone Note: This field may return null, indicating that no valid values can be obtained. + Zone *string `pulumi:"zone"` +} + +// InstanceUserMultiZoneInfosInput is an input type that accepts InstanceUserMultiZoneInfosArgs and InstanceUserMultiZoneInfosOutput values. +// You can construct a concrete instance of `InstanceUserMultiZoneInfosInput` via: +// +// InstanceUserMultiZoneInfosArgs{...} +type InstanceUserMultiZoneInfosInput interface { + pulumi.Input + + ToInstanceUserMultiZoneInfosOutput() InstanceUserMultiZoneInfosOutput + ToInstanceUserMultiZoneInfosOutputWithContext(context.Context) InstanceUserMultiZoneInfosOutput +} + +type InstanceUserMultiZoneInfosArgs struct { + // Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` + // The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + SubnetIpNum pulumi.IntPtrInput `pulumi:"subnetIpNum"` + // Availability zone Note: This field may return null, indicating that no valid values can be obtained. + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (InstanceUserMultiZoneInfosArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceUserMultiZoneInfos)(nil)).Elem() +} + +func (i InstanceUserMultiZoneInfosArgs) ToInstanceUserMultiZoneInfosOutput() InstanceUserMultiZoneInfosOutput { + return i.ToInstanceUserMultiZoneInfosOutputWithContext(context.Background()) +} + +func (i InstanceUserMultiZoneInfosArgs) ToInstanceUserMultiZoneInfosOutputWithContext(ctx context.Context) InstanceUserMultiZoneInfosOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceUserMultiZoneInfosOutput) +} + +func (i InstanceUserMultiZoneInfosArgs) ToInstanceUserMultiZoneInfosPtrOutput() InstanceUserMultiZoneInfosPtrOutput { + return i.ToInstanceUserMultiZoneInfosPtrOutputWithContext(context.Background()) +} + +func (i InstanceUserMultiZoneInfosArgs) ToInstanceUserMultiZoneInfosPtrOutputWithContext(ctx context.Context) InstanceUserMultiZoneInfosPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceUserMultiZoneInfosOutput).ToInstanceUserMultiZoneInfosPtrOutputWithContext(ctx) +} + +// InstanceUserMultiZoneInfosPtrInput is an input type that accepts InstanceUserMultiZoneInfosArgs, InstanceUserMultiZoneInfosPtr and InstanceUserMultiZoneInfosPtrOutput values. +// You can construct a concrete instance of `InstanceUserMultiZoneInfosPtrInput` via: +// +// InstanceUserMultiZoneInfosArgs{...} +// +// or: +// +// nil +type InstanceUserMultiZoneInfosPtrInput interface { + pulumi.Input + + ToInstanceUserMultiZoneInfosPtrOutput() InstanceUserMultiZoneInfosPtrOutput + ToInstanceUserMultiZoneInfosPtrOutputWithContext(context.Context) InstanceUserMultiZoneInfosPtrOutput +} + +type instanceUserMultiZoneInfosPtrType InstanceUserMultiZoneInfosArgs + +func InstanceUserMultiZoneInfosPtr(v *InstanceUserMultiZoneInfosArgs) InstanceUserMultiZoneInfosPtrInput { + return (*instanceUserMultiZoneInfosPtrType)(v) +} + +func (*instanceUserMultiZoneInfosPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceUserMultiZoneInfos)(nil)).Elem() +} + +func (i *instanceUserMultiZoneInfosPtrType) ToInstanceUserMultiZoneInfosPtrOutput() InstanceUserMultiZoneInfosPtrOutput { + return i.ToInstanceUserMultiZoneInfosPtrOutputWithContext(context.Background()) +} + +func (i *instanceUserMultiZoneInfosPtrType) ToInstanceUserMultiZoneInfosPtrOutputWithContext(ctx context.Context) InstanceUserMultiZoneInfosPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceUserMultiZoneInfosPtrOutput) +} + +type InstanceUserMultiZoneInfosOutput struct{ *pulumi.OutputState } + +func (InstanceUserMultiZoneInfosOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceUserMultiZoneInfos)(nil)).Elem() +} + +func (o InstanceUserMultiZoneInfosOutput) ToInstanceUserMultiZoneInfosOutput() InstanceUserMultiZoneInfosOutput { + return o +} + +func (o InstanceUserMultiZoneInfosOutput) ToInstanceUserMultiZoneInfosOutputWithContext(ctx context.Context) InstanceUserMultiZoneInfosOutput { + return o +} + +func (o InstanceUserMultiZoneInfosOutput) ToInstanceUserMultiZoneInfosPtrOutput() InstanceUserMultiZoneInfosPtrOutput { + return o.ToInstanceUserMultiZoneInfosPtrOutputWithContext(context.Background()) +} + +func (o InstanceUserMultiZoneInfosOutput) ToInstanceUserMultiZoneInfosPtrOutputWithContext(ctx context.Context) InstanceUserMultiZoneInfosPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceUserMultiZoneInfos) *InstanceUserMultiZoneInfos { + return &v + }).(InstanceUserMultiZoneInfosPtrOutput) +} + +// Subnet ID Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceUserMultiZoneInfosOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceUserMultiZoneInfos) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +} + +// The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceUserMultiZoneInfosOutput) SubnetIpNum() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceUserMultiZoneInfos) *int { return v.SubnetIpNum }).(pulumi.IntPtrOutput) +} + +// Availability zone Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceUserMultiZoneInfosOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceUserMultiZoneInfos) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +type InstanceUserMultiZoneInfosPtrOutput struct{ *pulumi.OutputState } + +func (InstanceUserMultiZoneInfosPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceUserMultiZoneInfos)(nil)).Elem() +} + +func (o InstanceUserMultiZoneInfosPtrOutput) ToInstanceUserMultiZoneInfosPtrOutput() InstanceUserMultiZoneInfosPtrOutput { + return o +} + +func (o InstanceUserMultiZoneInfosPtrOutput) ToInstanceUserMultiZoneInfosPtrOutputWithContext(ctx context.Context) InstanceUserMultiZoneInfosPtrOutput { + return o +} + +func (o InstanceUserMultiZoneInfosPtrOutput) Elem() InstanceUserMultiZoneInfosOutput { + return o.ApplyT(func(v *InstanceUserMultiZoneInfos) InstanceUserMultiZoneInfos { + if v != nil { + return *v + } + var ret InstanceUserMultiZoneInfos + return ret + }).(InstanceUserMultiZoneInfosOutput) +} + +// Subnet ID Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceUserMultiZoneInfosPtrOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceUserMultiZoneInfos) *string { + if v == nil { + return nil + } + return v.SubnetId + }).(pulumi.StringPtrOutput) +} + +// The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceUserMultiZoneInfosPtrOutput) SubnetIpNum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceUserMultiZoneInfos) *int { + if v == nil { + return nil + } + return v.SubnetIpNum + }).(pulumi.IntPtrOutput) +} + +// Availability zone Note: This field may return null, indicating that no valid values can be obtained. +func (o InstanceUserMultiZoneInfosPtrOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceUserMultiZoneInfos) *string { + if v == nil { + return nil + } + return v.Zone + }).(pulumi.StringPtrOutput) +} + +type WorkloadGroupWorkloadGroup struct { + // Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + CpuHardLimit *string `pulumi:"cpuHardLimit"` + // CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + CpuShare *int `pulumi:"cpuShare"` + // Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + EnableMemoryOverCommit *bool `pulumi:"enableMemoryOverCommit"` + // Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + MemoryLimit *int `pulumi:"memoryLimit"` + // Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + WorkloadGroupName *string `pulumi:"workloadGroupName"` +} + +// WorkloadGroupWorkloadGroupInput is an input type that accepts WorkloadGroupWorkloadGroupArgs and WorkloadGroupWorkloadGroupOutput values. +// You can construct a concrete instance of `WorkloadGroupWorkloadGroupInput` via: +// +// WorkloadGroupWorkloadGroupArgs{...} +type WorkloadGroupWorkloadGroupInput interface { + pulumi.Input + + ToWorkloadGroupWorkloadGroupOutput() WorkloadGroupWorkloadGroupOutput + ToWorkloadGroupWorkloadGroupOutputWithContext(context.Context) WorkloadGroupWorkloadGroupOutput +} + +type WorkloadGroupWorkloadGroupArgs struct { + // Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + CpuHardLimit pulumi.StringPtrInput `pulumi:"cpuHardLimit"` + // CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + CpuShare pulumi.IntPtrInput `pulumi:"cpuShare"` + // Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + EnableMemoryOverCommit pulumi.BoolPtrInput `pulumi:"enableMemoryOverCommit"` + // Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + MemoryLimit pulumi.IntPtrInput `pulumi:"memoryLimit"` + // Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + WorkloadGroupName pulumi.StringPtrInput `pulumi:"workloadGroupName"` +} + +func (WorkloadGroupWorkloadGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkloadGroupWorkloadGroup)(nil)).Elem() +} + +func (i WorkloadGroupWorkloadGroupArgs) ToWorkloadGroupWorkloadGroupOutput() WorkloadGroupWorkloadGroupOutput { + return i.ToWorkloadGroupWorkloadGroupOutputWithContext(context.Background()) +} + +func (i WorkloadGroupWorkloadGroupArgs) ToWorkloadGroupWorkloadGroupOutputWithContext(ctx context.Context) WorkloadGroupWorkloadGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkloadGroupWorkloadGroupOutput) +} + +func (i WorkloadGroupWorkloadGroupArgs) ToWorkloadGroupWorkloadGroupPtrOutput() WorkloadGroupWorkloadGroupPtrOutput { + return i.ToWorkloadGroupWorkloadGroupPtrOutputWithContext(context.Background()) +} + +func (i WorkloadGroupWorkloadGroupArgs) ToWorkloadGroupWorkloadGroupPtrOutputWithContext(ctx context.Context) WorkloadGroupWorkloadGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkloadGroupWorkloadGroupOutput).ToWorkloadGroupWorkloadGroupPtrOutputWithContext(ctx) +} + +// WorkloadGroupWorkloadGroupPtrInput is an input type that accepts WorkloadGroupWorkloadGroupArgs, WorkloadGroupWorkloadGroupPtr and WorkloadGroupWorkloadGroupPtrOutput values. +// You can construct a concrete instance of `WorkloadGroupWorkloadGroupPtrInput` via: +// +// WorkloadGroupWorkloadGroupArgs{...} +// +// or: +// +// nil +type WorkloadGroupWorkloadGroupPtrInput interface { + pulumi.Input + + ToWorkloadGroupWorkloadGroupPtrOutput() WorkloadGroupWorkloadGroupPtrOutput + ToWorkloadGroupWorkloadGroupPtrOutputWithContext(context.Context) WorkloadGroupWorkloadGroupPtrOutput +} + +type workloadGroupWorkloadGroupPtrType WorkloadGroupWorkloadGroupArgs + +func WorkloadGroupWorkloadGroupPtr(v *WorkloadGroupWorkloadGroupArgs) WorkloadGroupWorkloadGroupPtrInput { + return (*workloadGroupWorkloadGroupPtrType)(v) +} + +func (*workloadGroupWorkloadGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkloadGroupWorkloadGroup)(nil)).Elem() +} + +func (i *workloadGroupWorkloadGroupPtrType) ToWorkloadGroupWorkloadGroupPtrOutput() WorkloadGroupWorkloadGroupPtrOutput { + return i.ToWorkloadGroupWorkloadGroupPtrOutputWithContext(context.Background()) +} + +func (i *workloadGroupWorkloadGroupPtrType) ToWorkloadGroupWorkloadGroupPtrOutputWithContext(ctx context.Context) WorkloadGroupWorkloadGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkloadGroupWorkloadGroupPtrOutput) +} + +type WorkloadGroupWorkloadGroupOutput struct{ *pulumi.OutputState } + +func (WorkloadGroupWorkloadGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkloadGroupWorkloadGroup)(nil)).Elem() +} + +func (o WorkloadGroupWorkloadGroupOutput) ToWorkloadGroupWorkloadGroupOutput() WorkloadGroupWorkloadGroupOutput { + return o +} + +func (o WorkloadGroupWorkloadGroupOutput) ToWorkloadGroupWorkloadGroupOutputWithContext(ctx context.Context) WorkloadGroupWorkloadGroupOutput { + return o +} + +func (o WorkloadGroupWorkloadGroupOutput) ToWorkloadGroupWorkloadGroupPtrOutput() WorkloadGroupWorkloadGroupPtrOutput { + return o.ToWorkloadGroupWorkloadGroupPtrOutputWithContext(context.Background()) +} + +func (o WorkloadGroupWorkloadGroupOutput) ToWorkloadGroupWorkloadGroupPtrOutputWithContext(ctx context.Context) WorkloadGroupWorkloadGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkloadGroupWorkloadGroup) *WorkloadGroupWorkloadGroup { + return &v + }).(WorkloadGroupWorkloadGroupPtrOutput) +} + +// Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupOutput) CpuHardLimit() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkloadGroupWorkloadGroup) *string { return v.CpuHardLimit }).(pulumi.StringPtrOutput) +} + +// CPU weight. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupOutput) CpuShare() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkloadGroupWorkloadGroup) *int { return v.CpuShare }).(pulumi.IntPtrOutput) +} + +// Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupOutput) EnableMemoryOverCommit() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkloadGroupWorkloadGroup) *bool { return v.EnableMemoryOverCommit }).(pulumi.BoolPtrOutput) +} + +// Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupOutput) MemoryLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkloadGroupWorkloadGroup) *int { return v.MemoryLimit }).(pulumi.IntPtrOutput) +} + +// Workload group name. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupOutput) WorkloadGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkloadGroupWorkloadGroup) *string { return v.WorkloadGroupName }).(pulumi.StringPtrOutput) +} + +type WorkloadGroupWorkloadGroupPtrOutput struct{ *pulumi.OutputState } + +func (WorkloadGroupWorkloadGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkloadGroupWorkloadGroup)(nil)).Elem() +} + +func (o WorkloadGroupWorkloadGroupPtrOutput) ToWorkloadGroupWorkloadGroupPtrOutput() WorkloadGroupWorkloadGroupPtrOutput { + return o +} + +func (o WorkloadGroupWorkloadGroupPtrOutput) ToWorkloadGroupWorkloadGroupPtrOutputWithContext(ctx context.Context) WorkloadGroupWorkloadGroupPtrOutput { + return o +} + +func (o WorkloadGroupWorkloadGroupPtrOutput) Elem() WorkloadGroupWorkloadGroupOutput { + return o.ApplyT(func(v *WorkloadGroupWorkloadGroup) WorkloadGroupWorkloadGroup { + if v != nil { + return *v + } + var ret WorkloadGroupWorkloadGroup + return ret + }).(WorkloadGroupWorkloadGroupOutput) +} + +// Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupPtrOutput) CpuHardLimit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkloadGroupWorkloadGroup) *string { + if v == nil { + return nil + } + return v.CpuHardLimit + }).(pulumi.StringPtrOutput) +} + +// CPU weight. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupPtrOutput) CpuShare() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkloadGroupWorkloadGroup) *int { + if v == nil { + return nil + } + return v.CpuShare + }).(pulumi.IntPtrOutput) +} + +// Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupPtrOutput) EnableMemoryOverCommit() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WorkloadGroupWorkloadGroup) *bool { + if v == nil { + return nil + } + return v.EnableMemoryOverCommit + }).(pulumi.BoolPtrOutput) +} + +// Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupPtrOutput) MemoryLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkloadGroupWorkloadGroup) *int { + if v == nil { + return nil + } + return v.MemoryLimit + }).(pulumi.IntPtrOutput) +} + +// Workload group name. Note: This field may return null, indicating that no valid value can be obtained. +func (o WorkloadGroupWorkloadGroupPtrOutput) WorkloadGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkloadGroupWorkloadGroup) *string { + if v == nil { + return nil + } + return v.WorkloadGroupName + }).(pulumi.StringPtrOutput) +} + +type GetInstancesInstancesList struct { + // Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained. + AccessInfo string `pulumi:"accessInfo"` + // Bound security group information. Note: This field may return null, indicating that no valid values can be obtained. + BindSGs []string `pulumi:"bindSGs"` + // Minor versions. Note: This field may return null, indicating that no valid values can be obtained. + BuildVersion string `pulumi:"buildVersion"` + // cbs. Note: This field may return null, indicating that no valid values can be obtained. + CanAttachCbs bool `pulumi:"canAttachCbs"` + // Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained. + CaseSensitive int `pulumi:"caseSensitive"` + // Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained. + Characteristics []string `pulumi:"characteristics"` + // Logset ID. Note: This field may return null, indicating that no valid values can be obtained. + ClsLogSetId string `pulumi:"clsLogSetId"` + // Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained. + ClsTopicId string `pulumi:"clsTopicId"` + // Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained. + Components string `pulumi:"components"` + // COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained. + CoolDownBucket string `pulumi:"coolDownBucket"` + // Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained. + CoreSummary GetInstancesInstancesListCoreSummary `pulumi:"coreSummary"` + // COS bucket. Note: This field may return null, indicating that no valid values can be obtained. + CosBucketName string `pulumi:"cosBucketName"` + // Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained. + CosMoveFactor int `pulumi:"cosMoveFactor"` + // Creation time. Note: This field may return null, indicating that no valid values can be obtained. + CreateTime string `pulumi:"createTime"` + // Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained. + Eip string `pulumi:"eip"` + // Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained. + EnableCoolDown int `pulumi:"enableCoolDown"` + // Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained. + EnableMultiZones bool `pulumi:"enableMultiZones"` + // Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained. + EnableXmlConfig int `pulumi:"enableXmlConfig"` + // Expiration time. Note: This field may return null, indicating that no valid values can be obtained. + ExpireTime string `pulumi:"expireTime"` + // Error process description information. Note: This field may return null, indicating that no valid values can be obtained. + FlowMsg string `pulumi:"flowMsg"` + // The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained. + GraceShutdownWaitSeconds string `pulumi:"graceShutdownWaitSeconds"` + // High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained. + Ha string `pulumi:"ha"` + // High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained. + HaType int `pulumi:"haType"` + // Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained. + HasClsTopic bool `pulumi:"hasClsTopic"` + // Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained. + Id int `pulumi:"id"` + // Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained. + InstanceId string `pulumi:"instanceId"` + // Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained. + InstanceName string `pulumi:"instanceName"` + // Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained. + IsWhiteSGs bool `pulumi:"isWhiteSGs"` + // external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained. + Kind string `pulumi:"kind"` + // Data node description information. Note: This field may return null, indicating that no valid values can be obtained. + MasterSummary GetInstancesInstancesListMasterSummary `pulumi:"masterSummary"` + // Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained. + Monitor string `pulumi:"monitor"` + // Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained. + PayMode string `pulumi:"payMode"` + // Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained. + Region string `pulumi:"region"` + // Region. Note: This field may return null, indicating that no valid values can be obtained. + RegionDesc string `pulumi:"regionDesc"` + // Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained. + RegionId int `pulumi:"regionId"` + // Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained. + RenewFlag bool `pulumi:"renewFlag"` + // Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained. + RestartTimeout string `pulumi:"restartTimeout"` + // Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained. + Status string `pulumi:"status"` + // Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained. + StatusDesc string `pulumi:"statusDesc"` + // Subnet name. Note: This field may return null, indicating that no valid values can be obtained. + SubnetId string `pulumi:"subnetId"` + // Tag list. Note: This field may return null, indicating that no valid values can be obtained. + Tags []GetInstancesInstancesListTag `pulumi:"tags"` + // User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained. + UserNetworkInfos string `pulumi:"userNetworkInfos"` + // Version. Note: This field may return null, indicating that no valid values can be obtained. + Version string `pulumi:"version"` + // VPC name. Note: This field may return null, indicating that no valid values can be obtained. + VpcId string `pulumi:"vpcId"` + // Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained. + Zone string `pulumi:"zone"` + // Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained. + ZoneDesc string `pulumi:"zoneDesc"` +} + +// GetInstancesInstancesListInput is an input type that accepts GetInstancesInstancesListArgs and GetInstancesInstancesListOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListInput` via: +// +// GetInstancesInstancesListArgs{...} +type GetInstancesInstancesListInput interface { + pulumi.Input + + ToGetInstancesInstancesListOutput() GetInstancesInstancesListOutput + ToGetInstancesInstancesListOutputWithContext(context.Context) GetInstancesInstancesListOutput +} + +type GetInstancesInstancesListArgs struct { + // Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained. + AccessInfo pulumi.StringInput `pulumi:"accessInfo"` + // Bound security group information. Note: This field may return null, indicating that no valid values can be obtained. + BindSGs pulumi.StringArrayInput `pulumi:"bindSGs"` + // Minor versions. Note: This field may return null, indicating that no valid values can be obtained. + BuildVersion pulumi.StringInput `pulumi:"buildVersion"` + // cbs. Note: This field may return null, indicating that no valid values can be obtained. + CanAttachCbs pulumi.BoolInput `pulumi:"canAttachCbs"` + // Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained. + CaseSensitive pulumi.IntInput `pulumi:"caseSensitive"` + // Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained. + Characteristics pulumi.StringArrayInput `pulumi:"characteristics"` + // Logset ID. Note: This field may return null, indicating that no valid values can be obtained. + ClsLogSetId pulumi.StringInput `pulumi:"clsLogSetId"` + // Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained. + ClsTopicId pulumi.StringInput `pulumi:"clsTopicId"` + // Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained. + Components pulumi.StringInput `pulumi:"components"` + // COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained. + CoolDownBucket pulumi.StringInput `pulumi:"coolDownBucket"` + // Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained. + CoreSummary GetInstancesInstancesListCoreSummaryInput `pulumi:"coreSummary"` + // COS bucket. Note: This field may return null, indicating that no valid values can be obtained. + CosBucketName pulumi.StringInput `pulumi:"cosBucketName"` + // Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained. + CosMoveFactor pulumi.IntInput `pulumi:"cosMoveFactor"` + // Creation time. Note: This field may return null, indicating that no valid values can be obtained. + CreateTime pulumi.StringInput `pulumi:"createTime"` + // Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained. + Eip pulumi.StringInput `pulumi:"eip"` + // Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained. + EnableCoolDown pulumi.IntInput `pulumi:"enableCoolDown"` + // Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained. + EnableMultiZones pulumi.BoolInput `pulumi:"enableMultiZones"` + // Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained. + EnableXmlConfig pulumi.IntInput `pulumi:"enableXmlConfig"` + // Expiration time. Note: This field may return null, indicating that no valid values can be obtained. + ExpireTime pulumi.StringInput `pulumi:"expireTime"` + // Error process description information. Note: This field may return null, indicating that no valid values can be obtained. + FlowMsg pulumi.StringInput `pulumi:"flowMsg"` + // The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained. + GraceShutdownWaitSeconds pulumi.StringInput `pulumi:"graceShutdownWaitSeconds"` + // High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained. + Ha pulumi.StringInput `pulumi:"ha"` + // High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained. + HaType pulumi.IntInput `pulumi:"haType"` + // Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained. + HasClsTopic pulumi.BoolInput `pulumi:"hasClsTopic"` + // Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained. + Id pulumi.IntInput `pulumi:"id"` + // Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained. + InstanceName pulumi.StringInput `pulumi:"instanceName"` + // Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained. + IsWhiteSGs pulumi.BoolInput `pulumi:"isWhiteSGs"` + // external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained. + Kind pulumi.StringInput `pulumi:"kind"` + // Data node description information. Note: This field may return null, indicating that no valid values can be obtained. + MasterSummary GetInstancesInstancesListMasterSummaryInput `pulumi:"masterSummary"` + // Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained. + Monitor pulumi.StringInput `pulumi:"monitor"` + // Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained. + PayMode pulumi.StringInput `pulumi:"payMode"` + // Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained. + Region pulumi.StringInput `pulumi:"region"` + // Region. Note: This field may return null, indicating that no valid values can be obtained. + RegionDesc pulumi.StringInput `pulumi:"regionDesc"` + // Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained. + RegionId pulumi.IntInput `pulumi:"regionId"` + // Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained. + RenewFlag pulumi.BoolInput `pulumi:"renewFlag"` + // Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained. + RestartTimeout pulumi.StringInput `pulumi:"restartTimeout"` + // Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained. + Status pulumi.StringInput `pulumi:"status"` + // Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained. + StatusDesc pulumi.StringInput `pulumi:"statusDesc"` + // Subnet name. Note: This field may return null, indicating that no valid values can be obtained. + SubnetId pulumi.StringInput `pulumi:"subnetId"` + // Tag list. Note: This field may return null, indicating that no valid values can be obtained. + Tags GetInstancesInstancesListTagArrayInput `pulumi:"tags"` + // User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained. + UserNetworkInfos pulumi.StringInput `pulumi:"userNetworkInfos"` + // Version. Note: This field may return null, indicating that no valid values can be obtained. + Version pulumi.StringInput `pulumi:"version"` + // VPC name. Note: This field may return null, indicating that no valid values can be obtained. + VpcId pulumi.StringInput `pulumi:"vpcId"` + // Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained. + Zone pulumi.StringInput `pulumi:"zone"` + // Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained. + ZoneDesc pulumi.StringInput `pulumi:"zoneDesc"` +} + +func (GetInstancesInstancesListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesList)(nil)).Elem() +} + +func (i GetInstancesInstancesListArgs) ToGetInstancesInstancesListOutput() GetInstancesInstancesListOutput { + return i.ToGetInstancesInstancesListOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListArgs) ToGetInstancesInstancesListOutputWithContext(ctx context.Context) GetInstancesInstancesListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListOutput) +} + +// GetInstancesInstancesListArrayInput is an input type that accepts GetInstancesInstancesListArray and GetInstancesInstancesListArrayOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListArrayInput` via: +// +// GetInstancesInstancesListArray{ GetInstancesInstancesListArgs{...} } +type GetInstancesInstancesListArrayInput interface { + pulumi.Input + + ToGetInstancesInstancesListArrayOutput() GetInstancesInstancesListArrayOutput + ToGetInstancesInstancesListArrayOutputWithContext(context.Context) GetInstancesInstancesListArrayOutput +} + +type GetInstancesInstancesListArray []GetInstancesInstancesListInput + +func (GetInstancesInstancesListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstancesList)(nil)).Elem() +} + +func (i GetInstancesInstancesListArray) ToGetInstancesInstancesListArrayOutput() GetInstancesInstancesListArrayOutput { + return i.ToGetInstancesInstancesListArrayOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListArray) ToGetInstancesInstancesListArrayOutputWithContext(ctx context.Context) GetInstancesInstancesListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListArrayOutput) +} + +type GetInstancesInstancesListOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesList)(nil)).Elem() +} + +func (o GetInstancesInstancesListOutput) ToGetInstancesInstancesListOutput() GetInstancesInstancesListOutput { + return o +} + +func (o GetInstancesInstancesListOutput) ToGetInstancesInstancesListOutputWithContext(ctx context.Context) GetInstancesInstancesListOutput { + return o +} + +// Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) AccessInfo() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.AccessInfo }).(pulumi.StringOutput) +} + +// Bound security group information. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) BindSGs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstancesInstancesList) []string { return v.BindSGs }).(pulumi.StringArrayOutput) +} + +// Minor versions. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) BuildVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.BuildVersion }).(pulumi.StringOutput) +} + +// cbs. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) CanAttachCbs() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstancesInstancesList) bool { return v.CanAttachCbs }).(pulumi.BoolOutput) +} + +// Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) CaseSensitive() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesList) int { return v.CaseSensitive }).(pulumi.IntOutput) +} + +// Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Characteristics() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetInstancesInstancesList) []string { return v.Characteristics }).(pulumi.StringArrayOutput) +} + +// Logset ID. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) ClsLogSetId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.ClsLogSetId }).(pulumi.StringOutput) +} + +// Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) ClsTopicId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.ClsTopicId }).(pulumi.StringOutput) +} + +// Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Components() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Components }).(pulumi.StringOutput) +} + +// COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) CoolDownBucket() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.CoolDownBucket }).(pulumi.StringOutput) +} + +// Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) CoreSummary() GetInstancesInstancesListCoreSummaryOutput { + return o.ApplyT(func(v GetInstancesInstancesList) GetInstancesInstancesListCoreSummary { return v.CoreSummary }).(GetInstancesInstancesListCoreSummaryOutput) +} + +// COS bucket. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) CosBucketName() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.CosBucketName }).(pulumi.StringOutput) +} + +// Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) CosMoveFactor() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesList) int { return v.CosMoveFactor }).(pulumi.IntOutput) +} + +// Creation time. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Eip() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Eip }).(pulumi.StringOutput) +} + +// Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) EnableCoolDown() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesList) int { return v.EnableCoolDown }).(pulumi.IntOutput) +} + +// Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) EnableMultiZones() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstancesInstancesList) bool { return v.EnableMultiZones }).(pulumi.BoolOutput) +} + +// Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) EnableXmlConfig() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesList) int { return v.EnableXmlConfig }).(pulumi.IntOutput) +} + +// Expiration time. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) ExpireTime() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.ExpireTime }).(pulumi.StringOutput) +} + +// Error process description information. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) FlowMsg() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.FlowMsg }).(pulumi.StringOutput) +} + +// The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) GraceShutdownWaitSeconds() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.GraceShutdownWaitSeconds }).(pulumi.StringOutput) +} + +// High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Ha() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Ha }).(pulumi.StringOutput) +} + +// High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) HaType() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesList) int { return v.HaType }).(pulumi.IntOutput) +} + +// Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) HasClsTopic() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstancesInstancesList) bool { return v.HasClsTopic }).(pulumi.BoolOutput) +} + +// Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesList) int { return v.Id }).(pulumi.IntOutput) +} + +// Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.InstanceName }).(pulumi.StringOutput) +} + +// Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) IsWhiteSGs() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstancesInstancesList) bool { return v.IsWhiteSGs }).(pulumi.BoolOutput) +} + +// external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Kind }).(pulumi.StringOutput) +} + +// Data node description information. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) MasterSummary() GetInstancesInstancesListMasterSummaryOutput { + return o.ApplyT(func(v GetInstancesInstancesList) GetInstancesInstancesListMasterSummary { return v.MasterSummary }).(GetInstancesInstancesListMasterSummaryOutput) +} + +// Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Monitor() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Monitor }).(pulumi.StringOutput) +} + +// Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) PayMode() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.PayMode }).(pulumi.StringOutput) +} + +// Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Region }).(pulumi.StringOutput) +} + +// Region. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) RegionDesc() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.RegionDesc }).(pulumi.StringOutput) +} + +// Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) RegionId() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesList) int { return v.RegionId }).(pulumi.IntOutput) +} + +// Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) RenewFlag() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstancesInstancesList) bool { return v.RenewFlag }).(pulumi.BoolOutput) +} + +// Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) RestartTimeout() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.RestartTimeout }).(pulumi.StringOutput) +} + +// Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Status }).(pulumi.StringOutput) +} + +// Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) StatusDesc() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.StatusDesc }).(pulumi.StringOutput) +} + +// Subnet name. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.SubnetId }).(pulumi.StringOutput) +} + +// Tag list. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Tags() GetInstancesInstancesListTagArrayOutput { + return o.ApplyT(func(v GetInstancesInstancesList) []GetInstancesInstancesListTag { return v.Tags }).(GetInstancesInstancesListTagArrayOutput) +} + +// User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) UserNetworkInfos() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.UserNetworkInfos }).(pulumi.StringOutput) +} + +// Version. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Version }).(pulumi.StringOutput) +} + +// VPC name. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.VpcId }).(pulumi.StringOutput) +} + +// Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.Zone }).(pulumi.StringOutput) +} + +// Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListOutput) ZoneDesc() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesList) string { return v.ZoneDesc }).(pulumi.StringOutput) +} + +type GetInstancesInstancesListArrayOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstancesList)(nil)).Elem() +} + +func (o GetInstancesInstancesListArrayOutput) ToGetInstancesInstancesListArrayOutput() GetInstancesInstancesListArrayOutput { + return o +} + +func (o GetInstancesInstancesListArrayOutput) ToGetInstancesInstancesListArrayOutputWithContext(ctx context.Context) GetInstancesInstancesListArrayOutput { + return o +} + +func (o GetInstancesInstancesListArrayOutput) Index(i pulumi.IntInput) GetInstancesInstancesListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstancesInstancesList { + return vs[0].([]GetInstancesInstancesList)[vs[1].(int)] + }).(GetInstancesInstancesListOutput) +} + +type GetInstancesInstancesListCoreSummary struct { + // Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + AttachCbsSpec GetInstancesInstancesListCoreSummaryAttachCbsSpec `pulumi:"attachCbsSpec"` + // Number of CPU cores, in counts. + Core int `pulumi:"core"` + // Disk size, in GB. + Disk int `pulumi:"disk"` + // Disk size. Note: This field may return null, indicating that no valid values can be obtained. + DiskCount int `pulumi:"diskCount"` + // Disk description. + DiskDesc string `pulumi:"diskDesc"` + // Disk type. + DiskType string `pulumi:"diskType"` + // Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + Encrypt int `pulumi:"encrypt"` + // Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + MaxDiskSize int `pulumi:"maxDiskSize"` + // Memory size, in GB. + Memory int `pulumi:"memory"` + // Number of nodes. + NodeSize int `pulumi:"nodeSize"` + // Model, such as S1. + Spec string `pulumi:"spec"` + // Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + SpecCore int `pulumi:"specCore"` + // Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + SpecMemory int `pulumi:"specMemory"` + // Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + SubProductType string `pulumi:"subProductType"` +} + +// GetInstancesInstancesListCoreSummaryInput is an input type that accepts GetInstancesInstancesListCoreSummaryArgs and GetInstancesInstancesListCoreSummaryOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListCoreSummaryInput` via: +// +// GetInstancesInstancesListCoreSummaryArgs{...} +type GetInstancesInstancesListCoreSummaryInput interface { + pulumi.Input + + ToGetInstancesInstancesListCoreSummaryOutput() GetInstancesInstancesListCoreSummaryOutput + ToGetInstancesInstancesListCoreSummaryOutputWithContext(context.Context) GetInstancesInstancesListCoreSummaryOutput +} + +type GetInstancesInstancesListCoreSummaryArgs struct { + // Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + AttachCbsSpec GetInstancesInstancesListCoreSummaryAttachCbsSpecInput `pulumi:"attachCbsSpec"` + // Number of CPU cores, in counts. + Core pulumi.IntInput `pulumi:"core"` + // Disk size, in GB. + Disk pulumi.IntInput `pulumi:"disk"` + // Disk size. Note: This field may return null, indicating that no valid values can be obtained. + DiskCount pulumi.IntInput `pulumi:"diskCount"` + // Disk description. + DiskDesc pulumi.StringInput `pulumi:"diskDesc"` + // Disk type. + DiskType pulumi.StringInput `pulumi:"diskType"` + // Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + Encrypt pulumi.IntInput `pulumi:"encrypt"` + // Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + MaxDiskSize pulumi.IntInput `pulumi:"maxDiskSize"` + // Memory size, in GB. + Memory pulumi.IntInput `pulumi:"memory"` + // Number of nodes. + NodeSize pulumi.IntInput `pulumi:"nodeSize"` + // Model, such as S1. + Spec pulumi.StringInput `pulumi:"spec"` + // Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + SpecCore pulumi.IntInput `pulumi:"specCore"` + // Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + SpecMemory pulumi.IntInput `pulumi:"specMemory"` + // Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + SubProductType pulumi.StringInput `pulumi:"subProductType"` +} + +func (GetInstancesInstancesListCoreSummaryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListCoreSummary)(nil)).Elem() +} + +func (i GetInstancesInstancesListCoreSummaryArgs) ToGetInstancesInstancesListCoreSummaryOutput() GetInstancesInstancesListCoreSummaryOutput { + return i.ToGetInstancesInstancesListCoreSummaryOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListCoreSummaryArgs) ToGetInstancesInstancesListCoreSummaryOutputWithContext(ctx context.Context) GetInstancesInstancesListCoreSummaryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListCoreSummaryOutput) +} + +type GetInstancesInstancesListCoreSummaryOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListCoreSummaryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListCoreSummary)(nil)).Elem() +} + +func (o GetInstancesInstancesListCoreSummaryOutput) ToGetInstancesInstancesListCoreSummaryOutput() GetInstancesInstancesListCoreSummaryOutput { + return o +} + +func (o GetInstancesInstancesListCoreSummaryOutput) ToGetInstancesInstancesListCoreSummaryOutputWithContext(ctx context.Context) GetInstancesInstancesListCoreSummaryOutput { + return o +} + +// Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListCoreSummaryOutput) AttachCbsSpec() GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) GetInstancesInstancesListCoreSummaryAttachCbsSpec { + return v.AttachCbsSpec + }).(GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) +} + +// Number of CPU cores, in counts. +func (o GetInstancesInstancesListCoreSummaryOutput) Core() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.Core }).(pulumi.IntOutput) +} + +// Disk size, in GB. +func (o GetInstancesInstancesListCoreSummaryOutput) Disk() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.Disk }).(pulumi.IntOutput) +} + +// Disk size. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListCoreSummaryOutput) DiskCount() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.DiskCount }).(pulumi.IntOutput) +} + +// Disk description. +func (o GetInstancesInstancesListCoreSummaryOutput) DiskDesc() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) string { return v.DiskDesc }).(pulumi.StringOutput) +} + +// Disk type. +func (o GetInstancesInstancesListCoreSummaryOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) string { return v.DiskType }).(pulumi.StringOutput) +} + +// Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListCoreSummaryOutput) Encrypt() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.Encrypt }).(pulumi.IntOutput) +} + +// Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListCoreSummaryOutput) MaxDiskSize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.MaxDiskSize }).(pulumi.IntOutput) +} + +// Memory size, in GB. +func (o GetInstancesInstancesListCoreSummaryOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.Memory }).(pulumi.IntOutput) +} + +// Number of nodes. +func (o GetInstancesInstancesListCoreSummaryOutput) NodeSize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.NodeSize }).(pulumi.IntOutput) +} + +// Model, such as S1. +func (o GetInstancesInstancesListCoreSummaryOutput) Spec() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) string { return v.Spec }).(pulumi.StringOutput) +} + +// Specified cores. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListCoreSummaryOutput) SpecCore() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.SpecCore }).(pulumi.IntOutput) +} + +// Specified memory. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListCoreSummaryOutput) SpecMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) int { return v.SpecMemory }).(pulumi.IntOutput) +} + +// Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListCoreSummaryOutput) SubProductType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummary) string { return v.SubProductType }).(pulumi.StringOutput) +} + +type GetInstancesInstancesListCoreSummaryAttachCbsSpec struct { + // Total number of disks. + DiskCount *int `pulumi:"diskCount"` + // Description. + DiskDesc *string `pulumi:"diskDesc"` + // Disk capacity, in GB. + DiskSize *int `pulumi:"diskSize"` + // Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + DiskType *string `pulumi:"diskType"` +} + +// GetInstancesInstancesListCoreSummaryAttachCbsSpecInput is an input type that accepts GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs and GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListCoreSummaryAttachCbsSpecInput` via: +// +// GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs{...} +type GetInstancesInstancesListCoreSummaryAttachCbsSpecInput interface { + pulumi.Input + + ToGetInstancesInstancesListCoreSummaryAttachCbsSpecOutput() GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput + ToGetInstancesInstancesListCoreSummaryAttachCbsSpecOutputWithContext(context.Context) GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput +} + +type GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs struct { + // Total number of disks. + DiskCount pulumi.IntPtrInput `pulumi:"diskCount"` + // Description. + DiskDesc pulumi.StringPtrInput `pulumi:"diskDesc"` + // Disk capacity, in GB. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` +} + +func (GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListCoreSummaryAttachCbsSpec)(nil)).Elem() +} + +func (i GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs) ToGetInstancesInstancesListCoreSummaryAttachCbsSpecOutput() GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput { + return i.ToGetInstancesInstancesListCoreSummaryAttachCbsSpecOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs) ToGetInstancesInstancesListCoreSummaryAttachCbsSpecOutputWithContext(ctx context.Context) GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) +} + +type GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListCoreSummaryAttachCbsSpec)(nil)).Elem() +} + +func (o GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) ToGetInstancesInstancesListCoreSummaryAttachCbsSpecOutput() GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput { + return o +} + +func (o GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) ToGetInstancesInstancesListCoreSummaryAttachCbsSpecOutputWithContext(ctx context.Context) GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput { + return o +} + +// Total number of disks. +func (o GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) DiskCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummaryAttachCbsSpec) *int { return v.DiskCount }).(pulumi.IntPtrOutput) +} + +// Description. +func (o GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) DiskDesc() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummaryAttachCbsSpec) *string { return v.DiskDesc }).(pulumi.StringPtrOutput) +} + +// Disk capacity, in GB. +func (o GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummaryAttachCbsSpec) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. +func (o GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListCoreSummaryAttachCbsSpec) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +type GetInstancesInstancesListMasterSummary struct { + // Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + AttachCbsSpec GetInstancesInstancesListMasterSummaryAttachCbsSpec `pulumi:"attachCbsSpec"` + // Number of CPU cores, in counts. + Core int `pulumi:"core"` + // Disk size, in GB. + Disk int `pulumi:"disk"` + // Disk size. Note: This field may return null, indicating that no valid values can be obtained. + DiskCount int `pulumi:"diskCount"` + // Disk description. + DiskDesc string `pulumi:"diskDesc"` + // Disk type. + DiskType string `pulumi:"diskType"` + // Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + Encrypt int `pulumi:"encrypt"` + // Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + MaxDiskSize int `pulumi:"maxDiskSize"` + // Memory size, in GB. + Memory int `pulumi:"memory"` + // Number of nodes. + NodeSize int `pulumi:"nodeSize"` + // Model, such as S1. + Spec string `pulumi:"spec"` + // Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + SpecCore int `pulumi:"specCore"` + // Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + SpecMemory int `pulumi:"specMemory"` + // Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + SubProductType string `pulumi:"subProductType"` +} + +// GetInstancesInstancesListMasterSummaryInput is an input type that accepts GetInstancesInstancesListMasterSummaryArgs and GetInstancesInstancesListMasterSummaryOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListMasterSummaryInput` via: +// +// GetInstancesInstancesListMasterSummaryArgs{...} +type GetInstancesInstancesListMasterSummaryInput interface { + pulumi.Input + + ToGetInstancesInstancesListMasterSummaryOutput() GetInstancesInstancesListMasterSummaryOutput + ToGetInstancesInstancesListMasterSummaryOutputWithContext(context.Context) GetInstancesInstancesListMasterSummaryOutput +} + +type GetInstancesInstancesListMasterSummaryArgs struct { + // Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + AttachCbsSpec GetInstancesInstancesListMasterSummaryAttachCbsSpecInput `pulumi:"attachCbsSpec"` + // Number of CPU cores, in counts. + Core pulumi.IntInput `pulumi:"core"` + // Disk size, in GB. + Disk pulumi.IntInput `pulumi:"disk"` + // Disk size. Note: This field may return null, indicating that no valid values can be obtained. + DiskCount pulumi.IntInput `pulumi:"diskCount"` + // Disk description. + DiskDesc pulumi.StringInput `pulumi:"diskDesc"` + // Disk type. + DiskType pulumi.StringInput `pulumi:"diskType"` + // Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + Encrypt pulumi.IntInput `pulumi:"encrypt"` + // Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + MaxDiskSize pulumi.IntInput `pulumi:"maxDiskSize"` + // Memory size, in GB. + Memory pulumi.IntInput `pulumi:"memory"` + // Number of nodes. + NodeSize pulumi.IntInput `pulumi:"nodeSize"` + // Model, such as S1. + Spec pulumi.StringInput `pulumi:"spec"` + // Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + SpecCore pulumi.IntInput `pulumi:"specCore"` + // Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + SpecMemory pulumi.IntInput `pulumi:"specMemory"` + // Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + SubProductType pulumi.StringInput `pulumi:"subProductType"` +} + +func (GetInstancesInstancesListMasterSummaryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListMasterSummary)(nil)).Elem() +} + +func (i GetInstancesInstancesListMasterSummaryArgs) ToGetInstancesInstancesListMasterSummaryOutput() GetInstancesInstancesListMasterSummaryOutput { + return i.ToGetInstancesInstancesListMasterSummaryOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListMasterSummaryArgs) ToGetInstancesInstancesListMasterSummaryOutputWithContext(ctx context.Context) GetInstancesInstancesListMasterSummaryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListMasterSummaryOutput) +} + +type GetInstancesInstancesListMasterSummaryOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListMasterSummaryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListMasterSummary)(nil)).Elem() +} + +func (o GetInstancesInstancesListMasterSummaryOutput) ToGetInstancesInstancesListMasterSummaryOutput() GetInstancesInstancesListMasterSummaryOutput { + return o +} + +func (o GetInstancesInstancesListMasterSummaryOutput) ToGetInstancesInstancesListMasterSummaryOutputWithContext(ctx context.Context) GetInstancesInstancesListMasterSummaryOutput { + return o +} + +// Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListMasterSummaryOutput) AttachCbsSpec() GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) GetInstancesInstancesListMasterSummaryAttachCbsSpec { + return v.AttachCbsSpec + }).(GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) +} + +// Number of CPU cores, in counts. +func (o GetInstancesInstancesListMasterSummaryOutput) Core() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.Core }).(pulumi.IntOutput) +} + +// Disk size, in GB. +func (o GetInstancesInstancesListMasterSummaryOutput) Disk() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.Disk }).(pulumi.IntOutput) +} + +// Disk size. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListMasterSummaryOutput) DiskCount() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.DiskCount }).(pulumi.IntOutput) +} + +// Disk description. +func (o GetInstancesInstancesListMasterSummaryOutput) DiskDesc() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) string { return v.DiskDesc }).(pulumi.StringOutput) +} + +// Disk type. +func (o GetInstancesInstancesListMasterSummaryOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) string { return v.DiskType }).(pulumi.StringOutput) +} + +// Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListMasterSummaryOutput) Encrypt() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.Encrypt }).(pulumi.IntOutput) +} + +// Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListMasterSummaryOutput) MaxDiskSize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.MaxDiskSize }).(pulumi.IntOutput) +} + +// Memory size, in GB. +func (o GetInstancesInstancesListMasterSummaryOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.Memory }).(pulumi.IntOutput) +} + +// Number of nodes. +func (o GetInstancesInstancesListMasterSummaryOutput) NodeSize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.NodeSize }).(pulumi.IntOutput) +} + +// Model, such as S1. +func (o GetInstancesInstancesListMasterSummaryOutput) Spec() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) string { return v.Spec }).(pulumi.StringOutput) +} + +// Specified cores. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListMasterSummaryOutput) SpecCore() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.SpecCore }).(pulumi.IntOutput) +} + +// Specified memory. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListMasterSummaryOutput) SpecMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) int { return v.SpecMemory }).(pulumi.IntOutput) +} + +// Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetInstancesInstancesListMasterSummaryOutput) SubProductType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummary) string { return v.SubProductType }).(pulumi.StringOutput) +} + +type GetInstancesInstancesListMasterSummaryAttachCbsSpec struct { + // Total number of disks. + DiskCount *int `pulumi:"diskCount"` + // Description. + DiskDesc *string `pulumi:"diskDesc"` + // Disk capacity, in GB. + DiskSize *int `pulumi:"diskSize"` + // Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + DiskType *string `pulumi:"diskType"` +} + +// GetInstancesInstancesListMasterSummaryAttachCbsSpecInput is an input type that accepts GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs and GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListMasterSummaryAttachCbsSpecInput` via: +// +// GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs{...} +type GetInstancesInstancesListMasterSummaryAttachCbsSpecInput interface { + pulumi.Input + + ToGetInstancesInstancesListMasterSummaryAttachCbsSpecOutput() GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput + ToGetInstancesInstancesListMasterSummaryAttachCbsSpecOutputWithContext(context.Context) GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput +} + +type GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs struct { + // Total number of disks. + DiskCount pulumi.IntPtrInput `pulumi:"diskCount"` + // Description. + DiskDesc pulumi.StringPtrInput `pulumi:"diskDesc"` + // Disk capacity, in GB. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` +} + +func (GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListMasterSummaryAttachCbsSpec)(nil)).Elem() +} + +func (i GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs) ToGetInstancesInstancesListMasterSummaryAttachCbsSpecOutput() GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput { + return i.ToGetInstancesInstancesListMasterSummaryAttachCbsSpecOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs) ToGetInstancesInstancesListMasterSummaryAttachCbsSpecOutputWithContext(ctx context.Context) GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) +} + +type GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListMasterSummaryAttachCbsSpec)(nil)).Elem() +} + +func (o GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) ToGetInstancesInstancesListMasterSummaryAttachCbsSpecOutput() GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput { + return o +} + +func (o GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) ToGetInstancesInstancesListMasterSummaryAttachCbsSpecOutputWithContext(ctx context.Context) GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput { + return o +} + +// Total number of disks. +func (o GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) DiskCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummaryAttachCbsSpec) *int { return v.DiskCount }).(pulumi.IntPtrOutput) +} + +// Description. +func (o GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) DiskDesc() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummaryAttachCbsSpec) *string { return v.DiskDesc }).(pulumi.StringPtrOutput) +} + +// Disk capacity, in GB. +func (o GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummaryAttachCbsSpec) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. +func (o GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesInstancesListMasterSummaryAttachCbsSpec) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +type GetInstancesInstancesListTag struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// GetInstancesInstancesListTagInput is an input type that accepts GetInstancesInstancesListTagArgs and GetInstancesInstancesListTagOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListTagInput` via: +// +// GetInstancesInstancesListTagArgs{...} +type GetInstancesInstancesListTagInput interface { + pulumi.Input + + ToGetInstancesInstancesListTagOutput() GetInstancesInstancesListTagOutput + ToGetInstancesInstancesListTagOutputWithContext(context.Context) GetInstancesInstancesListTagOutput +} + +type GetInstancesInstancesListTagArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (GetInstancesInstancesListTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListTag)(nil)).Elem() +} + +func (i GetInstancesInstancesListTagArgs) ToGetInstancesInstancesListTagOutput() GetInstancesInstancesListTagOutput { + return i.ToGetInstancesInstancesListTagOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListTagArgs) ToGetInstancesInstancesListTagOutputWithContext(ctx context.Context) GetInstancesInstancesListTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListTagOutput) +} + +// GetInstancesInstancesListTagArrayInput is an input type that accepts GetInstancesInstancesListTagArray and GetInstancesInstancesListTagArrayOutput values. +// You can construct a concrete instance of `GetInstancesInstancesListTagArrayInput` via: +// +// GetInstancesInstancesListTagArray{ GetInstancesInstancesListTagArgs{...} } +type GetInstancesInstancesListTagArrayInput interface { + pulumi.Input + + ToGetInstancesInstancesListTagArrayOutput() GetInstancesInstancesListTagArrayOutput + ToGetInstancesInstancesListTagArrayOutputWithContext(context.Context) GetInstancesInstancesListTagArrayOutput +} + +type GetInstancesInstancesListTagArray []GetInstancesInstancesListTagInput + +func (GetInstancesInstancesListTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstancesListTag)(nil)).Elem() +} + +func (i GetInstancesInstancesListTagArray) ToGetInstancesInstancesListTagArrayOutput() GetInstancesInstancesListTagArrayOutput { + return i.ToGetInstancesInstancesListTagArrayOutputWithContext(context.Background()) +} + +func (i GetInstancesInstancesListTagArray) ToGetInstancesInstancesListTagArrayOutputWithContext(ctx context.Context) GetInstancesInstancesListTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesInstancesListTagArrayOutput) +} + +type GetInstancesInstancesListTagOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesInstancesListTag)(nil)).Elem() +} + +func (o GetInstancesInstancesListTagOutput) ToGetInstancesInstancesListTagOutput() GetInstancesInstancesListTagOutput { + return o +} + +func (o GetInstancesInstancesListTagOutput) ToGetInstancesInstancesListTagOutputWithContext(ctx context.Context) GetInstancesInstancesListTagOutput { + return o +} + +// Tag key. +func (o GetInstancesInstancesListTagOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListTag) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o GetInstancesInstancesListTagOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesInstancesListTag) string { return v.TagValue }).(pulumi.StringOutput) +} + +type GetInstancesInstancesListTagArrayOutput struct{ *pulumi.OutputState } + +func (GetInstancesInstancesListTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesInstancesListTag)(nil)).Elem() +} + +func (o GetInstancesInstancesListTagArrayOutput) ToGetInstancesInstancesListTagArrayOutput() GetInstancesInstancesListTagArrayOutput { + return o +} + +func (o GetInstancesInstancesListTagArrayOutput) ToGetInstancesInstancesListTagArrayOutputWithContext(ctx context.Context) GetInstancesInstancesListTagArrayOutput { + return o +} + +func (o GetInstancesInstancesListTagArrayOutput) Index(i pulumi.IntInput) GetInstancesInstancesListTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstancesInstancesListTag { + return vs[0].([]GetInstancesInstancesListTag)[vs[1].(int)] + }).(GetInstancesInstancesListTagOutput) +} + +type GetInstancesSearchTag struct { + // 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + AllValue *int `pulumi:"allValue"` + // Tag key. + TagKey *string `pulumi:"tagKey"` + // Tag value. + TagValue *string `pulumi:"tagValue"` +} + +// GetInstancesSearchTagInput is an input type that accepts GetInstancesSearchTagArgs and GetInstancesSearchTagOutput values. +// You can construct a concrete instance of `GetInstancesSearchTagInput` via: +// +// GetInstancesSearchTagArgs{...} +type GetInstancesSearchTagInput interface { + pulumi.Input + + ToGetInstancesSearchTagOutput() GetInstancesSearchTagOutput + ToGetInstancesSearchTagOutputWithContext(context.Context) GetInstancesSearchTagOutput +} + +type GetInstancesSearchTagArgs struct { + // 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + AllValue pulumi.IntPtrInput `pulumi:"allValue"` + // Tag key. + TagKey pulumi.StringPtrInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringPtrInput `pulumi:"tagValue"` +} + +func (GetInstancesSearchTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesSearchTag)(nil)).Elem() +} + +func (i GetInstancesSearchTagArgs) ToGetInstancesSearchTagOutput() GetInstancesSearchTagOutput { + return i.ToGetInstancesSearchTagOutputWithContext(context.Background()) +} + +func (i GetInstancesSearchTagArgs) ToGetInstancesSearchTagOutputWithContext(ctx context.Context) GetInstancesSearchTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesSearchTagOutput) +} + +// GetInstancesSearchTagArrayInput is an input type that accepts GetInstancesSearchTagArray and GetInstancesSearchTagArrayOutput values. +// You can construct a concrete instance of `GetInstancesSearchTagArrayInput` via: +// +// GetInstancesSearchTagArray{ GetInstancesSearchTagArgs{...} } +type GetInstancesSearchTagArrayInput interface { + pulumi.Input + + ToGetInstancesSearchTagArrayOutput() GetInstancesSearchTagArrayOutput + ToGetInstancesSearchTagArrayOutputWithContext(context.Context) GetInstancesSearchTagArrayOutput +} + +type GetInstancesSearchTagArray []GetInstancesSearchTagInput + +func (GetInstancesSearchTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesSearchTag)(nil)).Elem() +} + +func (i GetInstancesSearchTagArray) ToGetInstancesSearchTagArrayOutput() GetInstancesSearchTagArrayOutput { + return i.ToGetInstancesSearchTagArrayOutputWithContext(context.Background()) +} + +func (i GetInstancesSearchTagArray) ToGetInstancesSearchTagArrayOutputWithContext(ctx context.Context) GetInstancesSearchTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstancesSearchTagArrayOutput) +} + +type GetInstancesSearchTagOutput struct{ *pulumi.OutputState } + +func (GetInstancesSearchTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstancesSearchTag)(nil)).Elem() +} + +func (o GetInstancesSearchTagOutput) ToGetInstancesSearchTagOutput() GetInstancesSearchTagOutput { + return o +} + +func (o GetInstancesSearchTagOutput) ToGetInstancesSearchTagOutputWithContext(ctx context.Context) GetInstancesSearchTagOutput { + return o +} + +// 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. +func (o GetInstancesSearchTagOutput) AllValue() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetInstancesSearchTag) *int { return v.AllValue }).(pulumi.IntPtrOutput) +} + +// Tag key. +func (o GetInstancesSearchTagOutput) TagKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesSearchTag) *string { return v.TagKey }).(pulumi.StringPtrOutput) +} + +// Tag value. +func (o GetInstancesSearchTagOutput) TagValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstancesSearchTag) *string { return v.TagValue }).(pulumi.StringPtrOutput) +} + +type GetInstancesSearchTagArrayOutput struct{ *pulumi.OutputState } + +func (GetInstancesSearchTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstancesSearchTag)(nil)).Elem() +} + +func (o GetInstancesSearchTagArrayOutput) ToGetInstancesSearchTagArrayOutput() GetInstancesSearchTagArrayOutput { + return o +} + +func (o GetInstancesSearchTagArrayOutput) ToGetInstancesSearchTagArrayOutputWithContext(ctx context.Context) GetInstancesSearchTagArrayOutput { + return o +} + +func (o GetInstancesSearchTagArrayOutput) Index(i pulumi.IntInput) GetInstancesSearchTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstancesSearchTag { + return vs[0].([]GetInstancesSearchTag)[vs[1].(int)] + }).(GetInstancesSearchTagOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*InstanceBeSpecInput)(nil)).Elem(), InstanceBeSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceBeSpecPtrInput)(nil)).Elem(), InstanceBeSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceChargePropertiesInput)(nil)).Elem(), InstanceChargePropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceChargePropertiesPtrInput)(nil)).Elem(), InstanceChargePropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceFeSpecInput)(nil)).Elem(), InstanceFeSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceFeSpecPtrInput)(nil)).Elem(), InstanceFeSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTagInput)(nil)).Elem(), InstanceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTagArrayInput)(nil)).Elem(), InstanceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceUserMultiZoneInfosInput)(nil)).Elem(), InstanceUserMultiZoneInfosArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceUserMultiZoneInfosPtrInput)(nil)).Elem(), InstanceUserMultiZoneInfosArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkloadGroupWorkloadGroupInput)(nil)).Elem(), WorkloadGroupWorkloadGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkloadGroupWorkloadGroupPtrInput)(nil)).Elem(), WorkloadGroupWorkloadGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListInput)(nil)).Elem(), GetInstancesInstancesListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListArrayInput)(nil)).Elem(), GetInstancesInstancesListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListCoreSummaryInput)(nil)).Elem(), GetInstancesInstancesListCoreSummaryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListCoreSummaryAttachCbsSpecInput)(nil)).Elem(), GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListMasterSummaryInput)(nil)).Elem(), GetInstancesInstancesListMasterSummaryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListMasterSummaryAttachCbsSpecInput)(nil)).Elem(), GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListTagInput)(nil)).Elem(), GetInstancesInstancesListTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesInstancesListTagArrayInput)(nil)).Elem(), GetInstancesInstancesListTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesSearchTagInput)(nil)).Elem(), GetInstancesSearchTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesSearchTagArrayInput)(nil)).Elem(), GetInstancesSearchTagArray{}) + pulumi.RegisterOutputType(InstanceBeSpecOutput{}) + pulumi.RegisterOutputType(InstanceBeSpecPtrOutput{}) + pulumi.RegisterOutputType(InstanceChargePropertiesOutput{}) + pulumi.RegisterOutputType(InstanceChargePropertiesPtrOutput{}) + pulumi.RegisterOutputType(InstanceFeSpecOutput{}) + pulumi.RegisterOutputType(InstanceFeSpecPtrOutput{}) + pulumi.RegisterOutputType(InstanceTagOutput{}) + pulumi.RegisterOutputType(InstanceTagArrayOutput{}) + pulumi.RegisterOutputType(InstanceUserMultiZoneInfosOutput{}) + pulumi.RegisterOutputType(InstanceUserMultiZoneInfosPtrOutput{}) + pulumi.RegisterOutputType(WorkloadGroupWorkloadGroupOutput{}) + pulumi.RegisterOutputType(WorkloadGroupWorkloadGroupPtrOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListArrayOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListCoreSummaryOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListCoreSummaryAttachCbsSpecOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListMasterSummaryOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListMasterSummaryAttachCbsSpecOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListTagOutput{}) + pulumi.RegisterOutputType(GetInstancesInstancesListTagArrayOutput{}) + pulumi.RegisterOutputType(GetInstancesSearchTagOutput{}) + pulumi.RegisterOutputType(GetInstancesSearchTagArrayOutput{}) +} diff --git a/sdk/go/tencentcloud/cdwdoris/workloadGroup.go b/sdk/go/tencentcloud/cdwdoris/workloadGroup.go new file mode 100644 index 000000000..4d0dac705 --- /dev/null +++ b/sdk/go/tencentcloud/cdwdoris/workloadGroup.go @@ -0,0 +1,340 @@ +// 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 cdwdoris + +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 cdwdoris workload group +// +// > **NOTE:** To use this resource, The `workloadGroupStatus` field of `Cdwdoris.Instance` needs to be set to true. +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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/Cdwdoris" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-6" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create instance +// exampleInstance, err := Cdwdoris.NewInstance(ctx, "exampleInstance", &Cdwdoris.InstanceArgs{ +// Zone: pulumi.String(availabilityZone), +// UserVpcId: vpc.ID(), +// UserSubnetId: subnet.ID(), +// ProductVersion: pulumi.String("2.1"), +// InstanceName: pulumi.String("tf-example"), +// DorisUserPwd: pulumi.String("Password@test"), +// HaFlag: pulumi.Bool(false), +// CaseSensitive: pulumi.Int(0), +// EnableMultiZones: pulumi.Bool(false), +// WorkloadGroupStatus: pulumi.String("open"), +// ChargeProperties: &cdwdoris.InstanceChargePropertiesArgs{ +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// }, +// FeSpec: &cdwdoris.InstanceFeSpecArgs{ +// SpecName: pulumi.String("S_4_16_P"), +// Count: pulumi.Int(3), +// DiskSize: pulumi.Int(200), +// }, +// BeSpec: &cdwdoris.InstanceBeSpecArgs{ +// SpecName: pulumi.String("S_4_16_P"), +// Count: pulumi.Int(3), +// DiskSize: pulumi.Int(200), +// }, +// Tags: cdwdoris.InstanceTagArray{ +// &cdwdoris.InstanceTagArgs{ +// TagKey: pulumi.String("createBy"), +// TagValue: pulumi.String("Terraform"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// // create workload group +// _, err = Cdwdoris.NewWorkloadGroup(ctx, "exampleWorkloadGroup", &Cdwdoris.WorkloadGroupArgs{ +// InstanceId: exampleInstance.ID(), +// WorkloadGroup: &cdwdoris.WorkloadGroupWorkloadGroupArgs{ +// WorkloadGroupName: pulumi.String("example"), +// CpuShare: pulumi.Int(1024), +// MemoryLimit: pulumi.Int(20), +// EnableMemoryOverCommit: pulumi.Bool(true), +// CpuHardLimit: pulumi.String("30%"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// cdwdoris workload group can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup example cdwdoris-rhbflamd#tf-example +// ``` +type WorkloadGroup struct { + pulumi.CustomResourceState + + // Instance id. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Resource group configuration. + WorkloadGroup WorkloadGroupWorkloadGroupPtrOutput `pulumi:"workloadGroup"` +} + +// NewWorkloadGroup registers a new resource with the given unique name, arguments, and options. +func NewWorkloadGroup(ctx *pulumi.Context, + name string, args *WorkloadGroupArgs, opts ...pulumi.ResourceOption) (*WorkloadGroup, 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'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource WorkloadGroup + err := ctx.RegisterResource("tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetWorkloadGroup gets an existing WorkloadGroup 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 GetWorkloadGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *WorkloadGroupState, opts ...pulumi.ResourceOption) (*WorkloadGroup, error) { + var resource WorkloadGroup + err := ctx.ReadResource("tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering WorkloadGroup resources. +type workloadGroupState struct { + // Instance id. + InstanceId *string `pulumi:"instanceId"` + // Resource group configuration. + WorkloadGroup *WorkloadGroupWorkloadGroup `pulumi:"workloadGroup"` +} + +type WorkloadGroupState struct { + // Instance id. + InstanceId pulumi.StringPtrInput + // Resource group configuration. + WorkloadGroup WorkloadGroupWorkloadGroupPtrInput +} + +func (WorkloadGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*workloadGroupState)(nil)).Elem() +} + +type workloadGroupArgs struct { + // Instance id. + InstanceId string `pulumi:"instanceId"` + // Resource group configuration. + WorkloadGroup *WorkloadGroupWorkloadGroup `pulumi:"workloadGroup"` +} + +// The set of arguments for constructing a WorkloadGroup resource. +type WorkloadGroupArgs struct { + // Instance id. + InstanceId pulumi.StringInput + // Resource group configuration. + WorkloadGroup WorkloadGroupWorkloadGroupPtrInput +} + +func (WorkloadGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*workloadGroupArgs)(nil)).Elem() +} + +type WorkloadGroupInput interface { + pulumi.Input + + ToWorkloadGroupOutput() WorkloadGroupOutput + ToWorkloadGroupOutputWithContext(ctx context.Context) WorkloadGroupOutput +} + +func (*WorkloadGroup) ElementType() reflect.Type { + return reflect.TypeOf((**WorkloadGroup)(nil)).Elem() +} + +func (i *WorkloadGroup) ToWorkloadGroupOutput() WorkloadGroupOutput { + return i.ToWorkloadGroupOutputWithContext(context.Background()) +} + +func (i *WorkloadGroup) ToWorkloadGroupOutputWithContext(ctx context.Context) WorkloadGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkloadGroupOutput) +} + +// WorkloadGroupArrayInput is an input type that accepts WorkloadGroupArray and WorkloadGroupArrayOutput values. +// You can construct a concrete instance of `WorkloadGroupArrayInput` via: +// +// WorkloadGroupArray{ WorkloadGroupArgs{...} } +type WorkloadGroupArrayInput interface { + pulumi.Input + + ToWorkloadGroupArrayOutput() WorkloadGroupArrayOutput + ToWorkloadGroupArrayOutputWithContext(context.Context) WorkloadGroupArrayOutput +} + +type WorkloadGroupArray []WorkloadGroupInput + +func (WorkloadGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*WorkloadGroup)(nil)).Elem() +} + +func (i WorkloadGroupArray) ToWorkloadGroupArrayOutput() WorkloadGroupArrayOutput { + return i.ToWorkloadGroupArrayOutputWithContext(context.Background()) +} + +func (i WorkloadGroupArray) ToWorkloadGroupArrayOutputWithContext(ctx context.Context) WorkloadGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkloadGroupArrayOutput) +} + +// WorkloadGroupMapInput is an input type that accepts WorkloadGroupMap and WorkloadGroupMapOutput values. +// You can construct a concrete instance of `WorkloadGroupMapInput` via: +// +// WorkloadGroupMap{ "key": WorkloadGroupArgs{...} } +type WorkloadGroupMapInput interface { + pulumi.Input + + ToWorkloadGroupMapOutput() WorkloadGroupMapOutput + ToWorkloadGroupMapOutputWithContext(context.Context) WorkloadGroupMapOutput +} + +type WorkloadGroupMap map[string]WorkloadGroupInput + +func (WorkloadGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*WorkloadGroup)(nil)).Elem() +} + +func (i WorkloadGroupMap) ToWorkloadGroupMapOutput() WorkloadGroupMapOutput { + return i.ToWorkloadGroupMapOutputWithContext(context.Background()) +} + +func (i WorkloadGroupMap) ToWorkloadGroupMapOutputWithContext(ctx context.Context) WorkloadGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkloadGroupMapOutput) +} + +type WorkloadGroupOutput struct{ *pulumi.OutputState } + +func (WorkloadGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkloadGroup)(nil)).Elem() +} + +func (o WorkloadGroupOutput) ToWorkloadGroupOutput() WorkloadGroupOutput { + return o +} + +func (o WorkloadGroupOutput) ToWorkloadGroupOutputWithContext(ctx context.Context) WorkloadGroupOutput { + return o +} + +// Instance id. +func (o WorkloadGroupOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *WorkloadGroup) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Resource group configuration. +func (o WorkloadGroupOutput) WorkloadGroup() WorkloadGroupWorkloadGroupPtrOutput { + return o.ApplyT(func(v *WorkloadGroup) WorkloadGroupWorkloadGroupPtrOutput { return v.WorkloadGroup }).(WorkloadGroupWorkloadGroupPtrOutput) +} + +type WorkloadGroupArrayOutput struct{ *pulumi.OutputState } + +func (WorkloadGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*WorkloadGroup)(nil)).Elem() +} + +func (o WorkloadGroupArrayOutput) ToWorkloadGroupArrayOutput() WorkloadGroupArrayOutput { + return o +} + +func (o WorkloadGroupArrayOutput) ToWorkloadGroupArrayOutputWithContext(ctx context.Context) WorkloadGroupArrayOutput { + return o +} + +func (o WorkloadGroupArrayOutput) Index(i pulumi.IntInput) WorkloadGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *WorkloadGroup { + return vs[0].([]*WorkloadGroup)[vs[1].(int)] + }).(WorkloadGroupOutput) +} + +type WorkloadGroupMapOutput struct{ *pulumi.OutputState } + +func (WorkloadGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*WorkloadGroup)(nil)).Elem() +} + +func (o WorkloadGroupMapOutput) ToWorkloadGroupMapOutput() WorkloadGroupMapOutput { + return o +} + +func (o WorkloadGroupMapOutput) ToWorkloadGroupMapOutputWithContext(ctx context.Context) WorkloadGroupMapOutput { + return o +} + +func (o WorkloadGroupMapOutput) MapIndex(k pulumi.StringInput) WorkloadGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *WorkloadGroup { + return vs[0].(map[string]*WorkloadGroup)[vs[1].(string)] + }).(WorkloadGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*WorkloadGroupInput)(nil)).Elem(), &WorkloadGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkloadGroupArrayInput)(nil)).Elem(), WorkloadGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkloadGroupMapInput)(nil)).Elem(), WorkloadGroupMap{}) + pulumi.RegisterOutputType(WorkloadGroupOutput{}) + pulumi.RegisterOutputType(WorkloadGroupArrayOutput{}) + pulumi.RegisterOutputType(WorkloadGroupMapOutput{}) +} diff --git a/sdk/go/tencentcloud/clb/attachment.go b/sdk/go/tencentcloud/clb/attachment.go index e3389b77d..3ce674154 100644 --- a/sdk/go/tencentcloud/clb/attachment.go +++ b/sdk/go/tencentcloud/clb/attachment.go @@ -18,8 +18,6 @@ import ( // // ## Example Usage // -// ### Bind a Cvm instance -// // // ```go // package main @@ -33,7 +31,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewAttachment(ctx, "foo", &Clb.AttachmentArgs{ +// _, err := Clb.NewAttachment(ctx, "example", &Clb.AttachmentArgs{ // ClbId: pulumi.String("lb-k2zjp9lv"), // ListenerId: pulumi.String("lbl-hh141sn9"), // RuleId: pulumi.String("loc-4xxr2cy7"), @@ -55,7 +53,41 @@ import ( // ``` // // -// ### Bind multiple Cvm instances +// +// ```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.NewAttachment(ctx, "example", &Clb.AttachmentArgs{ +// ClbId: pulumi.String("lb-k2zjp9lv"), +// Domain: pulumi.String("test.com"), +// ListenerId: pulumi.String("lbl-hh141sn9"), +// Targets: clb.AttachmentTargetArray{ +// &clb.AttachmentTargetArgs{ +// InstanceId: pulumi.String("ins-1flbqyp8"), +// Port: pulumi.Int(80), +// Weight: pulumi.Int(10), +// }, +// }, +// Url: pulumi.String("/"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // // // ```go @@ -70,7 +102,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewAttachment(ctx, "foo", &Clb.AttachmentArgs{ +// _, err := Clb.NewAttachment(ctx, "example", &Clb.AttachmentArgs{ // ClbId: pulumi.String("lb-k2zjp9lv"), // ListenerId: pulumi.String("lbl-hh141sn9"), // RuleId: pulumi.String("loc-4xxr2cy7"), @@ -97,7 +129,46 @@ import ( // ``` // // -// ### Bind backend target is ENI +// +// ```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.NewAttachment(ctx, "example", &Clb.AttachmentArgs{ +// ClbId: pulumi.String("lb-k2zjp9lv"), +// Domain: pulumi.String("test.com"), +// ListenerId: pulumi.String("lbl-hh141sn9"), +// Targets: clb.AttachmentTargetArray{ +// &clb.AttachmentTargetArgs{ +// InstanceId: pulumi.String("ins-1flbqyp8"), +// Port: pulumi.Int(80), +// Weight: pulumi.Int(10), +// }, +// &clb.AttachmentTargetArgs{ +// InstanceId: pulumi.String("ins-ekloqpa1"), +// Port: pulumi.Int(81), +// Weight: pulumi.Int(10), +// }, +// }, +// Url: pulumi.String("/"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // // // ```go @@ -112,17 +183,53 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewAttachment(ctx, "foo", &Clb.AttachmentArgs{ +// _, err := Clb.NewAttachment(ctx, "example", &Clb.AttachmentArgs{ // ClbId: pulumi.String("lb-k2zjp9lv"), // ListenerId: pulumi.String("lbl-hh141sn9"), // RuleId: pulumi.String("loc-4xxr2cy7"), // Targets: clb.AttachmentTargetArray{ // &clb.AttachmentTargetArgs{ -// EniIp: pulumi.String("example-ip"), -// Port: pulumi.Int(23), +// EniIp: pulumi.String("172.16.16.52"), +// Port: pulumi.Int(8090), +// Weight: pulumi.Int(50), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// +// ```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.NewAttachment(ctx, "example", &Clb.AttachmentArgs{ +// ClbId: pulumi.String("lb-k2zjp9lv"), +// Domain: pulumi.String("test.com"), +// ListenerId: pulumi.String("lbl-hh141sn9"), +// Targets: clb.AttachmentTargetArray{ +// &clb.AttachmentTargetArgs{ +// EniIp: pulumi.String("172.16.16.52"), +// Port: pulumi.Int(8090), // Weight: pulumi.Int(50), // }, // }, +// Url: pulumi.String("/"), // }) // if err != nil { // return err @@ -139,13 +246,21 @@ import ( // CLB attachment can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Clb/attachment:Attachment foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb +// $ pulumi import tencentcloud:Clb/attachment:Attachment example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb +// ``` +// +// # Or +// +// ```sh +// $ pulumi import tencentcloud:Clb/attachment:Attachment example test.com,/#lbl-hh141sn9#lb-7a0t6zqb // ``` type Attachment struct { pulumi.CustomResourceState // ID of the CLB. ClbId pulumi.StringOutput `pulumi:"clbId"` + // Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Domain pulumi.StringPtrOutput `pulumi:"domain"` // ID of the CLB listener. ListenerId pulumi.StringOutput `pulumi:"listenerId"` // Type of protocol within the listener. @@ -154,6 +269,8 @@ type Attachment struct { RuleId pulumi.StringPtrOutput `pulumi:"ruleId"` // Information of the backends to be attached. Targets AttachmentTargetArrayOutput `pulumi:"targets"` + // URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Url pulumi.StringPtrOutput `pulumi:"url"` } // NewAttachment registers a new resource with the given unique name, arguments, and options. @@ -197,6 +314,8 @@ func GetAttachment(ctx *pulumi.Context, type attachmentState struct { // ID of the CLB. ClbId *string `pulumi:"clbId"` + // Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Domain *string `pulumi:"domain"` // ID of the CLB listener. ListenerId *string `pulumi:"listenerId"` // Type of protocol within the listener. @@ -205,11 +324,15 @@ type attachmentState struct { RuleId *string `pulumi:"ruleId"` // Information of the backends to be attached. Targets []AttachmentTarget `pulumi:"targets"` + // URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Url *string `pulumi:"url"` } type AttachmentState struct { // ID of the CLB. ClbId pulumi.StringPtrInput + // Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Domain pulumi.StringPtrInput // ID of the CLB listener. ListenerId pulumi.StringPtrInput // Type of protocol within the listener. @@ -218,6 +341,8 @@ type AttachmentState struct { RuleId pulumi.StringPtrInput // Information of the backends to be attached. Targets AttachmentTargetArrayInput + // URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Url pulumi.StringPtrInput } func (AttachmentState) ElementType() reflect.Type { @@ -227,24 +352,32 @@ func (AttachmentState) ElementType() reflect.Type { type attachmentArgs struct { // ID of the CLB. ClbId string `pulumi:"clbId"` + // Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Domain *string `pulumi:"domain"` // ID of the CLB listener. ListenerId string `pulumi:"listenerId"` // ID of the CLB listener rule. Only supports listeners of `HTTPS` and `HTTP` protocol. RuleId *string `pulumi:"ruleId"` // Information of the backends to be attached. Targets []AttachmentTarget `pulumi:"targets"` + // URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Url *string `pulumi:"url"` } // The set of arguments for constructing a Attachment resource. type AttachmentArgs struct { // ID of the CLB. ClbId pulumi.StringInput + // Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Domain pulumi.StringPtrInput // ID of the CLB listener. ListenerId pulumi.StringInput // ID of the CLB listener rule. Only supports listeners of `HTTPS` and `HTTP` protocol. RuleId pulumi.StringPtrInput // Information of the backends to be attached. Targets AttachmentTargetArrayInput + // URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + Url pulumi.StringPtrInput } func (AttachmentArgs) ElementType() reflect.Type { @@ -339,6 +472,11 @@ func (o AttachmentOutput) ClbId() pulumi.StringOutput { return o.ApplyT(func(v *Attachment) pulumi.StringOutput { return v.ClbId }).(pulumi.StringOutput) } +// Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. +func (o AttachmentOutput) Domain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Attachment) pulumi.StringPtrOutput { return v.Domain }).(pulumi.StringPtrOutput) +} + // ID of the CLB listener. func (o AttachmentOutput) ListenerId() pulumi.StringOutput { return o.ApplyT(func(v *Attachment) pulumi.StringOutput { return v.ListenerId }).(pulumi.StringOutput) @@ -359,6 +497,11 @@ func (o AttachmentOutput) Targets() AttachmentTargetArrayOutput { return o.ApplyT(func(v *Attachment) AttachmentTargetArrayOutput { return v.Targets }).(AttachmentTargetArrayOutput) } +// URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. +func (o AttachmentOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Attachment) pulumi.StringPtrOutput { return v.Url }).(pulumi.StringPtrOutput) +} + type AttachmentArrayOutput struct{ *pulumi.OutputState } func (AttachmentArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/tencentcloud/clb/instance.go b/sdk/go/tencentcloud/clb/instance.go index f7d6e1f5b..5c9561fae 100644 --- a/sdk/go/tencentcloud/clb/instance.go +++ b/sdk/go/tencentcloud/clb/instance.go @@ -16,7 +16,7 @@ import ( // // ## Example Usage // -// ### INTERNAL CLB +// ### Create INTERNAL CLB // // // ```go @@ -25,21 +25,110 @@ 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/Clb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create clb +// _, err = Clb.NewInstance(ctx, "example", &Clb.InstanceArgs{ +// NetworkType: pulumi.String("INTERNAL"), +// ClbName: pulumi.String("tf-example"), +// ProjectId: pulumi.Int(0), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// Tags: pulumi.Map{ +// "tagKey": pulumi.Any("tagValue"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create dedicated cluster clb +// +// +// ```go +// package main +// +// 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/Clb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewInstance(ctx, "internalClb", &Clb.InstanceArgs{ -// ClbName: pulumi.String("myclb"), +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// CdcId: pulumi.String("cluster-lchwgxhs"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create clb +// _, err = Clb.NewInstance(ctx, "example", &Clb.InstanceArgs{ // NetworkType: pulumi.String("INTERNAL"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), -// SubnetId: pulumi.String("subnet-12rastkr"), +// ClusterId: pulumi.String("cluster-lchwgxhs"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "tagKey": pulumi.Any("tagValue"), // }, -// VpcId: pulumi.String("vpc-7007ll7q"), // }) // if err != nil { // return err @@ -51,7 +140,7 @@ import ( // ``` // // -// ### LCU-supported CLB +// ### Create LCU-supported CLB // // // ```go @@ -60,22 +149,48 @@ 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/Clb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewInstance(ctx, "internalClb", &Clb.InstanceArgs{ -// ClbName: pulumi.String("myclb"), +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create clb +// _, err = Clb.NewInstance(ctx, "example", &Clb.InstanceArgs{ // NetworkType: pulumi.String("INTERNAL"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), // SlaType: pulumi.String("clb.c3.medium"), -// SubnetId: pulumi.String("subnet-o3a5nt20"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "tagKey": pulumi.Any("tagValue"), // }, -// VpcId: pulumi.String("vpc-2hfyray3"), // }) // if err != nil { // return err @@ -87,7 +202,7 @@ import ( // ``` // // -// ### OPEN CLB +// ### Create OPEN CLB // // // ```go @@ -96,23 +211,50 @@ 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/Clb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewInstance(ctx, "openClb", &Clb.InstanceArgs{ -// ClbName: pulumi.String("myclb"), +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, +// }) +// if err != nil { +// return err +// } +// // create clb +// _, err = Clb.NewInstance(ctx, "exampleInstance", &Clb.InstanceArgs{ // NetworkType: pulumi.String("OPEN"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), +// VpcId: vpc.ID(), // SecurityGroups: pulumi.StringArray{ -// pulumi.String("sg-o0ek7r93"), +// exampleGroup.ID(), // }, // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "tagKey": pulumi.Any("tagValue"), // }, -// VpcId: pulumi.String("vpc-da7ffa61"), // }) // if err != nil { // return err @@ -124,7 +266,7 @@ import ( // ``` // // -// ### SUPPORT CORS +// ### Support CORS // // // ```go @@ -133,25 +275,56 @@ 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/Clb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewInstance(ctx, "openClb", &Clb.InstanceArgs{ -// ClbName: pulumi.String("myclb"), +// cfg := config.New(ctx, "") +// zone := "ap-guangzhou" +// if param := cfg.Get("zone"); param != "" { +// zone = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, +// }) +// if err != nil { +// return err +// } +// // create clb +// _, err = Clb.NewInstance(ctx, "exampleInstance", &Clb.InstanceArgs{ // NetworkType: pulumi.String("OPEN"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), +// VpcId: vpc.ID(), // SecurityGroups: pulumi.StringArray{ -// pulumi.String("sg-o0ek7r93"), +// exampleGroup.ID(), // }, +// TargetRegionInfoRegion: pulumi.String(zone), +// TargetRegionInfoVpcId: vpc.ID(), // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "tagKey": pulumi.Any("tagValue"), // }, -// TargetRegionInfoRegion: pulumi.String("ap-guangzhou"), -// TargetRegionInfoVpcId: pulumi.String("vpc-da7ffa61"), -// VpcId: pulumi.String("vpc-da7ffa61"), // }) // if err != nil { // return err @@ -163,7 +336,7 @@ import ( // ``` // // -// ### OPNE CLB with VipIsp +// ### Open CLB with VipIsp // // // ```go @@ -179,7 +352,14 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := Vpc.NewBandwidthPackage(ctx, "example", &Vpc.BandwidthPackageArgs{ +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create vpc bandwidth package +// exampleBandwidthPackage, err := Vpc.NewBandwidthPackage(ctx, "exampleBandwidthPackage", &Vpc.BandwidthPackageArgs{ // NetworkType: pulumi.String("SINGLEISP_CMCC"), // ChargeType: pulumi.String("ENHANCED95_POSTPAID_BY_MONTH"), // BandwidthPackageName: pulumi.String("tf-example"), @@ -192,16 +372,17 @@ import ( // if err != nil { // return err // } -// _, err = Clb.NewInstance(ctx, "openClb", &Clb.InstanceArgs{ +// // create clb +// _, err = Clb.NewInstance(ctx, "exampleInstance", &Clb.InstanceArgs{ // NetworkType: pulumi.String("OPEN"), -// ClbName: pulumi.String("my-open-clb"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), -// VpcId: pulumi.String("vpc-4owdpnwr"), // VipIsp: pulumi.String("CMCC"), // InternetChargeType: pulumi.String("BANDWIDTH_PACKAGE"), -// BandwidthPackageId: example.ID(), +// BandwidthPackageId: exampleBandwidthPackage.ID(), +// VpcId: vpc.ID(), // Tags: pulumi.Map{ -// "test": pulumi.Any("open"), +// "tagKey": pulumi.Any("tagValue"), // }, // }) // if err != nil { @@ -223,43 +404,73 @@ 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/Clb" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// fooGroup, err := Security.NewGroup(ctx, "fooGroup", nil) +// cfg := config.New(ctx, "") +// zone := "ap-guangzhou" +// if param := cfg.Get("zone"); param != "" { +// zone = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) // if err != nil { // return err // } -// fooInstance, err := Vpc.NewInstance(ctx, "fooInstance", &Vpc.InstanceArgs{ -// CidrBlock: pulumi.String("10.0.0.0/16"), +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// IsMulticast: pulumi.Bool(false), // }) // if err != nil { // return err // } -// clbOpen, err := Clb.NewInstance(ctx, "clbOpen", &Clb.InstanceArgs{ +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, +// }) +// if err != nil { +// return err +// } +// // create clb +// exampleInstance, err := Clb.NewInstance(ctx, "exampleInstance", &Clb.InstanceArgs{ // NetworkType: pulumi.String("OPEN"), -// ClbName: pulumi.String("clb-instance-open"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), -// VpcId: fooInstance.ID(), -// TargetRegionInfoRegion: pulumi.String("ap-guangzhou"), -// TargetRegionInfoVpcId: fooInstance.ID(), +// VpcId: vpc.ID(), +// TargetRegionInfoRegion: pulumi.String(zone), +// TargetRegionInfoVpcId: vpc.ID(), // SecurityGroups: pulumi.StringArray{ -// fooGroup.ID(), +// exampleGroup.ID(), // }, // DynamicVip: pulumi.Bool(true), // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "tagKey": pulumi.Any("tagValue"), // }, // }) // if err != nil { // return err // } -// ctx.Export("domain", clbOpen.Domain) +// ctx.Export("domain", exampleInstance.Domain) // return nil // }) // } @@ -267,7 +478,7 @@ import ( // ``` // // -// ### Specified Vip Instance +// ### Specified Vip Instance // // // ```go @@ -276,6 +487,7 @@ 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/Clb" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" @@ -284,33 +496,47 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// fooGroup, err := Security.NewGroup(ctx, "fooGroup", nil) +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) // if err != nil { // return err // } -// fooInstance, err := Vpc.NewInstance(ctx, "fooInstance", &Vpc.InstanceArgs{ -// CidrBlock: pulumi.String("10.0.0.0/16"), +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, // }) // if err != nil { // return err // } -// _, err = Clb.NewInstance(ctx, "clbOpen", &Clb.InstanceArgs{ +// // create clb +// exampleInstance, err := Clb.NewInstance(ctx, "exampleInstance", &Clb.InstanceArgs{ // NetworkType: pulumi.String("OPEN"), -// ClbName: pulumi.String("clb-instance-open"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), -// VpcId: fooInstance.ID(), +// VpcId: vpc.ID(), // SecurityGroups: pulumi.StringArray{ -// fooGroup.ID(), +// exampleGroup.ID(), // }, // Vip: pulumi.String("111.230.4.204"), // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "tagKey": pulumi.Any("tagValue"), // }, // }) // if err != nil { // return err // } -// ctx.Export("domain", tencentcloud_clb_instance.Vip) +// ctx.Export("domain", exampleInstance.Domain) // return nil // }) // } @@ -327,6 +553,7 @@ 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/Clb" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" @@ -336,44 +563,57 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// foo, err := Vpc.NewInstance(ctx, "foo", &Vpc.InstanceArgs{ +// cfg := config.New(ctx, "") +// zone := "ap-guangzhou" +// if param := cfg.Get("zone"); param != "" { +// zone = param +// } +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ // CidrBlock: pulumi.String("10.0.0.0/16"), -// Tags: pulumi.Map{ -// "test": pulumi.Any("mytest"), -// }, // }) // if err != nil { // return err // } +// // create subnet // _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ -// AvailabilityZone: pulumi.String("ap-guangzhou-1"), -// VpcId: foo.ID(), -// CidrBlock: pulumi.String("10.0.20.0/28"), +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), // IsMulticast: pulumi.Bool(false), // }) // if err != nil { // return err // } -// sglab, err := Security.NewGroup(ctx, "sglab", &Security.GroupArgs{ -// Description: pulumi.String("favourite sg"), +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), // ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, // }) // if err != nil { // return err // } -// _, err = Clb.NewInstance(ctx, "openClb", &Clb.InstanceArgs{ +// // create clb +// _, err = Clb.NewInstance(ctx, "exampleInstance", &Clb.InstanceArgs{ // NetworkType: pulumi.String("OPEN"), -// ClbName: pulumi.String("my-open-clb"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), -// VpcId: foo.ID(), // LoadBalancerPassToTarget: pulumi.Bool(true), +// VpcId: vpc.ID(), // SecurityGroups: pulumi.StringArray{ -// sglab.ID(), +// exampleGroup.ID(), // }, -// TargetRegionInfoRegion: pulumi.String("ap-guangzhou"), -// TargetRegionInfoVpcId: foo.ID(), +// TargetRegionInfoVpcId: vpc.ID(), +// TargetRegionInfoRegion: pulumi.String(zone), // Tags: pulumi.Map{ -// "test": pulumi.Any("open"), +// "tagKey": pulumi.Any("tagValue"), // }, // }) // if err != nil { @@ -386,7 +626,7 @@ import ( // ``` // // -// ### CREATE multiple instance +// ### Create multiple instance // // // ```go @@ -395,16 +635,22 @@ 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/Clb" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewInstance(ctx, "openClb1", &Clb.InstanceArgs{ -// ClbName: pulumi.String("hello"), -// MasterZoneId: pulumi.String("ap-guangzhou-3"), +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// _, err := Clb.NewInstance(ctx, "example", &Clb.InstanceArgs{ // NetworkType: pulumi.String("OPEN"), +// ClbName: pulumi.String("tf-example"), +// MasterZoneId: pulumi.String(availabilityZone), // }) // if err != nil { // return err @@ -416,7 +662,7 @@ import ( // ``` // // -// ### CREATE instance with log +// ### Create instance with log // // // ```go @@ -427,6 +673,7 @@ import ( // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Route" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // @@ -434,52 +681,71 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// vpcTest, err := Vpc.NewInstance(ctx, "vpcTest", &Vpc.InstanceArgs{ +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ // CidrBlock: pulumi.String("10.0.0.0/16"), // }) // if err != nil { // return err // } -// rtbTest, err := Route.NewTable(ctx, "rtbTest", &Route.TableArgs{ -// VpcId: vpcTest.ID(), +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.Any(_var.Availability_zone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// IsMulticast: pulumi.Bool(false), // }) // if err != nil { // return err // } -// subnetTest, err := Subnet.NewInstance(ctx, "subnetTest", &Subnet.InstanceArgs{ -// AvailabilityZone: pulumi.String("ap-guangzhou-3"), -// CidrBlock: pulumi.String("10.0.1.0/24"), -// RouteTableId: rtbTest.ID(), -// VpcId: vpcTest.ID(), +// // create route table +// _, err = Route.NewTable(ctx, "route", &Route.TableArgs{ +// VpcId: vpc.ID(), // }) // if err != nil { // return err // } -// set, err := Clb.NewLogSet(ctx, "set", &Clb.LogSetArgs{ +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, +// }) +// if err != nil { +// return err +// } +// log, err := Clb.NewLogSet(ctx, "log", &Clb.LogSetArgs{ // Period: pulumi.Int(7), // }) // if err != nil { // return err // } +// // create topic // topic, err := Clb.NewLogTopic(ctx, "topic", &Clb.LogTopicArgs{ -// LogSetId: set.ID(), +// LogSetId: log.ID(), // TopicName: pulumi.String("clb-topic"), // }) // if err != nil { // return err // } -// _, err = Clb.NewInstance(ctx, "internalClb", &Clb.InstanceArgs{ -// ClbName: pulumi.String("myclb"), -// LoadBalancerPassToTarget: pulumi.Bool(true), -// LogSetId: set.ID(), -// LogTopicId: topic.ID(), +// // create clb +// _, err = Clb.NewInstance(ctx, "exampleInstance", &Clb.InstanceArgs{ // NetworkType: pulumi.String("INTERNAL"), +// ClbName: pulumi.String("tf-example"), // ProjectId: pulumi.Int(0), -// SubnetId: subnetTest.ID(), +// LoadBalancerPassToTarget: pulumi.Bool(true), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// SecurityGroups: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// LogSetId: log.ID(), +// LogTopicId: topic.ID(), // Tags: pulumi.Map{ -// "test": pulumi.Any("tf"), +// "tagKey": pulumi.Any("tagValue"), // }, -// VpcId: vpcTest.ID(), // }) // if err != nil { // return err @@ -496,7 +762,7 @@ import ( // CLB instance can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb +// $ pulumi import tencentcloud:Clb/instance:Instance example lb-7a0t6zqb // ``` type Instance struct { pulumi.CustomResourceState @@ -511,6 +777,8 @@ type Instance struct { ClbName pulumi.StringOutput `pulumi:"clbName"` // The virtual service address table of the CLB. ClbVips pulumi.StringArrayOutput `pulumi:"clbVips"` + // Cluster ID. + ClusterId pulumi.StringPtrOutput `pulumi:"clusterId"` // Whether to enable delete protection. DeleteProtect pulumi.BoolPtrOutput `pulumi:"deleteProtect"` // Domain name of the CLB instance. @@ -530,7 +798,7 @@ type Instance struct { // The id of log topic. LogTopicId pulumi.StringPtrOutput `pulumi:"logTopicId"` // Setting master zone id of cross available zone disaster recovery, only applicable to open CLB. - MasterZoneId pulumi.StringPtrOutput `pulumi:"masterZoneId"` + MasterZoneId pulumi.StringOutput `pulumi:"masterZoneId"` // Type of CLB instance. Valid values: `OPEN` and `INTERNAL`. NetworkType pulumi.StringOutput `pulumi:"networkType"` // ID of the project within the CLB instance, `0` - Default Project. @@ -540,7 +808,7 @@ type Instance struct { // This parameter is required to create LCU-supported instances. Values:`SLA`: Super Large 4. When you have activated Super Large models, `SLA` refers to Super Large 4; `clb.c2.medium`: Standard; `clb.c3.small`: Advanced 1; `clb.c3.medium`: Advanced 1; `clb.c4.small`: Super Large 1; `clb.c4.medium`: Super Large 2; `clb.c4.large`: Super Large 3; `clb.c4.xlarge`: Super Large 4. For more details, see [Instance Specifications](https://intl.cloud.tencent.com/document/product/214/84689?from_cn_redirect=1). SlaType pulumi.StringOutput `pulumi:"slaType"` // Setting slave zone id of cross available zone disaster recovery, only applicable to open CLB. this zone will undertake traffic when the master is down. - SlaveZoneId pulumi.StringPtrOutput `pulumi:"slaveZoneId"` + SlaveZoneId pulumi.StringOutput `pulumi:"slaveZoneId"` // Snat Ip List, required with `snat_pro=true`. NOTE: This argument cannot be read and modified here because dynamic ip is untraceable, please import resource `Clb.SnatIp` to handle fixed ips. SnatIps InstanceSnatIpArrayOutput `pulumi:"snatIps"` // Indicates whether Binding IPs of other VPCs feature switch. @@ -560,7 +828,7 @@ type Instance struct { // VPC ID of the CLB. VpcId pulumi.StringOutput `pulumi:"vpcId"` // Available zone id, only applicable to open CLB. - ZoneId pulumi.StringPtrOutput `pulumi:"zoneId"` + ZoneId pulumi.StringOutput `pulumi:"zoneId"` } // NewInstance registers a new resource with the given unique name, arguments, and options. @@ -609,6 +877,8 @@ type instanceState struct { ClbName *string `pulumi:"clbName"` // The virtual service address table of the CLB. ClbVips []string `pulumi:"clbVips"` + // Cluster ID. + ClusterId *string `pulumi:"clusterId"` // Whether to enable delete protection. DeleteProtect *bool `pulumi:"deleteProtect"` // Domain name of the CLB instance. @@ -672,6 +942,8 @@ type InstanceState struct { ClbName pulumi.StringPtrInput // The virtual service address table of the CLB. ClbVips pulumi.StringArrayInput + // Cluster ID. + ClusterId pulumi.StringPtrInput // Whether to enable delete protection. DeleteProtect pulumi.BoolPtrInput // Domain name of the CLB instance. @@ -735,6 +1007,8 @@ type instanceArgs struct { BandwidthPackageId *string `pulumi:"bandwidthPackageId"` // Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. ClbName string `pulumi:"clbName"` + // Cluster ID. + ClusterId *string `pulumi:"clusterId"` // Whether to enable delete protection. DeleteProtect *bool `pulumi:"deleteProtect"` // If create dynamic vip CLB instance, `true` or `false`. @@ -791,6 +1065,8 @@ type InstanceArgs struct { BandwidthPackageId pulumi.StringPtrInput // Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. ClbName pulumi.StringInput + // Cluster ID. + ClusterId pulumi.StringPtrInput // Whether to enable delete protection. DeleteProtect pulumi.BoolPtrInput // If create dynamic vip CLB instance, `true` or `false`. @@ -951,6 +1227,11 @@ func (o InstanceOutput) ClbVips() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.ClbVips }).(pulumi.StringArrayOutput) } +// Cluster ID. +func (o InstanceOutput) ClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ClusterId }).(pulumi.StringPtrOutput) +} + // Whether to enable delete protection. func (o InstanceOutput) DeleteProtect() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DeleteProtect }).(pulumi.BoolPtrOutput) @@ -997,8 +1278,8 @@ func (o InstanceOutput) LogTopicId() pulumi.StringPtrOutput { } // Setting master zone id of cross available zone disaster recovery, only applicable to open CLB. -func (o InstanceOutput) MasterZoneId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.MasterZoneId }).(pulumi.StringPtrOutput) +func (o InstanceOutput) MasterZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MasterZoneId }).(pulumi.StringOutput) } // Type of CLB instance. Valid values: `OPEN` and `INTERNAL`. @@ -1022,8 +1303,8 @@ func (o InstanceOutput) SlaType() pulumi.StringOutput { } // Setting slave zone id of cross available zone disaster recovery, only applicable to open CLB. this zone will undertake traffic when the master is down. -func (o InstanceOutput) SlaveZoneId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.SlaveZoneId }).(pulumi.StringPtrOutput) +func (o InstanceOutput) SlaveZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.SlaveZoneId }).(pulumi.StringOutput) } // Snat Ip List, required with `snat_pro=true`. NOTE: This argument cannot be read and modified here because dynamic ip is untraceable, please import resource `Clb.SnatIp` to handle fixed ips. @@ -1072,8 +1353,8 @@ func (o InstanceOutput) VpcId() pulumi.StringOutput { } // Available zone id, only applicable to open CLB. -func (o InstanceOutput) ZoneId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ZoneId }).(pulumi.StringPtrOutput) +func (o InstanceOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) } type InstanceArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/tencentcloud/clb/listenerRule.go b/sdk/go/tencentcloud/clb/listenerRule.go index cefedf322..52d7a2364 100644 --- a/sdk/go/tencentcloud/clb/listenerRule.go +++ b/sdk/go/tencentcloud/clb/listenerRule.go @@ -18,6 +18,8 @@ import ( // // ## Example Usage // +// ### Create a single domain listener rule +// // // ```go // package main @@ -31,24 +33,67 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Clb.NewListenerRule(ctx, "foo", &Clb.ListenerRuleArgs{ +// _, err := Clb.NewListenerRule(ctx, "example", &Clb.ListenerRuleArgs{ // CertificateCaId: pulumi.String("VfqO4zkB"), // CertificateId: pulumi.String("VjANRdz8"), // CertificateSslMode: pulumi.String("MUTUAL"), // ClbId: pulumi.String("lb-k2zjp9lv"), -// Domain: pulumi.String("foo.net"), +// Domain: pulumi.String("example.com"), // HealthCheckHealthNum: pulumi.Int(3), // HealthCheckHttpCode: pulumi.Int(2), -// HealthCheckHttpDomain: pulumi.String("Default Domain"), +// HealthCheckHttpDomain: pulumi.String("check.com"), // HealthCheckHttpMethod: pulumi.String("GET"), -// HealthCheckHttpPath: pulumi.String("Default Path"), +// HealthCheckHttpPath: pulumi.String("/"), // HealthCheckIntervalTime: pulumi.Int(5), // HealthCheckSwitch: pulumi.Bool(true), // HealthCheckUnhealthNum: pulumi.Int(3), // ListenerId: pulumi.String("lbl-hh141sn9"), // Scheduler: pulumi.String("WRR"), // SessionExpireTime: pulumi.Int(30), -// Url: pulumi.String("/bar"), +// Url: pulumi.String("/"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a listener rule for domain lists +// +// +// ```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.NewListenerRule(ctx, "example", &Clb.ListenerRuleArgs{ +// ClbId: pulumi.String("lb-k2zjp9lv"), +// Domains: pulumi.StringArray{ +// pulumi.String("example1.com"), +// pulumi.String("example2.com"), +// }, +// HealthCheckHealthNum: pulumi.Int(3), +// HealthCheckHttpCode: pulumi.Int(2), +// HealthCheckHttpDomain: pulumi.String("check.com"), +// HealthCheckHttpMethod: pulumi.String("GET"), +// HealthCheckHttpPath: pulumi.String("/"), +// HealthCheckIntervalTime: pulumi.Int(5), +// HealthCheckSwitch: pulumi.Bool(true), +// HealthCheckUnhealthNum: pulumi.Int(3), +// ListenerId: pulumi.String("lbl-hh141sn9"), +// Scheduler: pulumi.String("WRR"), +// Url: pulumi.String("/"), // }) // if err != nil { // return err @@ -65,7 +110,7 @@ import ( // CLB listener rule can be imported using the id (version >= 1.47.0), e.g. // // ```sh -// $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule foo lb-7a0t6zqb#lbl-hh141sn9#loc-agg236ys +// $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule example lb-k2zjp9lv#lbl-hh141sn9#loc-agg236ys // ``` type ListenerRule struct { pulumi.CustomResourceState @@ -78,8 +123,10 @@ type ListenerRule struct { CertificateSslMode pulumi.StringPtrOutput `pulumi:"certificateSslMode"` // ID of CLB instance. ClbId pulumi.StringOutput `pulumi:"clbId"` - // Domain name of the listener rule. + // Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. Domain pulumi.StringOutput `pulumi:"domain"` + // Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domains pulumi.StringArrayOutput `pulumi:"domains"` // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. ForwardType pulumi.StringOutput `pulumi:"forwardType"` // Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. @@ -130,9 +177,6 @@ func NewListenerRule(ctx *pulumi.Context, if args.ClbId == nil { return nil, errors.New("invalid value for required argument 'ClbId'") } - if args.Domain == nil { - return nil, errors.New("invalid value for required argument 'Domain'") - } if args.ListenerId == nil { return nil, errors.New("invalid value for required argument 'ListenerId'") } @@ -170,8 +214,10 @@ type listenerRuleState struct { CertificateSslMode *string `pulumi:"certificateSslMode"` // ID of CLB instance. ClbId *string `pulumi:"clbId"` - // Domain name of the listener rule. + // Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. Domain *string `pulumi:"domain"` + // Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domains []string `pulumi:"domains"` // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. ForwardType *string `pulumi:"forwardType"` // Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. @@ -221,8 +267,10 @@ type ListenerRuleState struct { CertificateSslMode pulumi.StringPtrInput // ID of CLB instance. ClbId pulumi.StringPtrInput - // Domain name of the listener rule. + // Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. Domain pulumi.StringPtrInput + // Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domains pulumi.StringArrayInput // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. ForwardType pulumi.StringPtrInput // Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. @@ -276,8 +324,10 @@ type listenerRuleArgs struct { CertificateSslMode *string `pulumi:"certificateSslMode"` // ID of CLB instance. ClbId string `pulumi:"clbId"` - // Domain name of the listener rule. - Domain string `pulumi:"domain"` + // Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domain *string `pulumi:"domain"` + // Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domains []string `pulumi:"domains"` // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. ForwardType *string `pulumi:"forwardType"` // Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. @@ -326,8 +376,10 @@ type ListenerRuleArgs struct { CertificateSslMode pulumi.StringPtrInput // ID of CLB instance. ClbId pulumi.StringInput - // Domain name of the listener rule. - Domain pulumi.StringInput + // Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domain pulumi.StringPtrInput + // Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + Domains pulumi.StringArrayInput // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. ForwardType pulumi.StringPtrInput // Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. @@ -473,11 +525,16 @@ func (o ListenerRuleOutput) ClbId() pulumi.StringOutput { return o.ApplyT(func(v *ListenerRule) pulumi.StringOutput { return v.ClbId }).(pulumi.StringOutput) } -// Domain name of the listener rule. +// Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. func (o ListenerRuleOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v *ListenerRule) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) } +// Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. +func (o ListenerRuleOutput) Domains() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ListenerRule) pulumi.StringArrayOutput { return v.Domains }).(pulumi.StringArrayOutput) +} + // Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. func (o ListenerRuleOutput) ForwardType() pulumi.StringOutput { return o.ApplyT(func(v *ListenerRule) pulumi.StringOutput { return v.ForwardType }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/clb/pulumiTypes.go b/sdk/go/tencentcloud/clb/pulumiTypes.go index 00e23fc89..b79763850 100644 --- a/sdk/go/tencentcloud/clb/pulumiTypes.go +++ b/sdk/go/tencentcloud/clb/pulumiTypes.go @@ -6001,6 +6001,8 @@ type GetInstancesClbList struct { ClbName string `pulumi:"clbName"` // The virtual service address table of the CLB. ClbVips []string `pulumi:"clbVips"` + // ID of the cluster. + ClusterId string `pulumi:"clusterId"` // Create time of the CLB. CreateTime string `pulumi:"createTime"` // Max bandwidth out, only applicable to open CLB. Valid value ranges is [1, 2048]. Unit is MB. @@ -6061,6 +6063,8 @@ type GetInstancesClbListArgs struct { ClbName pulumi.StringInput `pulumi:"clbName"` // The virtual service address table of the CLB. ClbVips pulumi.StringArrayInput `pulumi:"clbVips"` + // ID of the cluster. + ClusterId pulumi.StringInput `pulumi:"clusterId"` // Create time of the CLB. CreateTime pulumi.StringInput `pulumi:"createTime"` // Max bandwidth out, only applicable to open CLB. Valid value ranges is [1, 2048]. Unit is MB. @@ -6172,6 +6176,11 @@ func (o GetInstancesClbListOutput) ClbVips() pulumi.StringArrayOutput { return o.ApplyT(func(v GetInstancesClbList) []string { return v.ClbVips }).(pulumi.StringArrayOutput) } +// ID of the cluster. +func (o GetInstancesClbListOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstancesClbList) string { return v.ClusterId }).(pulumi.StringOutput) +} + // Create time of the CLB. func (o GetInstancesClbListOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v GetInstancesClbList) string { return v.CreateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/cls/dataTransform.go b/sdk/go/tencentcloud/cls/dataTransform.go index 5553f2835..987597d43 100644 --- a/sdk/go/tencentcloud/cls/dataTransform.go +++ b/sdk/go/tencentcloud/cls/dataTransform.go @@ -12,7 +12,7 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provides a resource to create a cls dataTransform +// Provides a resource to create a CLS data transform // // ## Example Usage // @@ -47,7 +47,7 @@ import ( // Period: pulumi.Int(10), // StorageType: pulumi.String("hot"), // Tags: pulumi.Map{ -// "test": pulumi.Any("test"), +// "createdBy": pulumi.Any("terraform"), // }, // }) // if err != nil { @@ -71,13 +71,13 @@ import ( // Period: pulumi.Int(10), // StorageType: pulumi.String("hot"), // Tags: pulumi.Map{ -// "test": pulumi.Any("test"), +// "createdBy": pulumi.Any("terraform"), // }, // }) // if err != nil { // return err // } -// _, err = Cls.NewDataTransform(ctx, "dataTransform", &Cls.DataTransformArgs{ +// _, err = Cls.NewDataTransform(ctx, "example", &Cls.DataTransformArgs{ // FuncType: pulumi.Int(1), // SrcTopicId: topicSrc.ID(), // EtlContent: pulumi.String("ext_sep(\"content\", \"f1, f2, f3\", sep=\",\", quote=\"\", restrict=False, mode=\"overwrite\")fields_drop(\"content\")"), @@ -102,27 +102,27 @@ import ( // // ## Import // -// cls data_transform can be imported using the id, e.g. +// CLS data transform can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Cls/dataTransform:DataTransform data_transform data_transform_id +// $ pulumi import tencentcloud:Cls/dataTransform:DataTransform example 7b4bcb05-9154-4cdc-a479-f6b5743846e5 // ``` type DataTransform struct { pulumi.CustomResourceState - // data transform des resources. + // Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. DstResources DataTransformDstResourceArrayOutput `pulumi:"dstResources"` - // task enable flag. + // Task enable flag. `1`: enable, `2`: disable, Default is `1`. EnableFlag pulumi.IntPtrOutput `pulumi:"enableFlag"` - // data transform content. + // Data transform content. If `funcType` is `2`, must use `logAutoOutput`. EtlContent pulumi.StringOutput `pulumi:"etlContent"` - // task type. + // Task type. `1`: Specify the theme; `2`: Dynamic creation. FuncType pulumi.IntOutput `pulumi:"funcType"` - // task name. + // Task name. Name pulumi.StringOutput `pulumi:"name"` - // src topic id. + // Source topic ID. SrcTopicId pulumi.StringOutput `pulumi:"srcTopicId"` - // task type. + // Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. TaskType pulumi.IntOutput `pulumi:"taskType"` } @@ -168,36 +168,36 @@ func GetDataTransform(ctx *pulumi.Context, // Input properties used for looking up and filtering DataTransform resources. type dataTransformState struct { - // data transform des resources. + // Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. DstResources []DataTransformDstResource `pulumi:"dstResources"` - // task enable flag. + // Task enable flag. `1`: enable, `2`: disable, Default is `1`. EnableFlag *int `pulumi:"enableFlag"` - // data transform content. + // Data transform content. If `funcType` is `2`, must use `logAutoOutput`. EtlContent *string `pulumi:"etlContent"` - // task type. + // Task type. `1`: Specify the theme; `2`: Dynamic creation. FuncType *int `pulumi:"funcType"` - // task name. + // Task name. Name *string `pulumi:"name"` - // src topic id. + // Source topic ID. SrcTopicId *string `pulumi:"srcTopicId"` - // task type. + // Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. TaskType *int `pulumi:"taskType"` } type DataTransformState struct { - // data transform des resources. + // Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. DstResources DataTransformDstResourceArrayInput - // task enable flag. + // Task enable flag. `1`: enable, `2`: disable, Default is `1`. EnableFlag pulumi.IntPtrInput - // data transform content. + // Data transform content. If `funcType` is `2`, must use `logAutoOutput`. EtlContent pulumi.StringPtrInput - // task type. + // Task type. `1`: Specify the theme; `2`: Dynamic creation. FuncType pulumi.IntPtrInput - // task name. + // Task name. Name pulumi.StringPtrInput - // src topic id. + // Source topic ID. SrcTopicId pulumi.StringPtrInput - // task type. + // Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. TaskType pulumi.IntPtrInput } @@ -206,37 +206,37 @@ func (DataTransformState) ElementType() reflect.Type { } type dataTransformArgs struct { - // data transform des resources. + // Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. DstResources []DataTransformDstResource `pulumi:"dstResources"` - // task enable flag. + // Task enable flag. `1`: enable, `2`: disable, Default is `1`. EnableFlag *int `pulumi:"enableFlag"` - // data transform content. + // Data transform content. If `funcType` is `2`, must use `logAutoOutput`. EtlContent string `pulumi:"etlContent"` - // task type. + // Task type. `1`: Specify the theme; `2`: Dynamic creation. FuncType int `pulumi:"funcType"` - // task name. + // Task name. Name *string `pulumi:"name"` - // src topic id. + // Source topic ID. SrcTopicId string `pulumi:"srcTopicId"` - // task type. + // Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. TaskType int `pulumi:"taskType"` } // The set of arguments for constructing a DataTransform resource. type DataTransformArgs struct { - // data transform des resources. + // Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. DstResources DataTransformDstResourceArrayInput - // task enable flag. + // Task enable flag. `1`: enable, `2`: disable, Default is `1`. EnableFlag pulumi.IntPtrInput - // data transform content. + // Data transform content. If `funcType` is `2`, must use `logAutoOutput`. EtlContent pulumi.StringInput - // task type. + // Task type. `1`: Specify the theme; `2`: Dynamic creation. FuncType pulumi.IntInput - // task name. + // Task name. Name pulumi.StringPtrInput - // src topic id. + // Source topic ID. SrcTopicId pulumi.StringInput - // task type. + // Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. TaskType pulumi.IntInput } @@ -327,37 +327,37 @@ func (o DataTransformOutput) ToDataTransformOutputWithContext(ctx context.Contex return o } -// data transform des resources. +// Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. func (o DataTransformOutput) DstResources() DataTransformDstResourceArrayOutput { return o.ApplyT(func(v *DataTransform) DataTransformDstResourceArrayOutput { return v.DstResources }).(DataTransformDstResourceArrayOutput) } -// task enable flag. +// Task enable flag. `1`: enable, `2`: disable, Default is `1`. func (o DataTransformOutput) EnableFlag() pulumi.IntPtrOutput { return o.ApplyT(func(v *DataTransform) pulumi.IntPtrOutput { return v.EnableFlag }).(pulumi.IntPtrOutput) } -// data transform content. +// Data transform content. If `funcType` is `2`, must use `logAutoOutput`. func (o DataTransformOutput) EtlContent() pulumi.StringOutput { return o.ApplyT(func(v *DataTransform) pulumi.StringOutput { return v.EtlContent }).(pulumi.StringOutput) } -// task type. +// Task type. `1`: Specify the theme; `2`: Dynamic creation. func (o DataTransformOutput) FuncType() pulumi.IntOutput { return o.ApplyT(func(v *DataTransform) pulumi.IntOutput { return v.FuncType }).(pulumi.IntOutput) } -// task name. +// Task name. func (o DataTransformOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *DataTransform) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// src topic id. +// Source topic ID. func (o DataTransformOutput) SrcTopicId() pulumi.StringOutput { return o.ApplyT(func(v *DataTransform) pulumi.StringOutput { return v.SrcTopicId }).(pulumi.StringOutput) } -// task type. +// Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. func (o DataTransformOutput) TaskType() pulumi.IntOutput { return o.ApplyT(func(v *DataTransform) pulumi.IntOutput { return v.TaskType }).(pulumi.IntOutput) } diff --git a/sdk/go/tencentcloud/cls/getLogsets.go b/sdk/go/tencentcloud/cls/getLogsets.go new file mode 100644 index 000000000..3879c9288 --- /dev/null +++ b/sdk/go/tencentcloud/cls/getLogsets.go @@ -0,0 +1,166 @@ +// 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 cls + +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 cls logsets +// +// ## Example Usage +// +// ### Query all cls logsets +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cls.GetLogsets(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query by filters +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Cls.GetLogsets(ctx, &cls.GetLogsetsArgs{ +// Filters: []cls.GetLogsetsFilter{ +// { +// Key: "tag:createdBy", +// Values: []string{ +// "terraform", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetLogsets(ctx *pulumi.Context, args *GetLogsetsArgs, opts ...pulumi.InvokeOption) (*GetLogsetsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetLogsetsResult + err := ctx.Invoke("tencentcloud:Cls/getLogsets:getLogsets", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getLogsets. +type GetLogsetsArgs struct { + // Query by filter. + Filters []GetLogsetsFilter `pulumi:"filters"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getLogsets. +type GetLogsetsResult struct { + Filters []GetLogsetsFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // logset lists. + Logsets []GetLogsetsLogset `pulumi:"logsets"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetLogsetsOutput(ctx *pulumi.Context, args GetLogsetsOutputArgs, opts ...pulumi.InvokeOption) GetLogsetsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetLogsetsResult, error) { + args := v.(GetLogsetsArgs) + r, err := GetLogsets(ctx, &args, opts...) + var s GetLogsetsResult + if r != nil { + s = *r + } + return s, err + }).(GetLogsetsResultOutput) +} + +// A collection of arguments for invoking getLogsets. +type GetLogsetsOutputArgs struct { + // Query by filter. + Filters GetLogsetsFilterArrayInput `pulumi:"filters"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetLogsetsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsArgs)(nil)).Elem() +} + +// A collection of values returned by getLogsets. +type GetLogsetsResultOutput struct{ *pulumi.OutputState } + +func (GetLogsetsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsResult)(nil)).Elem() +} + +func (o GetLogsetsResultOutput) ToGetLogsetsResultOutput() GetLogsetsResultOutput { + return o +} + +func (o GetLogsetsResultOutput) ToGetLogsetsResultOutputWithContext(ctx context.Context) GetLogsetsResultOutput { + return o +} + +func (o GetLogsetsResultOutput) Filters() GetLogsetsFilterArrayOutput { + return o.ApplyT(func(v GetLogsetsResult) []GetLogsetsFilter { return v.Filters }).(GetLogsetsFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetLogsetsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// logset lists. +func (o GetLogsetsResultOutput) Logsets() GetLogsetsLogsetArrayOutput { + return o.ApplyT(func(v GetLogsetsResult) []GetLogsetsLogset { return v.Logsets }).(GetLogsetsLogsetArrayOutput) +} + +func (o GetLogsetsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetLogsetsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetLogsetsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/cls/pulumiTypes.go b/sdk/go/tencentcloud/cls/pulumiTypes.go index 96c0108b1..5d55ff04c 100644 --- a/sdk/go/tencentcloud/cls/pulumiTypes.go +++ b/sdk/go/tencentcloud/cls/pulumiTypes.go @@ -5184,9 +5184,9 @@ func (o CosShipperFilterRuleArrayOutput) Index(i pulumi.IntInput) CosShipperFilt } type DataTransformDstResource struct { - // alias. + // Alias. Alias string `pulumi:"alias"` - // dst topic id. + // Dst topic ID. TopicId string `pulumi:"topicId"` } @@ -5202,9 +5202,9 @@ type DataTransformDstResourceInput interface { } type DataTransformDstResourceArgs struct { - // alias. + // Alias. Alias pulumi.StringInput `pulumi:"alias"` - // dst topic id. + // Dst topic ID. TopicId pulumi.StringInput `pulumi:"topicId"` } @@ -5259,12 +5259,12 @@ func (o DataTransformDstResourceOutput) ToDataTransformDstResourceOutputWithCont return o } -// alias. +// Alias. func (o DataTransformDstResourceOutput) Alias() pulumi.StringOutput { return o.ApplyT(func(v DataTransformDstResource) string { return v.Alias }).(pulumi.StringOutput) } -// dst topic id. +// Dst topic ID. func (o DataTransformDstResourceOutput) TopicId() pulumi.StringOutput { return o.ApplyT(func(v DataTransformDstResource) string { return v.TopicId }).(pulumi.StringOutput) } @@ -7635,6 +7635,777 @@ func (o ScheduledSqlDstResourcePtrOutput) TopicId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type TopicExtends struct { + // Log topic authentication free configuration information. + AnonymousAccess *TopicExtendsAnonymousAccess `pulumi:"anonymousAccess"` +} + +// TopicExtendsInput is an input type that accepts TopicExtendsArgs and TopicExtendsOutput values. +// You can construct a concrete instance of `TopicExtendsInput` via: +// +// TopicExtendsArgs{...} +type TopicExtendsInput interface { + pulumi.Input + + ToTopicExtendsOutput() TopicExtendsOutput + ToTopicExtendsOutputWithContext(context.Context) TopicExtendsOutput +} + +type TopicExtendsArgs struct { + // Log topic authentication free configuration information. + AnonymousAccess TopicExtendsAnonymousAccessPtrInput `pulumi:"anonymousAccess"` +} + +func (TopicExtendsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TopicExtends)(nil)).Elem() +} + +func (i TopicExtendsArgs) ToTopicExtendsOutput() TopicExtendsOutput { + return i.ToTopicExtendsOutputWithContext(context.Background()) +} + +func (i TopicExtendsArgs) ToTopicExtendsOutputWithContext(ctx context.Context) TopicExtendsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsOutput) +} + +func (i TopicExtendsArgs) ToTopicExtendsPtrOutput() TopicExtendsPtrOutput { + return i.ToTopicExtendsPtrOutputWithContext(context.Background()) +} + +func (i TopicExtendsArgs) ToTopicExtendsPtrOutputWithContext(ctx context.Context) TopicExtendsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsOutput).ToTopicExtendsPtrOutputWithContext(ctx) +} + +// TopicExtendsPtrInput is an input type that accepts TopicExtendsArgs, TopicExtendsPtr and TopicExtendsPtrOutput values. +// You can construct a concrete instance of `TopicExtendsPtrInput` via: +// +// TopicExtendsArgs{...} +// +// or: +// +// nil +type TopicExtendsPtrInput interface { + pulumi.Input + + ToTopicExtendsPtrOutput() TopicExtendsPtrOutput + ToTopicExtendsPtrOutputWithContext(context.Context) TopicExtendsPtrOutput +} + +type topicExtendsPtrType TopicExtendsArgs + +func TopicExtendsPtr(v *TopicExtendsArgs) TopicExtendsPtrInput { + return (*topicExtendsPtrType)(v) +} + +func (*topicExtendsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TopicExtends)(nil)).Elem() +} + +func (i *topicExtendsPtrType) ToTopicExtendsPtrOutput() TopicExtendsPtrOutput { + return i.ToTopicExtendsPtrOutputWithContext(context.Background()) +} + +func (i *topicExtendsPtrType) ToTopicExtendsPtrOutputWithContext(ctx context.Context) TopicExtendsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsPtrOutput) +} + +type TopicExtendsOutput struct{ *pulumi.OutputState } + +func (TopicExtendsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TopicExtends)(nil)).Elem() +} + +func (o TopicExtendsOutput) ToTopicExtendsOutput() TopicExtendsOutput { + return o +} + +func (o TopicExtendsOutput) ToTopicExtendsOutputWithContext(ctx context.Context) TopicExtendsOutput { + return o +} + +func (o TopicExtendsOutput) ToTopicExtendsPtrOutput() TopicExtendsPtrOutput { + return o.ToTopicExtendsPtrOutputWithContext(context.Background()) +} + +func (o TopicExtendsOutput) ToTopicExtendsPtrOutputWithContext(ctx context.Context) TopicExtendsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TopicExtends) *TopicExtends { + return &v + }).(TopicExtendsPtrOutput) +} + +// Log topic authentication free configuration information. +func (o TopicExtendsOutput) AnonymousAccess() TopicExtendsAnonymousAccessPtrOutput { + return o.ApplyT(func(v TopicExtends) *TopicExtendsAnonymousAccess { return v.AnonymousAccess }).(TopicExtendsAnonymousAccessPtrOutput) +} + +type TopicExtendsPtrOutput struct{ *pulumi.OutputState } + +func (TopicExtendsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TopicExtends)(nil)).Elem() +} + +func (o TopicExtendsPtrOutput) ToTopicExtendsPtrOutput() TopicExtendsPtrOutput { + return o +} + +func (o TopicExtendsPtrOutput) ToTopicExtendsPtrOutputWithContext(ctx context.Context) TopicExtendsPtrOutput { + return o +} + +func (o TopicExtendsPtrOutput) Elem() TopicExtendsOutput { + return o.ApplyT(func(v *TopicExtends) TopicExtends { + if v != nil { + return *v + } + var ret TopicExtends + return ret + }).(TopicExtendsOutput) +} + +// Log topic authentication free configuration information. +func (o TopicExtendsPtrOutput) AnonymousAccess() TopicExtendsAnonymousAccessPtrOutput { + return o.ApplyT(func(v *TopicExtends) *TopicExtendsAnonymousAccess { + if v == nil { + return nil + } + return v.AnonymousAccess + }).(TopicExtendsAnonymousAccessPtrOutput) +} + +type TopicExtendsAnonymousAccess struct { + // Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + Conditions []TopicExtendsAnonymousAccessCondition `pulumi:"conditions"` + // Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + Operations []string `pulumi:"operations"` +} + +// TopicExtendsAnonymousAccessInput is an input type that accepts TopicExtendsAnonymousAccessArgs and TopicExtendsAnonymousAccessOutput values. +// You can construct a concrete instance of `TopicExtendsAnonymousAccessInput` via: +// +// TopicExtendsAnonymousAccessArgs{...} +type TopicExtendsAnonymousAccessInput interface { + pulumi.Input + + ToTopicExtendsAnonymousAccessOutput() TopicExtendsAnonymousAccessOutput + ToTopicExtendsAnonymousAccessOutputWithContext(context.Context) TopicExtendsAnonymousAccessOutput +} + +type TopicExtendsAnonymousAccessArgs struct { + // Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + Conditions TopicExtendsAnonymousAccessConditionArrayInput `pulumi:"conditions"` + // Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + Operations pulumi.StringArrayInput `pulumi:"operations"` +} + +func (TopicExtendsAnonymousAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TopicExtendsAnonymousAccess)(nil)).Elem() +} + +func (i TopicExtendsAnonymousAccessArgs) ToTopicExtendsAnonymousAccessOutput() TopicExtendsAnonymousAccessOutput { + return i.ToTopicExtendsAnonymousAccessOutputWithContext(context.Background()) +} + +func (i TopicExtendsAnonymousAccessArgs) ToTopicExtendsAnonymousAccessOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsAnonymousAccessOutput) +} + +func (i TopicExtendsAnonymousAccessArgs) ToTopicExtendsAnonymousAccessPtrOutput() TopicExtendsAnonymousAccessPtrOutput { + return i.ToTopicExtendsAnonymousAccessPtrOutputWithContext(context.Background()) +} + +func (i TopicExtendsAnonymousAccessArgs) ToTopicExtendsAnonymousAccessPtrOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsAnonymousAccessOutput).ToTopicExtendsAnonymousAccessPtrOutputWithContext(ctx) +} + +// TopicExtendsAnonymousAccessPtrInput is an input type that accepts TopicExtendsAnonymousAccessArgs, TopicExtendsAnonymousAccessPtr and TopicExtendsAnonymousAccessPtrOutput values. +// You can construct a concrete instance of `TopicExtendsAnonymousAccessPtrInput` via: +// +// TopicExtendsAnonymousAccessArgs{...} +// +// or: +// +// nil +type TopicExtendsAnonymousAccessPtrInput interface { + pulumi.Input + + ToTopicExtendsAnonymousAccessPtrOutput() TopicExtendsAnonymousAccessPtrOutput + ToTopicExtendsAnonymousAccessPtrOutputWithContext(context.Context) TopicExtendsAnonymousAccessPtrOutput +} + +type topicExtendsAnonymousAccessPtrType TopicExtendsAnonymousAccessArgs + +func TopicExtendsAnonymousAccessPtr(v *TopicExtendsAnonymousAccessArgs) TopicExtendsAnonymousAccessPtrInput { + return (*topicExtendsAnonymousAccessPtrType)(v) +} + +func (*topicExtendsAnonymousAccessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TopicExtendsAnonymousAccess)(nil)).Elem() +} + +func (i *topicExtendsAnonymousAccessPtrType) ToTopicExtendsAnonymousAccessPtrOutput() TopicExtendsAnonymousAccessPtrOutput { + return i.ToTopicExtendsAnonymousAccessPtrOutputWithContext(context.Background()) +} + +func (i *topicExtendsAnonymousAccessPtrType) ToTopicExtendsAnonymousAccessPtrOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsAnonymousAccessPtrOutput) +} + +type TopicExtendsAnonymousAccessOutput struct{ *pulumi.OutputState } + +func (TopicExtendsAnonymousAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TopicExtendsAnonymousAccess)(nil)).Elem() +} + +func (o TopicExtendsAnonymousAccessOutput) ToTopicExtendsAnonymousAccessOutput() TopicExtendsAnonymousAccessOutput { + return o +} + +func (o TopicExtendsAnonymousAccessOutput) ToTopicExtendsAnonymousAccessOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessOutput { + return o +} + +func (o TopicExtendsAnonymousAccessOutput) ToTopicExtendsAnonymousAccessPtrOutput() TopicExtendsAnonymousAccessPtrOutput { + return o.ToTopicExtendsAnonymousAccessPtrOutputWithContext(context.Background()) +} + +func (o TopicExtendsAnonymousAccessOutput) ToTopicExtendsAnonymousAccessPtrOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TopicExtendsAnonymousAccess) *TopicExtendsAnonymousAccess { + return &v + }).(TopicExtendsAnonymousAccessPtrOutput) +} + +// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). +func (o TopicExtendsAnonymousAccessOutput) Conditions() TopicExtendsAnonymousAccessConditionArrayOutput { + return o.ApplyT(func(v TopicExtendsAnonymousAccess) []TopicExtendsAnonymousAccessCondition { return v.Conditions }).(TopicExtendsAnonymousAccessConditionArrayOutput) +} + +// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). +func (o TopicExtendsAnonymousAccessOutput) Operations() pulumi.StringArrayOutput { + return o.ApplyT(func(v TopicExtendsAnonymousAccess) []string { return v.Operations }).(pulumi.StringArrayOutput) +} + +type TopicExtendsAnonymousAccessPtrOutput struct{ *pulumi.OutputState } + +func (TopicExtendsAnonymousAccessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TopicExtendsAnonymousAccess)(nil)).Elem() +} + +func (o TopicExtendsAnonymousAccessPtrOutput) ToTopicExtendsAnonymousAccessPtrOutput() TopicExtendsAnonymousAccessPtrOutput { + return o +} + +func (o TopicExtendsAnonymousAccessPtrOutput) ToTopicExtendsAnonymousAccessPtrOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessPtrOutput { + return o +} + +func (o TopicExtendsAnonymousAccessPtrOutput) Elem() TopicExtendsAnonymousAccessOutput { + return o.ApplyT(func(v *TopicExtendsAnonymousAccess) TopicExtendsAnonymousAccess { + if v != nil { + return *v + } + var ret TopicExtendsAnonymousAccess + return ret + }).(TopicExtendsAnonymousAccessOutput) +} + +// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). +func (o TopicExtendsAnonymousAccessPtrOutput) Conditions() TopicExtendsAnonymousAccessConditionArrayOutput { + return o.ApplyT(func(v *TopicExtendsAnonymousAccess) []TopicExtendsAnonymousAccessCondition { + if v == nil { + return nil + } + return v.Conditions + }).(TopicExtendsAnonymousAccessConditionArrayOutput) +} + +// Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). +func (o TopicExtendsAnonymousAccessPtrOutput) Operations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *TopicExtendsAnonymousAccess) []string { + if v == nil { + return nil + } + return v.Operations + }).(pulumi.StringArrayOutput) +} + +type TopicExtendsAnonymousAccessCondition struct { + // Condition attribute, currently only VpcID is supported. + Attributes *string `pulumi:"attributes"` + // The value of the corresponding conditional attribute. + ConditionValue *string `pulumi:"conditionValue"` + // Conditional rule, 1: equal, 2: not equal. + Rule *int `pulumi:"rule"` +} + +// TopicExtendsAnonymousAccessConditionInput is an input type that accepts TopicExtendsAnonymousAccessConditionArgs and TopicExtendsAnonymousAccessConditionOutput values. +// You can construct a concrete instance of `TopicExtendsAnonymousAccessConditionInput` via: +// +// TopicExtendsAnonymousAccessConditionArgs{...} +type TopicExtendsAnonymousAccessConditionInput interface { + pulumi.Input + + ToTopicExtendsAnonymousAccessConditionOutput() TopicExtendsAnonymousAccessConditionOutput + ToTopicExtendsAnonymousAccessConditionOutputWithContext(context.Context) TopicExtendsAnonymousAccessConditionOutput +} + +type TopicExtendsAnonymousAccessConditionArgs struct { + // Condition attribute, currently only VpcID is supported. + Attributes pulumi.StringPtrInput `pulumi:"attributes"` + // The value of the corresponding conditional attribute. + ConditionValue pulumi.StringPtrInput `pulumi:"conditionValue"` + // Conditional rule, 1: equal, 2: not equal. + Rule pulumi.IntPtrInput `pulumi:"rule"` +} + +func (TopicExtendsAnonymousAccessConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TopicExtendsAnonymousAccessCondition)(nil)).Elem() +} + +func (i TopicExtendsAnonymousAccessConditionArgs) ToTopicExtendsAnonymousAccessConditionOutput() TopicExtendsAnonymousAccessConditionOutput { + return i.ToTopicExtendsAnonymousAccessConditionOutputWithContext(context.Background()) +} + +func (i TopicExtendsAnonymousAccessConditionArgs) ToTopicExtendsAnonymousAccessConditionOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsAnonymousAccessConditionOutput) +} + +// TopicExtendsAnonymousAccessConditionArrayInput is an input type that accepts TopicExtendsAnonymousAccessConditionArray and TopicExtendsAnonymousAccessConditionArrayOutput values. +// You can construct a concrete instance of `TopicExtendsAnonymousAccessConditionArrayInput` via: +// +// TopicExtendsAnonymousAccessConditionArray{ TopicExtendsAnonymousAccessConditionArgs{...} } +type TopicExtendsAnonymousAccessConditionArrayInput interface { + pulumi.Input + + ToTopicExtendsAnonymousAccessConditionArrayOutput() TopicExtendsAnonymousAccessConditionArrayOutput + ToTopicExtendsAnonymousAccessConditionArrayOutputWithContext(context.Context) TopicExtendsAnonymousAccessConditionArrayOutput +} + +type TopicExtendsAnonymousAccessConditionArray []TopicExtendsAnonymousAccessConditionInput + +func (TopicExtendsAnonymousAccessConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TopicExtendsAnonymousAccessCondition)(nil)).Elem() +} + +func (i TopicExtendsAnonymousAccessConditionArray) ToTopicExtendsAnonymousAccessConditionArrayOutput() TopicExtendsAnonymousAccessConditionArrayOutput { + return i.ToTopicExtendsAnonymousAccessConditionArrayOutputWithContext(context.Background()) +} + +func (i TopicExtendsAnonymousAccessConditionArray) ToTopicExtendsAnonymousAccessConditionArrayOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TopicExtendsAnonymousAccessConditionArrayOutput) +} + +type TopicExtendsAnonymousAccessConditionOutput struct{ *pulumi.OutputState } + +func (TopicExtendsAnonymousAccessConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TopicExtendsAnonymousAccessCondition)(nil)).Elem() +} + +func (o TopicExtendsAnonymousAccessConditionOutput) ToTopicExtendsAnonymousAccessConditionOutput() TopicExtendsAnonymousAccessConditionOutput { + return o +} + +func (o TopicExtendsAnonymousAccessConditionOutput) ToTopicExtendsAnonymousAccessConditionOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessConditionOutput { + return o +} + +// Condition attribute, currently only VpcID is supported. +func (o TopicExtendsAnonymousAccessConditionOutput) Attributes() pulumi.StringPtrOutput { + return o.ApplyT(func(v TopicExtendsAnonymousAccessCondition) *string { return v.Attributes }).(pulumi.StringPtrOutput) +} + +// The value of the corresponding conditional attribute. +func (o TopicExtendsAnonymousAccessConditionOutput) ConditionValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v TopicExtendsAnonymousAccessCondition) *string { return v.ConditionValue }).(pulumi.StringPtrOutput) +} + +// Conditional rule, 1: equal, 2: not equal. +func (o TopicExtendsAnonymousAccessConditionOutput) Rule() pulumi.IntPtrOutput { + return o.ApplyT(func(v TopicExtendsAnonymousAccessCondition) *int { return v.Rule }).(pulumi.IntPtrOutput) +} + +type TopicExtendsAnonymousAccessConditionArrayOutput struct{ *pulumi.OutputState } + +func (TopicExtendsAnonymousAccessConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TopicExtendsAnonymousAccessCondition)(nil)).Elem() +} + +func (o TopicExtendsAnonymousAccessConditionArrayOutput) ToTopicExtendsAnonymousAccessConditionArrayOutput() TopicExtendsAnonymousAccessConditionArrayOutput { + return o +} + +func (o TopicExtendsAnonymousAccessConditionArrayOutput) ToTopicExtendsAnonymousAccessConditionArrayOutputWithContext(ctx context.Context) TopicExtendsAnonymousAccessConditionArrayOutput { + return o +} + +func (o TopicExtendsAnonymousAccessConditionArrayOutput) Index(i pulumi.IntInput) TopicExtendsAnonymousAccessConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TopicExtendsAnonymousAccessCondition { + return vs[0].([]TopicExtendsAnonymousAccessCondition)[vs[1].(int)] + }).(TopicExtendsAnonymousAccessConditionOutput) +} + +type GetLogsetsFilter struct { + // Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + Key string `pulumi:"key"` + // The values that need to be filtered. + Values []string `pulumi:"values"` +} + +// GetLogsetsFilterInput is an input type that accepts GetLogsetsFilterArgs and GetLogsetsFilterOutput values. +// You can construct a concrete instance of `GetLogsetsFilterInput` via: +// +// GetLogsetsFilterArgs{...} +type GetLogsetsFilterInput interface { + pulumi.Input + + ToGetLogsetsFilterOutput() GetLogsetsFilterOutput + ToGetLogsetsFilterOutputWithContext(context.Context) GetLogsetsFilterOutput +} + +type GetLogsetsFilterArgs struct { + // Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + Key pulumi.StringInput `pulumi:"key"` + // The values that need to be filtered. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetLogsetsFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsFilter)(nil)).Elem() +} + +func (i GetLogsetsFilterArgs) ToGetLogsetsFilterOutput() GetLogsetsFilterOutput { + return i.ToGetLogsetsFilterOutputWithContext(context.Background()) +} + +func (i GetLogsetsFilterArgs) ToGetLogsetsFilterOutputWithContext(ctx context.Context) GetLogsetsFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogsetsFilterOutput) +} + +// GetLogsetsFilterArrayInput is an input type that accepts GetLogsetsFilterArray and GetLogsetsFilterArrayOutput values. +// You can construct a concrete instance of `GetLogsetsFilterArrayInput` via: +// +// GetLogsetsFilterArray{ GetLogsetsFilterArgs{...} } +type GetLogsetsFilterArrayInput interface { + pulumi.Input + + ToGetLogsetsFilterArrayOutput() GetLogsetsFilterArrayOutput + ToGetLogsetsFilterArrayOutputWithContext(context.Context) GetLogsetsFilterArrayOutput +} + +type GetLogsetsFilterArray []GetLogsetsFilterInput + +func (GetLogsetsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLogsetsFilter)(nil)).Elem() +} + +func (i GetLogsetsFilterArray) ToGetLogsetsFilterArrayOutput() GetLogsetsFilterArrayOutput { + return i.ToGetLogsetsFilterArrayOutputWithContext(context.Background()) +} + +func (i GetLogsetsFilterArray) ToGetLogsetsFilterArrayOutputWithContext(ctx context.Context) GetLogsetsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogsetsFilterArrayOutput) +} + +type GetLogsetsFilterOutput struct{ *pulumi.OutputState } + +func (GetLogsetsFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsFilter)(nil)).Elem() +} + +func (o GetLogsetsFilterOutput) ToGetLogsetsFilterOutput() GetLogsetsFilterOutput { + return o +} + +func (o GetLogsetsFilterOutput) ToGetLogsetsFilterOutputWithContext(ctx context.Context) GetLogsetsFilterOutput { + return o +} + +// Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. +func (o GetLogsetsFilterOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsFilter) string { return v.Key }).(pulumi.StringOutput) +} + +// The values that need to be filtered. +func (o GetLogsetsFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLogsetsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetLogsetsFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetLogsetsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLogsetsFilter)(nil)).Elem() +} + +func (o GetLogsetsFilterArrayOutput) ToGetLogsetsFilterArrayOutput() GetLogsetsFilterArrayOutput { + return o +} + +func (o GetLogsetsFilterArrayOutput) ToGetLogsetsFilterArrayOutputWithContext(ctx context.Context) GetLogsetsFilterArrayOutput { + return o +} + +func (o GetLogsetsFilterArrayOutput) Index(i pulumi.IntInput) GetLogsetsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLogsetsFilter { + return vs[0].([]GetLogsetsFilter)[vs[1].(int)] + }).(GetLogsetsFilterOutput) +} + +type GetLogsetsLogset struct { + // Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE. + AssumerName string `pulumi:"assumerName"` + // Create time. + CreateTime string `pulumi:"createTime"` + // Logset Id. + LogsetId string `pulumi:"logsetId"` + // Logset name. + LogsetName string `pulumi:"logsetName"` + // If `assumerName` is not empty, it indicates the service role that created the log set. + RoleName string `pulumi:"roleName"` + // Tags. + Tags []GetLogsetsLogsetTag `pulumi:"tags"` + // Topic count. + TopicCount int `pulumi:"topicCount"` +} + +// GetLogsetsLogsetInput is an input type that accepts GetLogsetsLogsetArgs and GetLogsetsLogsetOutput values. +// You can construct a concrete instance of `GetLogsetsLogsetInput` via: +// +// GetLogsetsLogsetArgs{...} +type GetLogsetsLogsetInput interface { + pulumi.Input + + ToGetLogsetsLogsetOutput() GetLogsetsLogsetOutput + ToGetLogsetsLogsetOutputWithContext(context.Context) GetLogsetsLogsetOutput +} + +type GetLogsetsLogsetArgs struct { + // Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE. + AssumerName pulumi.StringInput `pulumi:"assumerName"` + // Create time. + CreateTime pulumi.StringInput `pulumi:"createTime"` + // Logset Id. + LogsetId pulumi.StringInput `pulumi:"logsetId"` + // Logset name. + LogsetName pulumi.StringInput `pulumi:"logsetName"` + // If `assumerName` is not empty, it indicates the service role that created the log set. + RoleName pulumi.StringInput `pulumi:"roleName"` + // Tags. + Tags GetLogsetsLogsetTagArrayInput `pulumi:"tags"` + // Topic count. + TopicCount pulumi.IntInput `pulumi:"topicCount"` +} + +func (GetLogsetsLogsetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsLogset)(nil)).Elem() +} + +func (i GetLogsetsLogsetArgs) ToGetLogsetsLogsetOutput() GetLogsetsLogsetOutput { + return i.ToGetLogsetsLogsetOutputWithContext(context.Background()) +} + +func (i GetLogsetsLogsetArgs) ToGetLogsetsLogsetOutputWithContext(ctx context.Context) GetLogsetsLogsetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogsetsLogsetOutput) +} + +// GetLogsetsLogsetArrayInput is an input type that accepts GetLogsetsLogsetArray and GetLogsetsLogsetArrayOutput values. +// You can construct a concrete instance of `GetLogsetsLogsetArrayInput` via: +// +// GetLogsetsLogsetArray{ GetLogsetsLogsetArgs{...} } +type GetLogsetsLogsetArrayInput interface { + pulumi.Input + + ToGetLogsetsLogsetArrayOutput() GetLogsetsLogsetArrayOutput + ToGetLogsetsLogsetArrayOutputWithContext(context.Context) GetLogsetsLogsetArrayOutput +} + +type GetLogsetsLogsetArray []GetLogsetsLogsetInput + +func (GetLogsetsLogsetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLogsetsLogset)(nil)).Elem() +} + +func (i GetLogsetsLogsetArray) ToGetLogsetsLogsetArrayOutput() GetLogsetsLogsetArrayOutput { + return i.ToGetLogsetsLogsetArrayOutputWithContext(context.Background()) +} + +func (i GetLogsetsLogsetArray) ToGetLogsetsLogsetArrayOutputWithContext(ctx context.Context) GetLogsetsLogsetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogsetsLogsetArrayOutput) +} + +type GetLogsetsLogsetOutput struct{ *pulumi.OutputState } + +func (GetLogsetsLogsetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsLogset)(nil)).Elem() +} + +func (o GetLogsetsLogsetOutput) ToGetLogsetsLogsetOutput() GetLogsetsLogsetOutput { + return o +} + +func (o GetLogsetsLogsetOutput) ToGetLogsetsLogsetOutputWithContext(ctx context.Context) GetLogsetsLogsetOutput { + return o +} + +// Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE. +func (o GetLogsetsLogsetOutput) AssumerName() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsLogset) string { return v.AssumerName }).(pulumi.StringOutput) +} + +// Create time. +func (o GetLogsetsLogsetOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsLogset) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// Logset Id. +func (o GetLogsetsLogsetOutput) LogsetId() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsLogset) string { return v.LogsetId }).(pulumi.StringOutput) +} + +// Logset name. +func (o GetLogsetsLogsetOutput) LogsetName() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsLogset) string { return v.LogsetName }).(pulumi.StringOutput) +} + +// If `assumerName` is not empty, it indicates the service role that created the log set. +func (o GetLogsetsLogsetOutput) RoleName() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsLogset) string { return v.RoleName }).(pulumi.StringOutput) +} + +// Tags. +func (o GetLogsetsLogsetOutput) Tags() GetLogsetsLogsetTagArrayOutput { + return o.ApplyT(func(v GetLogsetsLogset) []GetLogsetsLogsetTag { return v.Tags }).(GetLogsetsLogsetTagArrayOutput) +} + +// Topic count. +func (o GetLogsetsLogsetOutput) TopicCount() pulumi.IntOutput { + return o.ApplyT(func(v GetLogsetsLogset) int { return v.TopicCount }).(pulumi.IntOutput) +} + +type GetLogsetsLogsetArrayOutput struct{ *pulumi.OutputState } + +func (GetLogsetsLogsetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLogsetsLogset)(nil)).Elem() +} + +func (o GetLogsetsLogsetArrayOutput) ToGetLogsetsLogsetArrayOutput() GetLogsetsLogsetArrayOutput { + return o +} + +func (o GetLogsetsLogsetArrayOutput) ToGetLogsetsLogsetArrayOutputWithContext(ctx context.Context) GetLogsetsLogsetArrayOutput { + return o +} + +func (o GetLogsetsLogsetArrayOutput) Index(i pulumi.IntInput) GetLogsetsLogsetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLogsetsLogset { + return vs[0].([]GetLogsetsLogset)[vs[1].(int)] + }).(GetLogsetsLogsetOutput) +} + +type GetLogsetsLogsetTag struct { + // Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + Key string `pulumi:"key"` + // Tag value. + Value string `pulumi:"value"` +} + +// GetLogsetsLogsetTagInput is an input type that accepts GetLogsetsLogsetTagArgs and GetLogsetsLogsetTagOutput values. +// You can construct a concrete instance of `GetLogsetsLogsetTagInput` via: +// +// GetLogsetsLogsetTagArgs{...} +type GetLogsetsLogsetTagInput interface { + pulumi.Input + + ToGetLogsetsLogsetTagOutput() GetLogsetsLogsetTagOutput + ToGetLogsetsLogsetTagOutputWithContext(context.Context) GetLogsetsLogsetTagOutput +} + +type GetLogsetsLogsetTagArgs struct { + // Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + Key pulumi.StringInput `pulumi:"key"` + // Tag value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetLogsetsLogsetTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsLogsetTag)(nil)).Elem() +} + +func (i GetLogsetsLogsetTagArgs) ToGetLogsetsLogsetTagOutput() GetLogsetsLogsetTagOutput { + return i.ToGetLogsetsLogsetTagOutputWithContext(context.Background()) +} + +func (i GetLogsetsLogsetTagArgs) ToGetLogsetsLogsetTagOutputWithContext(ctx context.Context) GetLogsetsLogsetTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogsetsLogsetTagOutput) +} + +// GetLogsetsLogsetTagArrayInput is an input type that accepts GetLogsetsLogsetTagArray and GetLogsetsLogsetTagArrayOutput values. +// You can construct a concrete instance of `GetLogsetsLogsetTagArrayInput` via: +// +// GetLogsetsLogsetTagArray{ GetLogsetsLogsetTagArgs{...} } +type GetLogsetsLogsetTagArrayInput interface { + pulumi.Input + + ToGetLogsetsLogsetTagArrayOutput() GetLogsetsLogsetTagArrayOutput + ToGetLogsetsLogsetTagArrayOutputWithContext(context.Context) GetLogsetsLogsetTagArrayOutput +} + +type GetLogsetsLogsetTagArray []GetLogsetsLogsetTagInput + +func (GetLogsetsLogsetTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLogsetsLogsetTag)(nil)).Elem() +} + +func (i GetLogsetsLogsetTagArray) ToGetLogsetsLogsetTagArrayOutput() GetLogsetsLogsetTagArrayOutput { + return i.ToGetLogsetsLogsetTagArrayOutputWithContext(context.Background()) +} + +func (i GetLogsetsLogsetTagArray) ToGetLogsetsLogsetTagArrayOutputWithContext(ctx context.Context) GetLogsetsLogsetTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogsetsLogsetTagArrayOutput) +} + +type GetLogsetsLogsetTagOutput struct{ *pulumi.OutputState } + +func (GetLogsetsLogsetTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogsetsLogsetTag)(nil)).Elem() +} + +func (o GetLogsetsLogsetTagOutput) ToGetLogsetsLogsetTagOutput() GetLogsetsLogsetTagOutput { + return o +} + +func (o GetLogsetsLogsetTagOutput) ToGetLogsetsLogsetTagOutputWithContext(ctx context.Context) GetLogsetsLogsetTagOutput { + return o +} + +// Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. +func (o GetLogsetsLogsetTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsLogsetTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Tag value. +func (o GetLogsetsLogsetTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetLogsetsLogsetTag) string { return v.Value }).(pulumi.StringOutput) +} + +type GetLogsetsLogsetTagArrayOutput struct{ *pulumi.OutputState } + +func (GetLogsetsLogsetTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLogsetsLogsetTag)(nil)).Elem() +} + +func (o GetLogsetsLogsetTagArrayOutput) ToGetLogsetsLogsetTagArrayOutput() GetLogsetsLogsetTagArrayOutput { + return o +} + +func (o GetLogsetsLogsetTagArrayOutput) ToGetLogsetsLogsetTagArrayOutputWithContext(ctx context.Context) GetLogsetsLogsetTagArrayOutput { + return o +} + +func (o GetLogsetsLogsetTagArrayOutput) Index(i pulumi.IntInput) GetLogsetsLogsetTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLogsetsLogsetTag { + return vs[0].([]GetLogsetsLogsetTag)[vs[1].(int)] + }).(GetLogsetsLogsetTagOutput) +} + type GetMachineGroupConfigsConfig struct { // scrape config id. ConfigId string `pulumi:"configId"` @@ -8810,6 +9581,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MachineGroupMachineGroupTypePtrInput)(nil)).Elem(), MachineGroupMachineGroupTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ScheduledSqlDstResourceInput)(nil)).Elem(), ScheduledSqlDstResourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ScheduledSqlDstResourcePtrInput)(nil)).Elem(), ScheduledSqlDstResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TopicExtendsInput)(nil)).Elem(), TopicExtendsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TopicExtendsPtrInput)(nil)).Elem(), TopicExtendsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TopicExtendsAnonymousAccessInput)(nil)).Elem(), TopicExtendsAnonymousAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TopicExtendsAnonymousAccessPtrInput)(nil)).Elem(), TopicExtendsAnonymousAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TopicExtendsAnonymousAccessConditionInput)(nil)).Elem(), TopicExtendsAnonymousAccessConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TopicExtendsAnonymousAccessConditionArrayInput)(nil)).Elem(), TopicExtendsAnonymousAccessConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLogsetsFilterInput)(nil)).Elem(), GetLogsetsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLogsetsFilterArrayInput)(nil)).Elem(), GetLogsetsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLogsetsLogsetInput)(nil)).Elem(), GetLogsetsLogsetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLogsetsLogsetArrayInput)(nil)).Elem(), GetLogsetsLogsetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLogsetsLogsetTagInput)(nil)).Elem(), GetLogsetsLogsetTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLogsetsLogsetTagArrayInput)(nil)).Elem(), GetLogsetsLogsetTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMachineGroupConfigsConfigInput)(nil)).Elem(), GetMachineGroupConfigsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMachineGroupConfigsConfigArrayInput)(nil)).Elem(), GetMachineGroupConfigsConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMachineGroupConfigsConfigExcludePathInput)(nil)).Elem(), GetMachineGroupConfigsConfigExcludePathArgs{}) @@ -8910,6 +9693,18 @@ func init() { pulumi.RegisterOutputType(MachineGroupMachineGroupTypePtrOutput{}) pulumi.RegisterOutputType(ScheduledSqlDstResourceOutput{}) pulumi.RegisterOutputType(ScheduledSqlDstResourcePtrOutput{}) + pulumi.RegisterOutputType(TopicExtendsOutput{}) + pulumi.RegisterOutputType(TopicExtendsPtrOutput{}) + pulumi.RegisterOutputType(TopicExtendsAnonymousAccessOutput{}) + pulumi.RegisterOutputType(TopicExtendsAnonymousAccessPtrOutput{}) + pulumi.RegisterOutputType(TopicExtendsAnonymousAccessConditionOutput{}) + pulumi.RegisterOutputType(TopicExtendsAnonymousAccessConditionArrayOutput{}) + pulumi.RegisterOutputType(GetLogsetsFilterOutput{}) + pulumi.RegisterOutputType(GetLogsetsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetLogsetsLogsetOutput{}) + pulumi.RegisterOutputType(GetLogsetsLogsetArrayOutput{}) + pulumi.RegisterOutputType(GetLogsetsLogsetTagOutput{}) + pulumi.RegisterOutputType(GetLogsetsLogsetTagArrayOutput{}) pulumi.RegisterOutputType(GetMachineGroupConfigsConfigOutput{}) pulumi.RegisterOutputType(GetMachineGroupConfigsConfigArrayOutput{}) pulumi.RegisterOutputType(GetMachineGroupConfigsConfigExcludePathOutput{}) diff --git a/sdk/go/tencentcloud/cls/topic.go b/sdk/go/tencentcloud/cls/topic.go index 949c90281..e8ce6d859 100644 --- a/sdk/go/tencentcloud/cls/topic.go +++ b/sdk/go/tencentcloud/cls/topic.go @@ -16,6 +16,8 @@ import ( // // ## Example Usage // +// ### Create a standard cls topic +// // // ```go // package main @@ -32,7 +34,7 @@ import ( // exampleLogset, err := Cls.NewLogset(ctx, "exampleLogset", &Cls.LogsetArgs{ // LogsetName: pulumi.String("tf_example"), // Tags: pulumi.Map{ -// "demo": pulumi.Any("test"), +// "tagKey": pulumi.Any("tagValue"), // }, // }) // if err != nil { @@ -49,7 +51,71 @@ import ( // Describes: pulumi.String("Test Demo."), // HotPeriod: pulumi.Int(10), // Tags: pulumi.Map{ -// "test": pulumi.Any("test"), +// "tagKey": pulumi.Any("tagValue"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a cls topic with web tracking +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleLogset, err := Cls.NewLogset(ctx, "exampleLogset", &Cls.LogsetArgs{ +// LogsetName: pulumi.String("tf_example"), +// Tags: pulumi.Map{ +// "tagKey": pulumi.Any("tagValue"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = Cls.NewTopic(ctx, "exampleTopic", &Cls.TopicArgs{ +// TopicName: pulumi.String("tf_example"), +// LogsetId: exampleLogset.ID(), +// AutoSplit: pulumi.Bool(false), +// MaxSplitPartitions: pulumi.Int(20), +// PartitionCount: pulumi.Int(1), +// Period: pulumi.Int(30), +// StorageType: pulumi.String("hot"), +// Describes: pulumi.String("Test Demo."), +// HotPeriod: pulumi.Int(10), +// IsWebTracking: pulumi.Bool(true), +// Extends: &cls.TopicExtendsArgs{ +// AnonymousAccess: &cls.TopicExtendsAnonymousAccessArgs{ +// Operations: pulumi.StringArray{ +// pulumi.String("trackLog"), +// pulumi.String("realtimeProducer"), +// }, +// Conditions: cls.TopicExtendsAnonymousAccessConditionArray{ +// &cls.TopicExtendsAnonymousAccessConditionArgs{ +// Attributes: pulumi.String("VpcID"), +// Rule: pulumi.Int(1), +// ConditionValue: pulumi.String("vpc-ahr3xajx"), +// }, +// }, +// }, +// }, +// Tags: pulumi.Map{ +// "tagKey": pulumi.Any("tagValue"), // }, // }) // if err != nil { @@ -76,8 +142,12 @@ type Topic struct { AutoSplit pulumi.BoolOutput `pulumi:"autoSplit"` // Log Topic Description. Describes pulumi.StringPtrOutput `pulumi:"describes"` + // Log Subject Extension Information. + Extends TopicExtendsPtrOutput `pulumi:"extends"` // 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. HotPeriod pulumi.IntOutput `pulumi:"hotPeriod"` + // No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + IsWebTracking pulumi.BoolOutput `pulumi:"isWebTracking"` // Logset ID. LogsetId pulumi.StringOutput `pulumi:"logsetId"` // Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. @@ -134,8 +204,12 @@ type topicState struct { AutoSplit *bool `pulumi:"autoSplit"` // Log Topic Description. Describes *string `pulumi:"describes"` + // Log Subject Extension Information. + Extends *TopicExtends `pulumi:"extends"` // 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. HotPeriod *int `pulumi:"hotPeriod"` + // No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + IsWebTracking *bool `pulumi:"isWebTracking"` // Logset ID. LogsetId *string `pulumi:"logsetId"` // Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. @@ -157,8 +231,12 @@ type TopicState struct { AutoSplit pulumi.BoolPtrInput // Log Topic Description. Describes pulumi.StringPtrInput + // Log Subject Extension Information. + Extends TopicExtendsPtrInput // 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. HotPeriod pulumi.IntPtrInput + // No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + IsWebTracking pulumi.BoolPtrInput // Logset ID. LogsetId pulumi.StringPtrInput // Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. @@ -184,8 +262,12 @@ type topicArgs struct { AutoSplit *bool `pulumi:"autoSplit"` // Log Topic Description. Describes *string `pulumi:"describes"` + // Log Subject Extension Information. + Extends *TopicExtends `pulumi:"extends"` // 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. HotPeriod *int `pulumi:"hotPeriod"` + // No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + IsWebTracking *bool `pulumi:"isWebTracking"` // Logset ID. LogsetId string `pulumi:"logsetId"` // Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. @@ -208,8 +290,12 @@ type TopicArgs struct { AutoSplit pulumi.BoolPtrInput // Log Topic Description. Describes pulumi.StringPtrInput + // Log Subject Extension Information. + Extends TopicExtendsPtrInput // 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. HotPeriod pulumi.IntPtrInput + // No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + IsWebTracking pulumi.BoolPtrInput // Logset ID. LogsetId pulumi.StringInput // Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. @@ -323,11 +409,21 @@ func (o TopicOutput) Describes() pulumi.StringPtrOutput { return o.ApplyT(func(v *Topic) pulumi.StringPtrOutput { return v.Describes }).(pulumi.StringPtrOutput) } +// Log Subject Extension Information. +func (o TopicOutput) Extends() TopicExtendsPtrOutput { + return o.ApplyT(func(v *Topic) TopicExtendsPtrOutput { return v.Extends }).(TopicExtendsPtrOutput) +} + // 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. func (o TopicOutput) HotPeriod() pulumi.IntOutput { return o.ApplyT(func(v *Topic) pulumi.IntOutput { return v.HotPeriod }).(pulumi.IntOutput) } +// No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. +func (o TopicOutput) IsWebTracking() pulumi.BoolOutput { + return o.ApplyT(func(v *Topic) pulumi.BoolOutput { return v.IsWebTracking }).(pulumi.BoolOutput) +} + // Logset ID. func (o TopicOutput) LogsetId() pulumi.StringOutput { return o.ApplyT(func(v *Topic) pulumi.StringOutput { return v.LogsetId }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/config/config.go b/sdk/go/tencentcloud/config/config.go index 39c9d882f..2328f2a4e 100644 --- a/sdk/go/tencentcloud/config/config.go +++ b/sdk/go/tencentcloud/config/config.go @@ -14,12 +14,34 @@ var _ = internal.GetEnvOrDefault func GetAssumeRole(ctx *pulumi.Context) string { return config.Get(ctx, "tencentcloud:assumeRole") } +func GetAssumeRoleWithSaml(ctx *pulumi.Context) string { + return config.Get(ctx, "tencentcloud:assumeRoleWithSaml") +} +func GetAssumeRoleWithWebIdentity(ctx *pulumi.Context) string { + return config.Get(ctx, "tencentcloud:assumeRoleWithWebIdentity") +} + +// The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. +func GetCamRoleName(ctx *pulumi.Context) string { + return config.Get(ctx, "tencentcloud:camRoleName") +} + +// The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: +// `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. +func GetCosDomain(ctx *pulumi.Context) string { + return config.Get(ctx, "tencentcloud:cosDomain") +} // The root domain of the API request, Default is `tencentcloudapi.com`. func GetDomain(ctx *pulumi.Context) string { return config.Get(ctx, "tencentcloud:domain") } +// Whether to enable pod oidc. +func GetEnablePodOidc(ctx *pulumi.Context) bool { + return config.GetBool(ctx, "tencentcloud:enablePodOidc") +} + // The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment // variable. If not set, the default profile created with `tccli configure` will be used. func GetProfile(ctx *pulumi.Context) string { @@ -31,8 +53,8 @@ func GetProtocol(ctx *pulumi.Context) string { return config.Get(ctx, "tencentcloud:protocol") } -// This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` -// environment variables. The default input value is ap-guangzhou. +// This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The +// default input value is ap-guangzhou. func GetRegion(ctx *pulumi.Context) string { v, err := config.Try(ctx, "tencentcloud:region") if err == nil { @@ -45,8 +67,7 @@ func GetRegion(ctx *pulumi.Context) string { return value } -// This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` -// environment variable. +// This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. func GetSecretId(ctx *pulumi.Context) string { v, err := config.Try(ctx, "tencentcloud:secretId") if err == nil { @@ -59,8 +80,7 @@ func GetSecretId(ctx *pulumi.Context) string { return value } -// This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` -// environment variable. +// This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. func GetSecretKey(ctx *pulumi.Context) string { v, err := config.Try(ctx, "tencentcloud:secretKey") if err == nil { diff --git a/sdk/go/tencentcloud/config/pulumiTypes.go b/sdk/go/tencentcloud/config/pulumiTypes.go index 0967da4dd..1bd6631dc 100644 --- a/sdk/go/tencentcloud/config/pulumiTypes.go +++ b/sdk/go/tencentcloud/config/pulumiTypes.go @@ -92,7 +92,178 @@ func (o AssumeRoleOutput) SessionName() pulumi.StringOutput { return o.ApplyT(func(v AssumeRole) string { return v.SessionName }).(pulumi.StringOutput) } +type AssumeRoleWithSaml struct { + // Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + PrincipalArn string `pulumi:"principalArn"` + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn string `pulumi:"roleArn"` + // SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + SamlAssertion string `pulumi:"samlAssertion"` + // The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration int `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName string `pulumi:"sessionName"` +} + +// AssumeRoleWithSamlInput is an input type that accepts AssumeRoleWithSamlArgs and AssumeRoleWithSamlOutput values. +// You can construct a concrete instance of `AssumeRoleWithSamlInput` via: +// +// AssumeRoleWithSamlArgs{...} +type AssumeRoleWithSamlInput interface { + pulumi.Input + + ToAssumeRoleWithSamlOutput() AssumeRoleWithSamlOutput + ToAssumeRoleWithSamlOutputWithContext(context.Context) AssumeRoleWithSamlOutput +} + +type AssumeRoleWithSamlArgs struct { + // Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + PrincipalArn pulumi.StringInput `pulumi:"principalArn"` + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn pulumi.StringInput `pulumi:"roleArn"` + // SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + SamlAssertion pulumi.StringInput `pulumi:"samlAssertion"` + // The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration pulumi.IntInput `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName pulumi.StringInput `pulumi:"sessionName"` +} + +func (AssumeRoleWithSamlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AssumeRoleWithSaml)(nil)).Elem() +} + +func (i AssumeRoleWithSamlArgs) ToAssumeRoleWithSamlOutput() AssumeRoleWithSamlOutput { + return i.ToAssumeRoleWithSamlOutputWithContext(context.Background()) +} + +func (i AssumeRoleWithSamlArgs) ToAssumeRoleWithSamlOutputWithContext(ctx context.Context) AssumeRoleWithSamlOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssumeRoleWithSamlOutput) +} + +type AssumeRoleWithSamlOutput struct{ *pulumi.OutputState } + +func (AssumeRoleWithSamlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AssumeRoleWithSaml)(nil)).Elem() +} + +func (o AssumeRoleWithSamlOutput) ToAssumeRoleWithSamlOutput() AssumeRoleWithSamlOutput { + return o +} + +func (o AssumeRoleWithSamlOutput) ToAssumeRoleWithSamlOutputWithContext(ctx context.Context) AssumeRoleWithSamlOutput { + return o +} + +// Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. +func (o AssumeRoleWithSamlOutput) PrincipalArn() pulumi.StringOutput { + return o.ApplyT(func(v AssumeRoleWithSaml) string { return v.PrincipalArn }).(pulumi.StringOutput) +} + +// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. +func (o AssumeRoleWithSamlOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v AssumeRoleWithSaml) string { return v.RoleArn }).(pulumi.StringOutput) +} + +// SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. +func (o AssumeRoleWithSamlOutput) SamlAssertion() pulumi.StringOutput { + return o.ApplyT(func(v AssumeRoleWithSaml) string { return v.SamlAssertion }).(pulumi.StringOutput) +} + +// The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. +func (o AssumeRoleWithSamlOutput) SessionDuration() pulumi.IntOutput { + return o.ApplyT(func(v AssumeRoleWithSaml) int { return v.SessionDuration }).(pulumi.IntOutput) +} + +// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. +func (o AssumeRoleWithSamlOutput) SessionName() pulumi.StringOutput { + return o.ApplyT(func(v AssumeRoleWithSaml) string { return v.SessionName }).(pulumi.StringOutput) +} + +type AssumeRoleWithWebIdentity struct { + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn string `pulumi:"roleArn"` + // The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration int `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName string `pulumi:"sessionName"` + // OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + WebIdentityToken string `pulumi:"webIdentityToken"` +} + +// AssumeRoleWithWebIdentityInput is an input type that accepts AssumeRoleWithWebIdentityArgs and AssumeRoleWithWebIdentityOutput values. +// You can construct a concrete instance of `AssumeRoleWithWebIdentityInput` via: +// +// AssumeRoleWithWebIdentityArgs{...} +type AssumeRoleWithWebIdentityInput interface { + pulumi.Input + + ToAssumeRoleWithWebIdentityOutput() AssumeRoleWithWebIdentityOutput + ToAssumeRoleWithWebIdentityOutputWithContext(context.Context) AssumeRoleWithWebIdentityOutput +} + +type AssumeRoleWithWebIdentityArgs struct { + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn pulumi.StringInput `pulumi:"roleArn"` + // The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration pulumi.IntInput `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName pulumi.StringInput `pulumi:"sessionName"` + // OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + WebIdentityToken pulumi.StringInput `pulumi:"webIdentityToken"` +} + +func (AssumeRoleWithWebIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AssumeRoleWithWebIdentity)(nil)).Elem() +} + +func (i AssumeRoleWithWebIdentityArgs) ToAssumeRoleWithWebIdentityOutput() AssumeRoleWithWebIdentityOutput { + return i.ToAssumeRoleWithWebIdentityOutputWithContext(context.Background()) +} + +func (i AssumeRoleWithWebIdentityArgs) ToAssumeRoleWithWebIdentityOutputWithContext(ctx context.Context) AssumeRoleWithWebIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(AssumeRoleWithWebIdentityOutput) +} + +type AssumeRoleWithWebIdentityOutput struct{ *pulumi.OutputState } + +func (AssumeRoleWithWebIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AssumeRoleWithWebIdentity)(nil)).Elem() +} + +func (o AssumeRoleWithWebIdentityOutput) ToAssumeRoleWithWebIdentityOutput() AssumeRoleWithWebIdentityOutput { + return o +} + +func (o AssumeRoleWithWebIdentityOutput) ToAssumeRoleWithWebIdentityOutputWithContext(ctx context.Context) AssumeRoleWithWebIdentityOutput { + return o +} + +// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. +func (o AssumeRoleWithWebIdentityOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v AssumeRoleWithWebIdentity) string { return v.RoleArn }).(pulumi.StringOutput) +} + +// The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. +func (o AssumeRoleWithWebIdentityOutput) SessionDuration() pulumi.IntOutput { + return o.ApplyT(func(v AssumeRoleWithWebIdentity) int { return v.SessionDuration }).(pulumi.IntOutput) +} + +// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. +func (o AssumeRoleWithWebIdentityOutput) SessionName() pulumi.StringOutput { + return o.ApplyT(func(v AssumeRoleWithWebIdentity) string { return v.SessionName }).(pulumi.StringOutput) +} + +// OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. +func (o AssumeRoleWithWebIdentityOutput) WebIdentityToken() pulumi.StringOutput { + return o.ApplyT(func(v AssumeRoleWithWebIdentity) string { return v.WebIdentityToken }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AssumeRoleInput)(nil)).Elem(), AssumeRoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AssumeRoleWithSamlInput)(nil)).Elem(), AssumeRoleWithSamlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AssumeRoleWithWebIdentityInput)(nil)).Elem(), AssumeRoleWithWebIdentityArgs{}) pulumi.RegisterOutputType(AssumeRoleOutput{}) + pulumi.RegisterOutputType(AssumeRoleWithSamlOutput{}) + pulumi.RegisterOutputType(AssumeRoleWithWebIdentityOutput{}) } diff --git a/sdk/go/tencentcloud/cos/batch.go b/sdk/go/tencentcloud/cos/batch.go index ca00ebd20..e65b997ad 100644 --- a/sdk/go/tencentcloud/cos/batch.go +++ b/sdk/go/tencentcloud/cos/batch.go @@ -14,6 +14,8 @@ import ( // Provides a resource to create a cos bucket batch. // +// > **NOTE:** The current resource does not support `cosDomain`. +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/cos/bucket.go b/sdk/go/tencentcloud/cos/bucket.go index 4c59a0d2a..0711c738c 100644 --- a/sdk/go/tencentcloud/cos/bucket.go +++ b/sdk/go/tencentcloud/cos/bucket.go @@ -39,7 +39,7 @@ import ( // return err // } // appId := info.AppId -// _, err = Cos.NewBucket(ctx, "privateSbucket", &Cos.BucketArgs{ +// _, err = Cos.NewBucket(ctx, "privateBucket", &Cos.BucketArgs{ // Bucket: pulumi.String(fmt.Sprintf("private-bucket-%v", appId)), // Acl: pulumi.String("private"), // }) @@ -53,6 +53,101 @@ import ( // ``` // // +// ### Private Bucket with CDC cluster +// +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// info, err := User.GetInfo(ctx, nil, nil) +// if err != nil { +// return err +// } +// appId := info.AppId +// _, err = Cos.NewBucket(ctx, "privateBucket", &Cos.BucketArgs{ +// Bucket: pulumi.String(fmt.Sprintf("private-bucket-%v", appId)), +// CdcId: pulumi.String("cluster-262n63e8"), +// Acl: pulumi.String("private"), +// VersioningEnable: pulumi.Bool(true), +// ForceClean: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Enable SSE-KMS encryption +// +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kms" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// info, err := User.GetInfo(ctx, nil, nil) +// if err != nil { +// return err +// } +// appId := info.AppId +// example, err := Kms.NewKey(ctx, "example", &Kms.KeyArgs{ +// Alias: pulumi.String("tf-example-kms-key"), +// Description: pulumi.String("example of kms key"), +// KeyRotationEnabled: pulumi.Bool(false), +// IsEnabled: pulumi.Bool(true), +// Tags: pulumi.Map{ +// "createdBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = Cos.NewBucket(ctx, "bucketBasic", &Cos.BucketArgs{ +// Bucket: pulumi.String(fmt.Sprintf("tf-bucket-cdc-%v", appId)), +// Acl: pulumi.String("private"), +// EncryptionAlgorithm: pulumi.String("KMS"), +// KmsId: example.ID(), +// VersioningEnable: pulumi.Bool(true), +// AccelerationEnable: pulumi.Bool(true), +// ForceClean: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ### Creation of multiple available zone bucket // // @@ -290,6 +385,61 @@ import ( // ``` // // +// ### Using CORS with CDC +// +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// info, err := User.GetInfo(ctx, nil, nil) +// if err != nil { +// return err +// } +// appId := info.AppId +// _, err = Cos.NewBucket(ctx, "bucketWithCors", &Cos.BucketArgs{ +// Bucket: pulumi.String(fmt.Sprintf("bucket-with-cors-%v", appId)), +// CdcId: pulumi.String("cluster-262n63e8"), +// CorsRules: cos.BucketCorsRuleArray{ +// &cos.BucketCorsRuleArgs{ +// AllowedOrigins: pulumi.StringArray{ +// pulumi.String("http://*.abc.com"), +// }, +// AllowedMethods: pulumi.StringArray{ +// pulumi.String("PUT"), +// pulumi.String("POST"), +// }, +// AllowedHeaders: pulumi.StringArray{ +// pulumi.String("*"), +// }, +// MaxAgeSeconds: pulumi.Int(300), +// ExposeHeaders: pulumi.StringArray{ +// pulumi.String("Etag"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ### Using object lifecycle // // @@ -341,6 +491,52 @@ import ( // ``` // // +// ### Using object lifecycle with CDC +// +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// info, err := User.GetInfo(ctx, nil, nil) +// if err != nil { +// return err +// } +// appId := info.AppId +// _, err = Cos.NewBucket(ctx, "bucketWithLifecycle", &Cos.BucketArgs{ +// Bucket: pulumi.String(fmt.Sprintf("bucket-with-lifecycle-%v", appId)), +// CdcId: pulumi.String("cluster-262n63e8"), +// Acl: pulumi.String("private"), +// LifecycleRules: cos.BucketLifecycleRuleArray{ +// &cos.BucketLifecycleRuleArgs{ +// FilterPrefix: pulumi.String("path1/"), +// Expiration: &cos.BucketLifecycleRuleExpirationArgs{ +// Days: pulumi.Int(90), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ### Using replication // // @@ -419,13 +615,15 @@ type Bucket struct { AclBody pulumi.StringOutput `pulumi:"aclBody"` // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket pulumi.StringOutput `pulumi:"bucket"` + // CDC cluster ID. + CdcId pulumi.StringPtrOutput `pulumi:"cdcId"` // A rule of Cross-Origin Resource Sharing (documented below). CorsRules BucketCorsRuleArrayOutput `pulumi:"corsRules"` // The URL of this cos bucket. CosBucketUrl pulumi.StringOutput `pulumi:"cosBucketUrl"` // Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. EnableIntelligentTiering pulumi.BoolOutput `pulumi:"enableIntelligentTiering"` - // The server-side encryption algorithm to use. Valid value is `AES256`. + // The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. EncryptionAlgorithm pulumi.StringPtrOutput `pulumi:"encryptionAlgorithm"` // Force cleanup all objects before delete bucket. ForceClean pulumi.BoolPtrOutput `pulumi:"forceClean"` @@ -433,6 +631,8 @@ type Bucket struct { IntelligentTieringDays pulumi.IntOutput `pulumi:"intelligentTieringDays"` // Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. IntelligentTieringRequestFrequent pulumi.IntOutput `pulumi:"intelligentTieringRequestFrequent"` + // The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + KmsId pulumi.StringPtrOutput `pulumi:"kmsId"` // A configuration of object lifecycle management (documented below). LifecycleRules BucketLifecycleRuleArrayOutput `pulumi:"lifecycleRules"` // Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `logTargetBucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). @@ -500,13 +700,15 @@ type bucketState struct { AclBody *string `pulumi:"aclBody"` // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket *string `pulumi:"bucket"` + // CDC cluster ID. + CdcId *string `pulumi:"cdcId"` // A rule of Cross-Origin Resource Sharing (documented below). CorsRules []BucketCorsRule `pulumi:"corsRules"` // The URL of this cos bucket. CosBucketUrl *string `pulumi:"cosBucketUrl"` // Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. EnableIntelligentTiering *bool `pulumi:"enableIntelligentTiering"` - // The server-side encryption algorithm to use. Valid value is `AES256`. + // The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. EncryptionAlgorithm *string `pulumi:"encryptionAlgorithm"` // Force cleanup all objects before delete bucket. ForceClean *bool `pulumi:"forceClean"` @@ -514,6 +716,8 @@ type bucketState struct { IntelligentTieringDays *int `pulumi:"intelligentTieringDays"` // Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. IntelligentTieringRequestFrequent *int `pulumi:"intelligentTieringRequestFrequent"` + // The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + KmsId *string `pulumi:"kmsId"` // A configuration of object lifecycle management (documented below). LifecycleRules []BucketLifecycleRule `pulumi:"lifecycleRules"` // Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `logTargetBucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). @@ -549,13 +753,15 @@ type BucketState struct { AclBody pulumi.StringPtrInput // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket pulumi.StringPtrInput + // CDC cluster ID. + CdcId pulumi.StringPtrInput // A rule of Cross-Origin Resource Sharing (documented below). CorsRules BucketCorsRuleArrayInput // The URL of this cos bucket. CosBucketUrl pulumi.StringPtrInput // Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. EnableIntelligentTiering pulumi.BoolPtrInput - // The server-side encryption algorithm to use. Valid value is `AES256`. + // The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. EncryptionAlgorithm pulumi.StringPtrInput // Force cleanup all objects before delete bucket. ForceClean pulumi.BoolPtrInput @@ -563,6 +769,8 @@ type BucketState struct { IntelligentTieringDays pulumi.IntPtrInput // Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. IntelligentTieringRequestFrequent pulumi.IntPtrInput + // The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + KmsId pulumi.StringPtrInput // A configuration of object lifecycle management (documented below). LifecycleRules BucketLifecycleRuleArrayInput // Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `logTargetBucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). @@ -602,11 +810,13 @@ type bucketArgs struct { AclBody *string `pulumi:"aclBody"` // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket string `pulumi:"bucket"` + // CDC cluster ID. + CdcId *string `pulumi:"cdcId"` // A rule of Cross-Origin Resource Sharing (documented below). CorsRules []BucketCorsRule `pulumi:"corsRules"` // Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. EnableIntelligentTiering *bool `pulumi:"enableIntelligentTiering"` - // The server-side encryption algorithm to use. Valid value is `AES256`. + // The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. EncryptionAlgorithm *string `pulumi:"encryptionAlgorithm"` // Force cleanup all objects before delete bucket. ForceClean *bool `pulumi:"forceClean"` @@ -614,6 +824,8 @@ type bucketArgs struct { IntelligentTieringDays *int `pulumi:"intelligentTieringDays"` // Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. IntelligentTieringRequestFrequent *int `pulumi:"intelligentTieringRequestFrequent"` + // The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + KmsId *string `pulumi:"kmsId"` // A configuration of object lifecycle management (documented below). LifecycleRules []BucketLifecycleRule `pulumi:"lifecycleRules"` // Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `logTargetBucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). @@ -650,11 +862,13 @@ type BucketArgs struct { AclBody pulumi.StringPtrInput // The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. Bucket pulumi.StringInput + // CDC cluster ID. + CdcId pulumi.StringPtrInput // A rule of Cross-Origin Resource Sharing (documented below). CorsRules BucketCorsRuleArrayInput // Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. EnableIntelligentTiering pulumi.BoolPtrInput - // The server-side encryption algorithm to use. Valid value is `AES256`. + // The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. EncryptionAlgorithm pulumi.StringPtrInput // Force cleanup all objects before delete bucket. ForceClean pulumi.BoolPtrInput @@ -662,6 +876,8 @@ type BucketArgs struct { IntelligentTieringDays pulumi.IntPtrInput // Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. IntelligentTieringRequestFrequent pulumi.IntPtrInput + // The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + KmsId pulumi.StringPtrInput // A configuration of object lifecycle management (documented below). LifecycleRules BucketLifecycleRuleArrayInput // Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `logTargetBucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). @@ -795,6 +1011,11 @@ func (o BucketOutput) Bucket() pulumi.StringOutput { return o.ApplyT(func(v *Bucket) pulumi.StringOutput { return v.Bucket }).(pulumi.StringOutput) } +// CDC cluster ID. +func (o BucketOutput) CdcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Bucket) pulumi.StringPtrOutput { return v.CdcId }).(pulumi.StringPtrOutput) +} + // A rule of Cross-Origin Resource Sharing (documented below). func (o BucketOutput) CorsRules() BucketCorsRuleArrayOutput { return o.ApplyT(func(v *Bucket) BucketCorsRuleArrayOutput { return v.CorsRules }).(BucketCorsRuleArrayOutput) @@ -810,7 +1031,7 @@ func (o BucketOutput) EnableIntelligentTiering() pulumi.BoolOutput { return o.ApplyT(func(v *Bucket) pulumi.BoolOutput { return v.EnableIntelligentTiering }).(pulumi.BoolOutput) } -// The server-side encryption algorithm to use. Valid value is `AES256`. +// The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. func (o BucketOutput) EncryptionAlgorithm() pulumi.StringPtrOutput { return o.ApplyT(func(v *Bucket) pulumi.StringPtrOutput { return v.EncryptionAlgorithm }).(pulumi.StringPtrOutput) } @@ -830,6 +1051,11 @@ func (o BucketOutput) IntelligentTieringRequestFrequent() pulumi.IntOutput { return o.ApplyT(func(v *Bucket) pulumi.IntOutput { return v.IntelligentTieringRequestFrequent }).(pulumi.IntOutput) } +// The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. +func (o BucketOutput) KmsId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Bucket) pulumi.StringPtrOutput { return v.KmsId }).(pulumi.StringPtrOutput) +} + // A configuration of object lifecycle management (documented below). func (o BucketOutput) LifecycleRules() BucketLifecycleRuleArrayOutput { return o.ApplyT(func(v *Bucket) BucketLifecycleRuleArrayOutput { return v.LifecycleRules }).(BucketLifecycleRuleArrayOutput) diff --git a/sdk/go/tencentcloud/cos/bucketDomainCertificateAttachment.go b/sdk/go/tencentcloud/cos/bucketDomainCertificateAttachment.go index aab51cc1c..092f5f156 100644 --- a/sdk/go/tencentcloud/cos/bucketDomainCertificateAttachment.go +++ b/sdk/go/tencentcloud/cos/bucketDomainCertificateAttachment.go @@ -14,6 +14,8 @@ import ( // Provides a resource to attach/detach the corresponding certificate for the domain name in specified cos bucket. // +// > **NOTE:** The current resource does not support cdc. +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/cos/bucketGenerateInventoryImmediatelyOperation.go b/sdk/go/tencentcloud/cos/bucketGenerateInventoryImmediatelyOperation.go index eebf7425e..1cfb2a6ea 100644 --- a/sdk/go/tencentcloud/cos/bucketGenerateInventoryImmediatelyOperation.go +++ b/sdk/go/tencentcloud/cos/bucketGenerateInventoryImmediatelyOperation.go @@ -14,6 +14,8 @@ import ( // Provides a resource to generate a cos bucket inventory immediately // +// > **NOTE:** The current resource does not support cdc. +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/cos/bucketInventory.go b/sdk/go/tencentcloud/cos/bucketInventory.go index 7c2f378fa..af9437435 100644 --- a/sdk/go/tencentcloud/cos/bucketInventory.go +++ b/sdk/go/tencentcloud/cos/bucketInventory.go @@ -12,7 +12,9 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provides a resource to create a cos bucketInventory +// Provides a resource to create a cos bucket inventory +// +// > **NOTE:** The current resource does not support cdc. // // ## Example Usage // @@ -22,36 +24,52 @@ import ( // // import ( // +// "fmt" +// // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cos" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/User" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Cos.NewBucketInventory(ctx, "bucketInventory", &Cos.BucketInventoryArgs{ -// Bucket: pulumi.String("keep-test-xxxxxx"), -// Destination: &cos.BucketInventoryDestinationArgs{ -// AccountId: pulumi.String(""), -// Bucket: pulumi.String("qcs::cos:ap-guangzhou::keep-test-xxxxxx"), -// Format: pulumi.String("CSV"), -// Prefix: pulumi.String("cos_bucket_inventory"), -// }, -// Filter: &cos.BucketInventoryFilterArgs{ -// Period: &cos.BucketInventoryFilterPeriodArgs{ -// StartTime: pulumi.String("1687276800"), -// }, -// }, -// IncludedObjectVersions: pulumi.String("Current"), +// info, err := User.GetInfo(ctx, nil, nil) +// if err != nil { +// return err +// } +// appId := info.AppId +// // create cos +// exampleBucket, err := Cos.NewBucket(ctx, "exampleBucket", &Cos.BucketArgs{ +// Bucket: pulumi.String(fmt.Sprintf("private-bucket-%v", appId)), +// Acl: pulumi.String("private"), +// }) +// if err != nil { +// return err +// } +// // create cos bucket inventory +// _, err = Cos.NewBucketInventory(ctx, "exampleBucketInventory", &Cos.BucketInventoryArgs{ +// Bucket: exampleBucket.ID(), // IsEnabled: pulumi.String("true"), +// IncludedObjectVersions: pulumi.String("Current"), // OptionalFields: &cos.BucketInventoryOptionalFieldsArgs{ // Fields: pulumi.StringArray{ // pulumi.String("Size"), // pulumi.String("ETag"), // }, // }, +// Filter: &cos.BucketInventoryFilterArgs{ +// Period: &cos.BucketInventoryFilterPeriodArgs{ +// StartTime: pulumi.String("1687276800"), +// }, +// }, // Schedule: &cos.BucketInventoryScheduleArgs{ -// Frequency: pulumi.String("Weekly"), +// Frequency: pulumi.String("Daily"), +// }, +// Destination: &cos.BucketInventoryDestinationArgs{ +// Bucket: pulumi.String("qcs::cos:ap-guangzhou::private-bucket-1309118522"), +// Format: pulumi.String("CSV"), +// Prefix: pulumi.String("frontends"), // }, // }) // if err != nil { @@ -66,10 +84,10 @@ import ( // // ## Import // -// cos bucket_inventory can be imported using the id, e.g. +// cos bucket inventory can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory bucket_inventory bucket_inventory_id +// $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory example private-bucket-1309118522#tf-example // ``` type BucketInventory struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/cos/bucketReferer.go b/sdk/go/tencentcloud/cos/bucketReferer.go index 117c7dc67..65320ea4d 100644 --- a/sdk/go/tencentcloud/cos/bucketReferer.go +++ b/sdk/go/tencentcloud/cos/bucketReferer.go @@ -14,6 +14,8 @@ import ( // Provides a resource to create a cos bucketReferer // +// > **NOTE:** The current resource does not support cdc. +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/cos/getBatchs.go b/sdk/go/tencentcloud/cos/getBatchs.go index 79d5bec0a..7bfc53948 100644 --- a/sdk/go/tencentcloud/cos/getBatchs.go +++ b/sdk/go/tencentcloud/cos/getBatchs.go @@ -13,6 +13,8 @@ import ( // Use this data source to query the COS batch. // +// > **NOTE:** The current resource does not support `cosDomain`. +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/cos/getBucketInventorys.go b/sdk/go/tencentcloud/cos/getBucketInventorys.go index b94429427..ba1a552e7 100644 --- a/sdk/go/tencentcloud/cos/getBucketInventorys.go +++ b/sdk/go/tencentcloud/cos/getBucketInventorys.go @@ -13,6 +13,8 @@ import ( // Use this data source to query the COS bucket inventorys. // +// > **NOTE:** The current resource does not support cdc. +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/cos/objectRestoreOperation.go b/sdk/go/tencentcloud/cos/objectRestoreOperation.go index 1990505e9..09255171b 100644 --- a/sdk/go/tencentcloud/cos/objectRestoreOperation.go +++ b/sdk/go/tencentcloud/cos/objectRestoreOperation.go @@ -14,6 +14,8 @@ import ( // Provides a resource to restore object // +// > **NOTE:** The current resource does not support cdc. +// // ## Example Usage // // diff --git a/sdk/go/tencentcloud/cvm/pulumiTypes.go b/sdk/go/tencentcloud/cvm/pulumiTypes.go index f9a9dec5a..f72e4d168 100644 --- a/sdk/go/tencentcloud/cvm/pulumiTypes.go +++ b/sdk/go/tencentcloud/cvm/pulumiTypes.go @@ -2781,7 +2781,9 @@ func (o LaunchTemplateLoginSettingsPtrOutput) Password() pulumi.StringPtrOutput type LaunchTemplatePlacement struct { // The CDH ID list of the instance(input). HostIds []string `pulumi:"hostIds"` - // Specify the host machine ip. + // It has been deprecated from version 1.81.108. Specify the host machine ip. + // + // Deprecated: It has been deprecated from version 1.81.108. HostIps []string `pulumi:"hostIps"` // The project ID of the instance. ProjectId *int `pulumi:"projectId"` @@ -2803,7 +2805,9 @@ type LaunchTemplatePlacementInput interface { type LaunchTemplatePlacementArgs struct { // The CDH ID list of the instance(input). HostIds pulumi.StringArrayInput `pulumi:"hostIds"` - // Specify the host machine ip. + // It has been deprecated from version 1.81.108. Specify the host machine ip. + // + // Deprecated: It has been deprecated from version 1.81.108. HostIps pulumi.StringArrayInput `pulumi:"hostIps"` // The project ID of the instance. ProjectId pulumi.IntPtrInput `pulumi:"projectId"` @@ -2893,7 +2897,9 @@ func (o LaunchTemplatePlacementOutput) HostIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LaunchTemplatePlacement) []string { return v.HostIds }).(pulumi.StringArrayOutput) } -// Specify the host machine ip. +// It has been deprecated from version 1.81.108. Specify the host machine ip. +// +// Deprecated: It has been deprecated from version 1.81.108. func (o LaunchTemplatePlacementOutput) HostIps() pulumi.StringArrayOutput { return o.ApplyT(func(v LaunchTemplatePlacement) []string { return v.HostIps }).(pulumi.StringArrayOutput) } @@ -2942,7 +2948,9 @@ func (o LaunchTemplatePlacementPtrOutput) HostIds() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } -// Specify the host machine ip. +// It has been deprecated from version 1.81.108. Specify the host machine ip. +// +// Deprecated: It has been deprecated from version 1.81.108. func (o LaunchTemplatePlacementPtrOutput) HostIps() pulumi.StringArrayOutput { return o.ApplyT(func(v *LaunchTemplatePlacement) []string { if v == nil { @@ -7952,7 +7960,9 @@ type GetChcHostsChcHostSetPlacement struct { HostId string `pulumi:"hostId"` // ID list of CDHs from which the instance can be created. If you have purchased CDHs and specify this parameter, the instances you purchase will be randomly deployed on the CDHs. HostIds []string `pulumi:"hostIds"` - // IPs of the hosts to create CVMs. + // (**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs. + // + // Deprecated: It has been deprecated from version 1.81.108. HostIps []string `pulumi:"hostIps"` // ID of the project to which the instance belongs. This parameter can be obtained from the projectId returned by DescribeProject. If this is left empty, the default project is used. ProjectId int `pulumi:"projectId"` @@ -7976,7 +7986,9 @@ type GetChcHostsChcHostSetPlacementArgs struct { HostId pulumi.StringInput `pulumi:"hostId"` // ID list of CDHs from which the instance can be created. If you have purchased CDHs and specify this parameter, the instances you purchase will be randomly deployed on the CDHs. HostIds pulumi.StringArrayInput `pulumi:"hostIds"` - // IPs of the hosts to create CVMs. + // (**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs. + // + // Deprecated: It has been deprecated from version 1.81.108. HostIps pulumi.StringArrayInput `pulumi:"hostIps"` // ID of the project to which the instance belongs. This parameter can be obtained from the projectId returned by DescribeProject. If this is left empty, the default project is used. ProjectId pulumi.IntInput `pulumi:"projectId"` @@ -8045,7 +8057,9 @@ func (o GetChcHostsChcHostSetPlacementOutput) HostIds() pulumi.StringArrayOutput return o.ApplyT(func(v GetChcHostsChcHostSetPlacement) []string { return v.HostIds }).(pulumi.StringArrayOutput) } -// IPs of the hosts to create CVMs. +// (**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs. +// +// Deprecated: It has been deprecated from version 1.81.108. func (o GetChcHostsChcHostSetPlacementOutput) HostIps() pulumi.StringArrayOutput { return o.ApplyT(func(v GetChcHostsChcHostSetPlacement) []string { return v.HostIps }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/tencentcloud/cynosdb/cluster.go b/sdk/go/tencentcloud/cynosdb/cluster.go index 9447fc0d4..970589637 100644 --- a/sdk/go/tencentcloud/cynosdb/cluster.go +++ b/sdk/go/tencentcloud/cynosdb/cluster.go @@ -14,12 +14,242 @@ import ( // Provide a resource to create a CynosDB cluster. // +// ## Example Usage +// +// ### Create a single availability zone NORMAL CynosDB cluster +// +// +// ```go +// package main +// +// 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/Cynosdb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-3" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, +// }) +// if err != nil { +// return err +// } +// // create cynosdb cluster +// _, err = Cynosdb.NewCluster(ctx, "exampleCluster", &Cynosdb.ClusterArgs{ +// AvailableZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DbMode: pulumi.String("NORMAL"), +// DbType: pulumi.String("MYSQL"), +// DbVersion: pulumi.String("5.7"), +// Port: pulumi.Int(3306), +// StorageLimit: pulumi.Int(1000), +// ClusterName: pulumi.String("tf-example"), +// Password: pulumi.String("cynosDB@123"), +// InstanceMaintainDuration: pulumi.Int(7200), +// InstanceMaintainStartTime: pulumi.Int(10800), +// InstanceCpuCore: pulumi.Int(2), +// InstanceMemorySize: pulumi.Int(4), +// ForceDelete: pulumi.Bool(false), +// InstanceMaintainWeekdays: pulumi.StringArray{ +// pulumi.String("Fri"), +// pulumi.String("Mon"), +// pulumi.String("Sat"), +// pulumi.String("Sun"), +// pulumi.String("Thu"), +// pulumi.String("Wed"), +// pulumi.String("Tue"), +// }, +// ParamItems: cynosdb.ClusterParamItemArray{ +// &cynosdb.ClusterParamItemArgs{ +// Name: pulumi.String("character_set_server"), +// CurrentValue: pulumi.String("utf8mb4"), +// }, +// &cynosdb.ClusterParamItemArgs{ +// Name: pulumi.String("lower_case_table_names"), +// CurrentValue: pulumi.String("0"), +// }, +// }, +// RwGroupSgs: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// RoGroupSgs: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a multiple availability zone SERVERLESS CynosDB cluster +// +// +// ```go +// package main +// +// 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/Cynosdb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// slaveZone := "ap-guangzhou-6" +// if param := cfg.Get("slaveZone"); param != "" { +// slaveZone = param +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "example": pulumi.Any("test"), +// }, +// }) +// if err != nil { +// return err +// } +// // create param template +// exampleParamTemplate, err := Cynosdb.NewParamTemplate(ctx, "exampleParamTemplate", &Cynosdb.ParamTemplateArgs{ +// DbMode: pulumi.String("SERVERLESS"), +// EngineVersion: pulumi.String("8.0"), +// TemplateName: pulumi.String("tf-example"), +// TemplateDescription: pulumi.String("terraform-template"), +// ParamLists: cynosdb.ParamTemplateParamListArray{ +// &cynosdb.ParamTemplateParamListArgs{ +// CurrentValue: pulumi.String("-1"), +// ParamName: pulumi.String("optimizer_trace_offset"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// // create cynosdb cluster +// _, err = Cynosdb.NewCluster(ctx, "exampleCluster", &Cynosdb.ClusterArgs{ +// AvailableZone: pulumi.String(availabilityZone), +// SlaveZone: pulumi.String(slaveZone), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DbMode: pulumi.String("SERVERLESS"), +// DbType: pulumi.String("MYSQL"), +// DbVersion: pulumi.String("8.0"), +// Port: pulumi.Int(3306), +// StorageLimit: pulumi.Int(1000), +// ClusterName: pulumi.String("tf-example"), +// Password: pulumi.String("cynosDB@123"), +// InstanceMaintainDuration: pulumi.Int(7200), +// InstanceMaintainStartTime: pulumi.Int(10800), +// MinCpu: pulumi.Float64(2), +// MaxCpu: pulumi.Float64(4), +// ParamTemplateId: exampleParamTemplate.TemplateId, +// ForceDelete: pulumi.Bool(false), +// InstanceMaintainWeekdays: pulumi.StringArray{ +// pulumi.String("Fri"), +// pulumi.String("Mon"), +// pulumi.String("Sat"), +// pulumi.String("Sun"), +// pulumi.String("Thu"), +// pulumi.String("Wed"), +// pulumi.String("Tue"), +// }, +// RwGroupSgs: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// RoGroupSgs: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // CynosDB cluster can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Cynosdb/cluster:Cluster foo cynosdbmysql-dzj5l8gz +// $ pulumi import tencentcloud:Cynosdb/cluster:Cluster example cynosdbmysql-dzj5l8gz // ``` type Cluster struct { pulumi.CustomResourceState @@ -46,7 +276,7 @@ type Cluster struct { DbMode pulumi.StringPtrOutput `pulumi:"dbMode"` // Type of CynosDB, and available values include `MYSQL`. DbType pulumi.StringOutput `pulumi:"dbType"` - // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. DbVersion pulumi.StringOutput `pulumi:"dbVersion"` // Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"` @@ -74,13 +304,17 @@ type Cluster struct { MinCpu pulumi.Float64PtrOutput `pulumi:"minCpu"` // Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. OldIpReserveHours pulumi.IntPtrOutput `pulumi:"oldIpReserveHours"` - // Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + // Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. ParamItems ClusterParamItemArrayOutput `pulumi:"paramItems"` + // The ID of the parameter template. + ParamTemplateId pulumi.IntOutput `pulumi:"paramTemplateId"` // Password of `root` account. Password pulumi.StringOutput `pulumi:"password"` // Port of CynosDB cluster. Port pulumi.IntPtrOutput `pulumi:"port"` - // The ID of the parameter template. + // It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + // + // Deprecated: It will be deprecated. Use `paramTemplateId` instead. PrarmTemplateId pulumi.IntOutput `pulumi:"prarmTemplateId"` // The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when chargeType is set to `PREPAID`. PrepaidPeriod pulumi.IntPtrOutput `pulumi:"prepaidPeriod"` @@ -106,6 +340,8 @@ type Cluster struct { ServerlessStatus pulumi.StringOutput `pulumi:"serverlessStatus"` // Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. ServerlessStatusFlag pulumi.StringPtrOutput `pulumi:"serverlessStatusFlag"` + // Multi zone Addresses of the CynosDB Cluster. + SlaveZone pulumi.StringPtrOutput `pulumi:"slaveZone"` // Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. StorageLimit pulumi.IntPtrOutput `pulumi:"storageLimit"` // Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. @@ -200,7 +436,7 @@ type clusterState struct { DbMode *string `pulumi:"dbMode"` // Type of CynosDB, and available values include `MYSQL`. DbType *string `pulumi:"dbType"` - // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. DbVersion *string `pulumi:"dbVersion"` // Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. ForceDelete *bool `pulumi:"forceDelete"` @@ -228,13 +464,17 @@ type clusterState struct { MinCpu *float64 `pulumi:"minCpu"` // Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. OldIpReserveHours *int `pulumi:"oldIpReserveHours"` - // Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + // Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. ParamItems []ClusterParamItem `pulumi:"paramItems"` + // The ID of the parameter template. + ParamTemplateId *int `pulumi:"paramTemplateId"` // Password of `root` account. Password *string `pulumi:"password"` // Port of CynosDB cluster. Port *int `pulumi:"port"` - // The ID of the parameter template. + // It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + // + // Deprecated: It will be deprecated. Use `paramTemplateId` instead. PrarmTemplateId *int `pulumi:"prarmTemplateId"` // The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when chargeType is set to `PREPAID`. PrepaidPeriod *int `pulumi:"prepaidPeriod"` @@ -260,6 +500,8 @@ type clusterState struct { ServerlessStatus *string `pulumi:"serverlessStatus"` // Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. ServerlessStatusFlag *string `pulumi:"serverlessStatusFlag"` + // Multi zone Addresses of the CynosDB Cluster. + SlaveZone *string `pulumi:"slaveZone"` // Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. StorageLimit *int `pulumi:"storageLimit"` // Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. @@ -297,7 +539,7 @@ type ClusterState struct { DbMode pulumi.StringPtrInput // Type of CynosDB, and available values include `MYSQL`. DbType pulumi.StringPtrInput - // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. DbVersion pulumi.StringPtrInput // Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. ForceDelete pulumi.BoolPtrInput @@ -325,13 +567,17 @@ type ClusterState struct { MinCpu pulumi.Float64PtrInput // Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. OldIpReserveHours pulumi.IntPtrInput - // Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + // Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. ParamItems ClusterParamItemArrayInput + // The ID of the parameter template. + ParamTemplateId pulumi.IntPtrInput // Password of `root` account. Password pulumi.StringPtrInput // Port of CynosDB cluster. Port pulumi.IntPtrInput - // The ID of the parameter template. + // It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + // + // Deprecated: It will be deprecated. Use `paramTemplateId` instead. PrarmTemplateId pulumi.IntPtrInput // The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when chargeType is set to `PREPAID`. PrepaidPeriod pulumi.IntPtrInput @@ -357,6 +603,8 @@ type ClusterState struct { ServerlessStatus pulumi.StringPtrInput // Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. ServerlessStatusFlag pulumi.StringPtrInput + // Multi zone Addresses of the CynosDB Cluster. + SlaveZone pulumi.StringPtrInput // Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. StorageLimit pulumi.IntPtrInput // Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. @@ -392,7 +640,7 @@ type clusterArgs struct { DbMode *string `pulumi:"dbMode"` // Type of CynosDB, and available values include `MYSQL`. DbType string `pulumi:"dbType"` - // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. DbVersion string `pulumi:"dbVersion"` // Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. ForceDelete *bool `pulumi:"forceDelete"` @@ -412,13 +660,17 @@ type clusterArgs struct { MinCpu *float64 `pulumi:"minCpu"` // Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. OldIpReserveHours *int `pulumi:"oldIpReserveHours"` - // Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + // Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. ParamItems []ClusterParamItem `pulumi:"paramItems"` + // The ID of the parameter template. + ParamTemplateId *int `pulumi:"paramTemplateId"` // Password of `root` account. Password string `pulumi:"password"` // Port of CynosDB cluster. Port *int `pulumi:"port"` - // The ID of the parameter template. + // It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + // + // Deprecated: It will be deprecated. Use `paramTemplateId` instead. PrarmTemplateId *int `pulumi:"prarmTemplateId"` // The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when chargeType is set to `PREPAID`. PrepaidPeriod *int `pulumi:"prepaidPeriod"` @@ -430,6 +682,8 @@ type clusterArgs struct { RwGroupSgs []string `pulumi:"rwGroupSgs"` // Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. ServerlessStatusFlag *string `pulumi:"serverlessStatusFlag"` + // Multi zone Addresses of the CynosDB Cluster. + SlaveZone *string `pulumi:"slaveZone"` // Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. StorageLimit *int `pulumi:"storageLimit"` // Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. @@ -460,7 +714,7 @@ type ClusterArgs struct { DbMode pulumi.StringPtrInput // Type of CynosDB, and available values include `MYSQL`. DbType pulumi.StringInput - // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + // Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. DbVersion pulumi.StringInput // Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. ForceDelete pulumi.BoolPtrInput @@ -480,13 +734,17 @@ type ClusterArgs struct { MinCpu pulumi.Float64PtrInput // Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. OldIpReserveHours pulumi.IntPtrInput - // Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + // Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. ParamItems ClusterParamItemArrayInput + // The ID of the parameter template. + ParamTemplateId pulumi.IntPtrInput // Password of `root` account. Password pulumi.StringInput // Port of CynosDB cluster. Port pulumi.IntPtrInput - // The ID of the parameter template. + // It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + // + // Deprecated: It will be deprecated. Use `paramTemplateId` instead. PrarmTemplateId pulumi.IntPtrInput // The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when chargeType is set to `PREPAID`. PrepaidPeriod pulumi.IntPtrInput @@ -498,6 +756,8 @@ type ClusterArgs struct { RwGroupSgs pulumi.StringArrayInput // Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. ServerlessStatusFlag pulumi.StringPtrInput + // Multi zone Addresses of the CynosDB Cluster. + SlaveZone pulumi.StringPtrInput // Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. StorageLimit pulumi.IntPtrInput // Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. @@ -652,7 +912,7 @@ func (o ClusterOutput) DbType() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DbType }).(pulumi.StringOutput) } -// Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. +// Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. func (o ClusterOutput) DbVersion() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DbVersion }).(pulumi.StringOutput) } @@ -722,11 +982,16 @@ func (o ClusterOutput) OldIpReserveHours() pulumi.IntPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.OldIpReserveHours }).(pulumi.IntPtrOutput) } -// Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. +// Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. func (o ClusterOutput) ParamItems() ClusterParamItemArrayOutput { return o.ApplyT(func(v *Cluster) ClusterParamItemArrayOutput { return v.ParamItems }).(ClusterParamItemArrayOutput) } +// The ID of the parameter template. +func (o ClusterOutput) ParamTemplateId() pulumi.IntOutput { + return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.ParamTemplateId }).(pulumi.IntOutput) +} + // Password of `root` account. func (o ClusterOutput) Password() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) @@ -737,7 +1002,9 @@ func (o ClusterOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.Port }).(pulumi.IntPtrOutput) } -// The ID of the parameter template. +// It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. +// +// Deprecated: It will be deprecated. Use `paramTemplateId` instead. func (o ClusterOutput) PrarmTemplateId() pulumi.IntOutput { return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.PrarmTemplateId }).(pulumi.IntOutput) } @@ -802,6 +1069,11 @@ func (o ClusterOutput) ServerlessStatusFlag() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ServerlessStatusFlag }).(pulumi.StringPtrOutput) } +// Multi zone Addresses of the CynosDB Cluster. +func (o ClusterOutput) SlaveZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.SlaveZone }).(pulumi.StringPtrOutput) +} + // Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. func (o ClusterOutput) StorageLimit() pulumi.IntPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.StorageLimit }).(pulumi.IntPtrOutput) diff --git a/sdk/go/tencentcloud/dasb/user.go b/sdk/go/tencentcloud/dasb/user.go index bc9928a9d..d8d46172c 100644 --- a/sdk/go/tencentcloud/dasb/user.go +++ b/sdk/go/tencentcloud/dasb/user.go @@ -63,11 +63,11 @@ type User struct { AuthType pulumi.IntPtrOutput `pulumi:"authType"` // Department ID, such as: 1.2.3. DepartmentId pulumi.StringPtrOutput `pulumi:"departmentId"` - // Email. + // Email. Please provide at least one of `phone` or `email`. Email pulumi.StringPtrOutput `pulumi:"email"` // The set of user group IDs to which it belongs. GroupIdSets pulumi.IntArrayOutput `pulumi:"groupIdSets"` - // Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + // Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. Phone pulumi.StringPtrOutput `pulumi:"phone"` // Real name, maximum length 20 characters, cannot contain blank characters. RealName pulumi.StringOutput `pulumi:"realName"` @@ -121,11 +121,11 @@ type userState struct { AuthType *int `pulumi:"authType"` // Department ID, such as: 1.2.3. DepartmentId *string `pulumi:"departmentId"` - // Email. + // Email. Please provide at least one of `phone` or `email`. Email *string `pulumi:"email"` // The set of user group IDs to which it belongs. GroupIdSets []int `pulumi:"groupIdSets"` - // Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + // Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. Phone *string `pulumi:"phone"` // Real name, maximum length 20 characters, cannot contain blank characters. RealName *string `pulumi:"realName"` @@ -144,11 +144,11 @@ type UserState struct { AuthType pulumi.IntPtrInput // Department ID, such as: 1.2.3. DepartmentId pulumi.StringPtrInput - // Email. + // Email. Please provide at least one of `phone` or `email`. Email pulumi.StringPtrInput // The set of user group IDs to which it belongs. GroupIdSets pulumi.IntArrayInput - // Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + // Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. Phone pulumi.StringPtrInput // Real name, maximum length 20 characters, cannot contain blank characters. RealName pulumi.StringPtrInput @@ -171,11 +171,11 @@ type userArgs struct { AuthType *int `pulumi:"authType"` // Department ID, such as: 1.2.3. DepartmentId *string `pulumi:"departmentId"` - // Email. + // Email. Please provide at least one of `phone` or `email`. Email *string `pulumi:"email"` // The set of user group IDs to which it belongs. GroupIdSets []int `pulumi:"groupIdSets"` - // Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + // Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. Phone *string `pulumi:"phone"` // Real name, maximum length 20 characters, cannot contain blank characters. RealName string `pulumi:"realName"` @@ -195,11 +195,11 @@ type UserArgs struct { AuthType pulumi.IntPtrInput // Department ID, such as: 1.2.3. DepartmentId pulumi.StringPtrInput - // Email. + // Email. Please provide at least one of `phone` or `email`. Email pulumi.StringPtrInput // The set of user group IDs to which it belongs. GroupIdSets pulumi.IntArrayInput - // Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + // Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. Phone pulumi.StringPtrInput // Real name, maximum length 20 characters, cannot contain blank characters. RealName pulumi.StringInput @@ -310,7 +310,7 @@ func (o UserOutput) DepartmentId() pulumi.StringPtrOutput { return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.DepartmentId }).(pulumi.StringPtrOutput) } -// Email. +// Email. Please provide at least one of `phone` or `email`. func (o UserOutput) Email() pulumi.StringPtrOutput { return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Email }).(pulumi.StringPtrOutput) } @@ -320,7 +320,7 @@ func (o UserOutput) GroupIdSets() pulumi.IntArrayOutput { return o.ApplyT(func(v *User) pulumi.IntArrayOutput { return v.GroupIdSets }).(pulumi.IntArrayOutput) } -// Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. +// Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. func (o UserOutput) Phone() pulumi.StringPtrOutput { return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Phone }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/tencentcloud/eip/instance.go b/sdk/go/tencentcloud/eip/instance.go index b7b019558..6ecc7a64a 100644 --- a/sdk/go/tencentcloud/eip/instance.go +++ b/sdk/go/tencentcloud/eip/instance.go @@ -133,6 +133,8 @@ type Instance struct { AutoRenewFlag pulumi.IntPtrOutput `pulumi:"autoRenewFlag"` // ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. BandwidthPackageId pulumi.StringOutput `pulumi:"bandwidthPackageId"` + // CDC Unique ID. + CdcId pulumi.StringPtrOutput `pulumi:"cdcId"` // Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). Egress pulumi.StringOutput `pulumi:"egress"` // The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. @@ -197,6 +199,8 @@ type instanceState struct { AutoRenewFlag *int `pulumi:"autoRenewFlag"` // ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. BandwidthPackageId *string `pulumi:"bandwidthPackageId"` + // CDC Unique ID. + CdcId *string `pulumi:"cdcId"` // Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). Egress *string `pulumi:"egress"` // The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. @@ -232,6 +236,8 @@ type InstanceState struct { AutoRenewFlag pulumi.IntPtrInput // ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. BandwidthPackageId pulumi.StringPtrInput + // CDC Unique ID. + CdcId pulumi.StringPtrInput // Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). Egress pulumi.StringPtrInput // The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. @@ -271,6 +277,8 @@ type instanceArgs struct { AutoRenewFlag *int `pulumi:"autoRenewFlag"` // ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. BandwidthPackageId *string `pulumi:"bandwidthPackageId"` + // CDC Unique ID. + CdcId *string `pulumi:"cdcId"` // Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). Egress *string `pulumi:"egress"` // The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. @@ -303,6 +311,8 @@ type InstanceArgs struct { AutoRenewFlag pulumi.IntPtrInput // ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. BandwidthPackageId pulumi.StringPtrInput + // CDC Unique ID. + CdcId pulumi.StringPtrInput // Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). Egress pulumi.StringPtrInput // The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. @@ -435,6 +445,11 @@ func (o InstanceOutput) BandwidthPackageId() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.BandwidthPackageId }).(pulumi.StringOutput) } +// CDC Unique ID. +func (o InstanceOutput) CdcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.CdcId }).(pulumi.StringPtrOutput) +} + // Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). func (o InstanceOutput) Egress() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Egress }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/elasticsearch/instance.go b/sdk/go/tencentcloud/elasticsearch/instance.go index b1dbecad7..c0d019675 100644 --- a/sdk/go/tencentcloud/elasticsearch/instance.go +++ b/sdk/go/tencentcloud/elasticsearch/instance.go @@ -81,6 +81,10 @@ import ( // pulumi.String("127.0.0.1"), // }, // }, +// CosBackup: &elasticsearch.InstanceCosBackupArgs{ +// IsAutoBackup: pulumi.Bool(true), +// BackupTime: pulumi.String("22:00"), +// }, // Tags: pulumi.Map{ // "test": pulumi.Any("test"), // }, @@ -218,6 +222,8 @@ type Instance struct { ChargePeriod pulumi.IntPtrOutput `pulumi:"chargePeriod"` // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrOutput `pulumi:"chargeType"` + // COS automatic backup information. + CosBackup InstanceCosBackupPtrOutput `pulumi:"cosBackup"` // Instance creation time. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. @@ -315,6 +321,8 @@ type instanceState struct { ChargePeriod *int `pulumi:"chargePeriod"` // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. ChargeType *string `pulumi:"chargeType"` + // COS automatic backup information. + CosBackup *InstanceCosBackup `pulumi:"cosBackup"` // Instance creation time. CreateTime *string `pulumi:"createTime"` // Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. @@ -364,6 +372,8 @@ type InstanceState struct { ChargePeriod pulumi.IntPtrInput // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrInput + // COS automatic backup information. + CosBackup InstanceCosBackupPtrInput // Instance creation time. CreateTime pulumi.StringPtrInput // Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. @@ -417,6 +427,8 @@ type instanceArgs struct { ChargePeriod *int `pulumi:"chargePeriod"` // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. ChargeType *string `pulumi:"chargeType"` + // COS automatic backup information. + CosBackup *InstanceCosBackup `pulumi:"cosBackup"` // Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. DeployMode *int `pulumi:"deployMode"` // Kibana Access Control Configuration. @@ -457,6 +469,8 @@ type InstanceArgs struct { ChargePeriod pulumi.IntPtrInput // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. ChargeType pulumi.StringPtrInput + // COS automatic backup information. + CosBackup InstanceCosBackupPtrInput // Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. DeployMode pulumi.IntPtrInput // Kibana Access Control Configuration. @@ -594,6 +608,11 @@ func (o InstanceOutput) ChargeType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ChargeType }).(pulumi.StringPtrOutput) } +// COS automatic backup information. +func (o InstanceOutput) CosBackup() InstanceCosBackupPtrOutput { + return o.ApplyT(func(v *Instance) InstanceCosBackupPtrOutput { return v.CosBackup }).(InstanceCosBackupPtrOutput) +} + // Instance creation time. func (o InstanceOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/elasticsearch/pulumiTypes.go b/sdk/go/tencentcloud/elasticsearch/pulumiTypes.go index f8d5bc600..b95d7dd06 100644 --- a/sdk/go/tencentcloud/elasticsearch/pulumiTypes.go +++ b/sdk/go/tencentcloud/elasticsearch/pulumiTypes.go @@ -128,6 +128,162 @@ func (o DiagnoseDiagnoseJobMetaArrayOutput) Index(i pulumi.IntInput) DiagnoseDia }).(DiagnoseDiagnoseJobMetaOutput) } +type InstanceCosBackup struct { + // Automatic backup execution time (accurate to the hour), e.g. `22:00`. + BackupTime string `pulumi:"backupTime"` + // Whether to enable automatic backup of cos. + IsAutoBackup bool `pulumi:"isAutoBackup"` +} + +// InstanceCosBackupInput is an input type that accepts InstanceCosBackupArgs and InstanceCosBackupOutput values. +// You can construct a concrete instance of `InstanceCosBackupInput` via: +// +// InstanceCosBackupArgs{...} +type InstanceCosBackupInput interface { + pulumi.Input + + ToInstanceCosBackupOutput() InstanceCosBackupOutput + ToInstanceCosBackupOutputWithContext(context.Context) InstanceCosBackupOutput +} + +type InstanceCosBackupArgs struct { + // Automatic backup execution time (accurate to the hour), e.g. `22:00`. + BackupTime pulumi.StringInput `pulumi:"backupTime"` + // Whether to enable automatic backup of cos. + IsAutoBackup pulumi.BoolInput `pulumi:"isAutoBackup"` +} + +func (InstanceCosBackupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCosBackup)(nil)).Elem() +} + +func (i InstanceCosBackupArgs) ToInstanceCosBackupOutput() InstanceCosBackupOutput { + return i.ToInstanceCosBackupOutputWithContext(context.Background()) +} + +func (i InstanceCosBackupArgs) ToInstanceCosBackupOutputWithContext(ctx context.Context) InstanceCosBackupOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCosBackupOutput) +} + +func (i InstanceCosBackupArgs) ToInstanceCosBackupPtrOutput() InstanceCosBackupPtrOutput { + return i.ToInstanceCosBackupPtrOutputWithContext(context.Background()) +} + +func (i InstanceCosBackupArgs) ToInstanceCosBackupPtrOutputWithContext(ctx context.Context) InstanceCosBackupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCosBackupOutput).ToInstanceCosBackupPtrOutputWithContext(ctx) +} + +// InstanceCosBackupPtrInput is an input type that accepts InstanceCosBackupArgs, InstanceCosBackupPtr and InstanceCosBackupPtrOutput values. +// You can construct a concrete instance of `InstanceCosBackupPtrInput` via: +// +// InstanceCosBackupArgs{...} +// +// or: +// +// nil +type InstanceCosBackupPtrInput interface { + pulumi.Input + + ToInstanceCosBackupPtrOutput() InstanceCosBackupPtrOutput + ToInstanceCosBackupPtrOutputWithContext(context.Context) InstanceCosBackupPtrOutput +} + +type instanceCosBackupPtrType InstanceCosBackupArgs + +func InstanceCosBackupPtr(v *InstanceCosBackupArgs) InstanceCosBackupPtrInput { + return (*instanceCosBackupPtrType)(v) +} + +func (*instanceCosBackupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCosBackup)(nil)).Elem() +} + +func (i *instanceCosBackupPtrType) ToInstanceCosBackupPtrOutput() InstanceCosBackupPtrOutput { + return i.ToInstanceCosBackupPtrOutputWithContext(context.Background()) +} + +func (i *instanceCosBackupPtrType) ToInstanceCosBackupPtrOutputWithContext(ctx context.Context) InstanceCosBackupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCosBackupPtrOutput) +} + +type InstanceCosBackupOutput struct{ *pulumi.OutputState } + +func (InstanceCosBackupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCosBackup)(nil)).Elem() +} + +func (o InstanceCosBackupOutput) ToInstanceCosBackupOutput() InstanceCosBackupOutput { + return o +} + +func (o InstanceCosBackupOutput) ToInstanceCosBackupOutputWithContext(ctx context.Context) InstanceCosBackupOutput { + return o +} + +func (o InstanceCosBackupOutput) ToInstanceCosBackupPtrOutput() InstanceCosBackupPtrOutput { + return o.ToInstanceCosBackupPtrOutputWithContext(context.Background()) +} + +func (o InstanceCosBackupOutput) ToInstanceCosBackupPtrOutputWithContext(ctx context.Context) InstanceCosBackupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCosBackup) *InstanceCosBackup { + return &v + }).(InstanceCosBackupPtrOutput) +} + +// Automatic backup execution time (accurate to the hour), e.g. `22:00`. +func (o InstanceCosBackupOutput) BackupTime() pulumi.StringOutput { + return o.ApplyT(func(v InstanceCosBackup) string { return v.BackupTime }).(pulumi.StringOutput) +} + +// Whether to enable automatic backup of cos. +func (o InstanceCosBackupOutput) IsAutoBackup() pulumi.BoolOutput { + return o.ApplyT(func(v InstanceCosBackup) bool { return v.IsAutoBackup }).(pulumi.BoolOutput) +} + +type InstanceCosBackupPtrOutput struct{ *pulumi.OutputState } + +func (InstanceCosBackupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCosBackup)(nil)).Elem() +} + +func (o InstanceCosBackupPtrOutput) ToInstanceCosBackupPtrOutput() InstanceCosBackupPtrOutput { + return o +} + +func (o InstanceCosBackupPtrOutput) ToInstanceCosBackupPtrOutputWithContext(ctx context.Context) InstanceCosBackupPtrOutput { + return o +} + +func (o InstanceCosBackupPtrOutput) Elem() InstanceCosBackupOutput { + return o.ApplyT(func(v *InstanceCosBackup) InstanceCosBackup { + if v != nil { + return *v + } + var ret InstanceCosBackup + return ret + }).(InstanceCosBackupOutput) +} + +// Automatic backup execution time (accurate to the hour), e.g. `22:00`. +func (o InstanceCosBackupPtrOutput) BackupTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceCosBackup) *string { + if v == nil { + return nil + } + return &v.BackupTime + }).(pulumi.StringPtrOutput) +} + +// Whether to enable automatic backup of cos. +func (o InstanceCosBackupPtrOutput) IsAutoBackup() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstanceCosBackup) *bool { + if v == nil { + return nil + } + return &v.IsAutoBackup + }).(pulumi.BoolPtrOutput) +} + type InstanceEsAcl struct { // Blacklist of kibana access. BlackLists []string `pulumi:"blackLists"` @@ -393,7 +549,7 @@ func (o InstanceMultiZoneInfoArrayOutput) Index(i pulumi.IntInput) InstanceMulti type InstanceNodeInfoList struct { // Node disk size. Unit is GB, and default value is `100`. DiskSize *int `pulumi:"diskSize"` - // Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + // Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. DiskType *string `pulumi:"diskType"` // Decides to encrypt this disk or not. Encrypt *bool `pulumi:"encrypt"` @@ -419,7 +575,7 @@ type InstanceNodeInfoListInput interface { type InstanceNodeInfoListArgs struct { // Node disk size. Unit is GB, and default value is `100`. DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - // Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + // Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. DiskType pulumi.StringPtrInput `pulumi:"diskType"` // Decides to encrypt this disk or not. Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` @@ -487,7 +643,7 @@ func (o InstanceNodeInfoListOutput) DiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceNodeInfoList) *int { return v.DiskSize }).(pulumi.IntPtrOutput) } -// Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. +// Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. func (o InstanceNodeInfoListOutput) DiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceNodeInfoList) *string { return v.DiskType }).(pulumi.StringPtrOutput) } @@ -6361,6 +6517,8 @@ func (o GetViewsNodesViewArrayOutput) Index(i pulumi.IntInput) GetViewsNodesView func init() { pulumi.RegisterInputType(reflect.TypeOf((*DiagnoseDiagnoseJobMetaInput)(nil)).Elem(), DiagnoseDiagnoseJobMetaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DiagnoseDiagnoseJobMetaArrayInput)(nil)).Elem(), DiagnoseDiagnoseJobMetaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceCosBackupInput)(nil)).Elem(), InstanceCosBackupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceCosBackupPtrInput)(nil)).Elem(), InstanceCosBackupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceEsAclInput)(nil)).Elem(), InstanceEsAclArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceEsAclPtrInput)(nil)).Elem(), InstanceEsAclArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceMultiZoneInfoInput)(nil)).Elem(), InstanceMultiZoneInfoArgs{}) @@ -6447,6 +6605,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetViewsNodesViewArrayInput)(nil)).Elem(), GetViewsNodesViewArray{}) pulumi.RegisterOutputType(DiagnoseDiagnoseJobMetaOutput{}) pulumi.RegisterOutputType(DiagnoseDiagnoseJobMetaArrayOutput{}) + pulumi.RegisterOutputType(InstanceCosBackupOutput{}) + pulumi.RegisterOutputType(InstanceCosBackupPtrOutput{}) pulumi.RegisterOutputType(InstanceEsAclOutput{}) pulumi.RegisterOutputType(InstanceEsAclPtrOutput{}) pulumi.RegisterOutputType(InstanceMultiZoneInfoOutput{}) diff --git a/sdk/go/tencentcloud/emr/cluster.go b/sdk/go/tencentcloud/emr/cluster.go index de093f252..4d35a014b 100644 --- a/sdk/go/tencentcloud/emr/cluster.go +++ b/sdk/go/tencentcloud/emr/cluster.go @@ -146,6 +146,8 @@ import ( type Cluster struct { pulumi.CustomResourceState + // 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + AutoRenew pulumi.IntOutput `pulumi:"autoRenew"` // It will be deprecated in later versions. Display strategy of EMR instance. // // Deprecated: It will be deprecated in later versions. @@ -259,6 +261,8 @@ func GetCluster(ctx *pulumi.Context, // Input properties used for looking up and filtering Cluster resources. type clusterState struct { + // 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + AutoRenew *int `pulumi:"autoRenew"` // It will be deprecated in later versions. Display strategy of EMR instance. // // Deprecated: It will be deprecated in later versions. @@ -318,6 +322,8 @@ type clusterState struct { } type ClusterState struct { + // 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + AutoRenew pulumi.IntPtrInput // It will be deprecated in later versions. Display strategy of EMR instance. // // Deprecated: It will be deprecated in later versions. @@ -381,6 +387,8 @@ func (ClusterState) ElementType() reflect.Type { } type clusterArgs struct { + // 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + AutoRenew *int `pulumi:"autoRenew"` // It will be deprecated in later versions. Display strategy of EMR instance. // // Deprecated: It will be deprecated in later versions. @@ -439,6 +447,8 @@ type clusterArgs struct { // The set of arguments for constructing a Cluster resource. type ClusterArgs struct { + // 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + AutoRenew pulumi.IntPtrInput // It will be deprecated in later versions. Display strategy of EMR instance. // // Deprecated: It will be deprecated in later versions. @@ -582,6 +592,11 @@ func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOu return o } +// 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. +func (o ClusterOutput) AutoRenew() pulumi.IntOutput { + return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.AutoRenew }).(pulumi.IntOutput) +} + // It will be deprecated in later versions. Display strategy of EMR instance. // // Deprecated: It will be deprecated in later versions. diff --git a/sdk/go/tencentcloud/eni/instance.go b/sdk/go/tencentcloud/eni/instance.go index a8b01a293..7da3d36b8 100644 --- a/sdk/go/tencentcloud/eni/instance.go +++ b/sdk/go/tencentcloud/eni/instance.go @@ -104,6 +104,8 @@ import ( type Instance struct { pulumi.CustomResourceState + // CDC instance ID. + CdcId pulumi.StringOutput `pulumi:"cdcId"` // Creation time of the ENI. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Description of the IP, maximum length 25. @@ -168,6 +170,8 @@ func GetInstance(ctx *pulumi.Context, // Input properties used for looking up and filtering Instance resources. type instanceState struct { + // CDC instance ID. + CdcId *string `pulumi:"cdcId"` // Creation time of the ENI. CreateTime *string `pulumi:"createTime"` // Description of the IP, maximum length 25. @@ -197,6 +201,8 @@ type instanceState struct { } type InstanceState struct { + // CDC instance ID. + CdcId pulumi.StringPtrInput // Creation time of the ENI. CreateTime pulumi.StringPtrInput // Description of the IP, maximum length 25. @@ -355,6 +361,11 @@ func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) Instanc return o } +// CDC instance ID. +func (o InstanceOutput) CdcId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CdcId }).(pulumi.StringOutput) +} + // Creation time of the ENI. func (o InstanceOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/enis/pulumiTypes.go b/sdk/go/tencentcloud/enis/pulumiTypes.go index 05493ba90..fced7e21b 100644 --- a/sdk/go/tencentcloud/enis/pulumiTypes.go +++ b/sdk/go/tencentcloud/enis/pulumiTypes.go @@ -14,6 +14,8 @@ import ( var _ = internal.GetEnvOrDefault type GetInstanceEni struct { + // CDC instance ID. + CdcId string `pulumi:"cdcId"` // Creation time of the ENI. CreateTime string `pulumi:"createTime"` // Description of the ENI. Conflict with `ids`. @@ -54,6 +56,8 @@ type GetInstanceEniInput interface { } type GetInstanceEniArgs struct { + // CDC instance ID. + CdcId pulumi.StringInput `pulumi:"cdcId"` // Creation time of the ENI. CreateTime pulumi.StringInput `pulumi:"createTime"` // Description of the ENI. Conflict with `ids`. @@ -133,6 +137,11 @@ func (o GetInstanceEniOutput) ToGetInstanceEniOutputWithContext(ctx context.Cont return o } +// CDC instance ID. +func (o GetInstanceEniOutput) CdcId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceEni) string { return v.CdcId }).(pulumi.StringOutput) +} + // Creation time of the ENI. func (o GetInstanceEniOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceEni) string { return v.CreateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/gaap/layer4Listener.go b/sdk/go/tencentcloud/gaap/layer4Listener.go index a5a1cc81a..9a58a1db4 100644 --- a/sdk/go/tencentcloud/gaap/layer4Listener.go +++ b/sdk/go/tencentcloud/gaap/layer4Listener.go @@ -89,15 +89,23 @@ import ( type Layer4Listener struct { pulumi.CustomResourceState + // UDP origin station health check probe port. + CheckPort pulumi.IntOutput `pulumi:"checkPort"` + // UDP origin server health type. PORT means check port, and PING means PING. + CheckType pulumi.StringOutput `pulumi:"checkType"` // The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. ClientIpMethod pulumi.IntPtrOutput `pulumi:"clientIpMethod"` - // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. ConnectTimeout pulumi.IntPtrOutput `pulumi:"connectTimeout"` + // UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + ContextType pulumi.StringOutput `pulumi:"contextType"` // Creation time of the layer4 listener. CreateTime pulumi.StringOutput `pulumi:"createTime"` - // Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + // Indicates whether health check is enable, default value is `false`. HealthCheck pulumi.BoolPtrOutput `pulumi:"healthCheck"` - // Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + // Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + HealthyThreshold pulumi.IntPtrOutput `pulumi:"healthyThreshold"` + // Interval of the health check, default value is 5s. Interval pulumi.IntPtrOutput `pulumi:"interval"` // Name of the layer4 listener, the maximum length is 30. Name pulumi.StringOutput `pulumi:"name"` @@ -111,10 +119,16 @@ type Layer4Listener struct { RealserverBindSets Layer4ListenerRealserverBindSetArrayOutput `pulumi:"realserverBindSets"` // Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. RealserverType pulumi.StringOutput `pulumi:"realserverType"` + // UDP source server health check port detects received messages. Only used when the health check type is PORT. + RecvContext pulumi.StringOutput `pulumi:"recvContext"` // Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. Scheduler pulumi.StringPtrOutput `pulumi:"scheduler"` + // UDP source server health check port detection sends messages. Only used when health check type is PORT. + SendContext pulumi.StringOutput `pulumi:"sendContext"` // Status of the layer4 listener. Status pulumi.IntOutput `pulumi:"status"` + // Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + UnhealthyThreshold pulumi.IntPtrOutput `pulumi:"unhealthyThreshold"` } // NewLayer4Listener registers a new resource with the given unique name, arguments, and options. @@ -159,15 +173,23 @@ func GetLayer4Listener(ctx *pulumi.Context, // Input properties used for looking up and filtering Layer4Listener resources. type layer4ListenerState struct { + // UDP origin station health check probe port. + CheckPort *int `pulumi:"checkPort"` + // UDP origin server health type. PORT means check port, and PING means PING. + CheckType *string `pulumi:"checkType"` // The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. ClientIpMethod *int `pulumi:"clientIpMethod"` - // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. ConnectTimeout *int `pulumi:"connectTimeout"` + // UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + ContextType *string `pulumi:"contextType"` // Creation time of the layer4 listener. CreateTime *string `pulumi:"createTime"` - // Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + // Indicates whether health check is enable, default value is `false`. HealthCheck *bool `pulumi:"healthCheck"` - // Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + // Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + HealthyThreshold *int `pulumi:"healthyThreshold"` + // Interval of the health check, default value is 5s. Interval *int `pulumi:"interval"` // Name of the layer4 listener, the maximum length is 30. Name *string `pulumi:"name"` @@ -181,22 +203,36 @@ type layer4ListenerState struct { RealserverBindSets []Layer4ListenerRealserverBindSet `pulumi:"realserverBindSets"` // Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. RealserverType *string `pulumi:"realserverType"` + // UDP source server health check port detects received messages. Only used when the health check type is PORT. + RecvContext *string `pulumi:"recvContext"` // Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. Scheduler *string `pulumi:"scheduler"` + // UDP source server health check port detection sends messages. Only used when health check type is PORT. + SendContext *string `pulumi:"sendContext"` // Status of the layer4 listener. Status *int `pulumi:"status"` + // Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + UnhealthyThreshold *int `pulumi:"unhealthyThreshold"` } type Layer4ListenerState struct { + // UDP origin station health check probe port. + CheckPort pulumi.IntPtrInput + // UDP origin server health type. PORT means check port, and PING means PING. + CheckType pulumi.StringPtrInput // The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. ClientIpMethod pulumi.IntPtrInput - // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. ConnectTimeout pulumi.IntPtrInput + // UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + ContextType pulumi.StringPtrInput // Creation time of the layer4 listener. CreateTime pulumi.StringPtrInput - // Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + // Indicates whether health check is enable, default value is `false`. HealthCheck pulumi.BoolPtrInput - // Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + // Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + HealthyThreshold pulumi.IntPtrInput + // Interval of the health check, default value is 5s. Interval pulumi.IntPtrInput // Name of the layer4 listener, the maximum length is 30. Name pulumi.StringPtrInput @@ -210,10 +246,16 @@ type Layer4ListenerState struct { RealserverBindSets Layer4ListenerRealserverBindSetArrayInput // Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. RealserverType pulumi.StringPtrInput + // UDP source server health check port detects received messages. Only used when the health check type is PORT. + RecvContext pulumi.StringPtrInput // Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. Scheduler pulumi.StringPtrInput + // UDP source server health check port detection sends messages. Only used when health check type is PORT. + SendContext pulumi.StringPtrInput // Status of the layer4 listener. Status pulumi.IntPtrInput + // Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + UnhealthyThreshold pulumi.IntPtrInput } func (Layer4ListenerState) ElementType() reflect.Type { @@ -221,13 +263,21 @@ func (Layer4ListenerState) ElementType() reflect.Type { } type layer4ListenerArgs struct { + // UDP origin station health check probe port. + CheckPort *int `pulumi:"checkPort"` + // UDP origin server health type. PORT means check port, and PING means PING. + CheckType *string `pulumi:"checkType"` // The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. ClientIpMethod *int `pulumi:"clientIpMethod"` - // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. ConnectTimeout *int `pulumi:"connectTimeout"` - // Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + // UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + ContextType *string `pulumi:"contextType"` + // Indicates whether health check is enable, default value is `false`. HealthCheck *bool `pulumi:"healthCheck"` - // Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + // Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + HealthyThreshold *int `pulumi:"healthyThreshold"` + // Interval of the health check, default value is 5s. Interval *int `pulumi:"interval"` // Name of the layer4 listener, the maximum length is 30. Name *string `pulumi:"name"` @@ -241,19 +291,33 @@ type layer4ListenerArgs struct { RealserverBindSets []Layer4ListenerRealserverBindSet `pulumi:"realserverBindSets"` // Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. RealserverType string `pulumi:"realserverType"` + // UDP source server health check port detects received messages. Only used when the health check type is PORT. + RecvContext *string `pulumi:"recvContext"` // Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. Scheduler *string `pulumi:"scheduler"` + // UDP source server health check port detection sends messages. Only used when health check type is PORT. + SendContext *string `pulumi:"sendContext"` + // Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + UnhealthyThreshold *int `pulumi:"unhealthyThreshold"` } // The set of arguments for constructing a Layer4Listener resource. type Layer4ListenerArgs struct { + // UDP origin station health check probe port. + CheckPort pulumi.IntPtrInput + // UDP origin server health type. PORT means check port, and PING means PING. + CheckType pulumi.StringPtrInput // The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. ClientIpMethod pulumi.IntPtrInput - // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + // Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. ConnectTimeout pulumi.IntPtrInput - // Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + // UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + ContextType pulumi.StringPtrInput + // Indicates whether health check is enable, default value is `false`. HealthCheck pulumi.BoolPtrInput - // Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + // Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + HealthyThreshold pulumi.IntPtrInput + // Interval of the health check, default value is 5s. Interval pulumi.IntPtrInput // Name of the layer4 listener, the maximum length is 30. Name pulumi.StringPtrInput @@ -267,8 +331,14 @@ type Layer4ListenerArgs struct { RealserverBindSets Layer4ListenerRealserverBindSetArrayInput // Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. RealserverType pulumi.StringInput + // UDP source server health check port detects received messages. Only used when the health check type is PORT. + RecvContext pulumi.StringPtrInput // Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. Scheduler pulumi.StringPtrInput + // UDP source server health check port detection sends messages. Only used when health check type is PORT. + SendContext pulumi.StringPtrInput + // Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + UnhealthyThreshold pulumi.IntPtrInput } func (Layer4ListenerArgs) ElementType() reflect.Type { @@ -358,27 +428,47 @@ func (o Layer4ListenerOutput) ToLayer4ListenerOutputWithContext(ctx context.Cont return o } +// UDP origin station health check probe port. +func (o Layer4ListenerOutput) CheckPort() pulumi.IntOutput { + return o.ApplyT(func(v *Layer4Listener) pulumi.IntOutput { return v.CheckPort }).(pulumi.IntOutput) +} + +// UDP origin server health type. PORT means check port, and PING means PING. +func (o Layer4ListenerOutput) CheckType() pulumi.StringOutput { + return o.ApplyT(func(v *Layer4Listener) pulumi.StringOutput { return v.CheckType }).(pulumi.StringOutput) +} + // The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. func (o Layer4ListenerOutput) ClientIpMethod() pulumi.IntPtrOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.IntPtrOutput { return v.ClientIpMethod }).(pulumi.IntPtrOutput) } -// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. +// Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. func (o Layer4ListenerOutput) ConnectTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.IntPtrOutput { return v.ConnectTimeout }).(pulumi.IntPtrOutput) } +// UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. +func (o Layer4ListenerOutput) ContextType() pulumi.StringOutput { + return o.ApplyT(func(v *Layer4Listener) pulumi.StringOutput { return v.ContextType }).(pulumi.StringOutput) +} + // Creation time of the layer4 listener. func (o Layer4ListenerOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } -// Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. +// Indicates whether health check is enable, default value is `false`. func (o Layer4ListenerOutput) HealthCheck() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.BoolPtrOutput { return v.HealthCheck }).(pulumi.BoolPtrOutput) } -// Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. +// Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. +func (o Layer4ListenerOutput) HealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Layer4Listener) pulumi.IntPtrOutput { return v.HealthyThreshold }).(pulumi.IntPtrOutput) +} + +// Interval of the health check, default value is 5s. func (o Layer4ListenerOutput) Interval() pulumi.IntPtrOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.IntPtrOutput { return v.Interval }).(pulumi.IntPtrOutput) } @@ -413,16 +503,31 @@ func (o Layer4ListenerOutput) RealserverType() pulumi.StringOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.StringOutput { return v.RealserverType }).(pulumi.StringOutput) } +// UDP source server health check port detects received messages. Only used when the health check type is PORT. +func (o Layer4ListenerOutput) RecvContext() pulumi.StringOutput { + return o.ApplyT(func(v *Layer4Listener) pulumi.StringOutput { return v.RecvContext }).(pulumi.StringOutput) +} + // Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. func (o Layer4ListenerOutput) Scheduler() pulumi.StringPtrOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.StringPtrOutput { return v.Scheduler }).(pulumi.StringPtrOutput) } +// UDP source server health check port detection sends messages. Only used when health check type is PORT. +func (o Layer4ListenerOutput) SendContext() pulumi.StringOutput { + return o.ApplyT(func(v *Layer4Listener) pulumi.StringOutput { return v.SendContext }).(pulumi.StringOutput) +} + // Status of the layer4 listener. func (o Layer4ListenerOutput) Status() pulumi.IntOutput { return o.ApplyT(func(v *Layer4Listener) pulumi.IntOutput { return v.Status }).(pulumi.IntOutput) } +// Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. +func (o Layer4ListenerOutput) UnhealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Layer4Listener) pulumi.IntPtrOutput { return v.UnhealthyThreshold }).(pulumi.IntPtrOutput) +} + type Layer4ListenerArrayOutput struct{ *pulumi.OutputState } func (Layer4ListenerArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/tencentcloud/identity/centerExternalSamlIdentityProvider.go b/sdk/go/tencentcloud/identity/centerExternalSamlIdentityProvider.go new file mode 100644 index 000000000..6025b12ca --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerExternalSamlIdentityProvider.go @@ -0,0 +1,375 @@ +// 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 identity + +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 organization identityCenterExternalSamlIdentityProvider +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterExternalSamlIdentityProvider(ctx, "identityCenterExternalSamlIdentityProvider", &Identity.CenterExternalSamlIdentityProviderArgs{ +// SsoStatus: pulumi.String("Enabled"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_external_saml_identity_provider can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider identity_center_external_saml_identity_provider ${zoneId} +// ``` +type CenterExternalSamlIdentityProvider struct { + pulumi.CustomResourceState + + // Acs url. + AcsUrl pulumi.StringOutput `pulumi:"acsUrl"` + // Certificate ids. + CertificateIds pulumi.StringArrayOutput `pulumi:"certificateIds"` + // Create time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + EncodedMetadataDocument pulumi.StringOutput `pulumi:"encodedMetadataDocument"` + // IdP identifier. + EntityId pulumi.StringOutput `pulumi:"entityId"` + // IdP login URL. + LoginUrl pulumi.StringOutput `pulumi:"loginUrl"` + // SSO enabling status. Valid values: Enabled, Disabled (default). + SsoStatus pulumi.StringOutput `pulumi:"ssoStatus"` + // Update time. + UpdateTime pulumi.StringOutput `pulumi:"updateTime"` + // X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + X509Certificate pulumi.StringOutput `pulumi:"x509Certificate"` + // Space ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterExternalSamlIdentityProvider registers a new resource with the given unique name, arguments, and options. +func NewCenterExternalSamlIdentityProvider(ctx *pulumi.Context, + name string, args *CenterExternalSamlIdentityProviderArgs, opts ...pulumi.ResourceOption) (*CenterExternalSamlIdentityProvider, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterExternalSamlIdentityProvider + err := ctx.RegisterResource("tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterExternalSamlIdentityProvider gets an existing CenterExternalSamlIdentityProvider 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 GetCenterExternalSamlIdentityProvider(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterExternalSamlIdentityProviderState, opts ...pulumi.ResourceOption) (*CenterExternalSamlIdentityProvider, error) { + var resource CenterExternalSamlIdentityProvider + err := ctx.ReadResource("tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterExternalSamlIdentityProvider resources. +type centerExternalSamlIdentityProviderState struct { + // Acs url. + AcsUrl *string `pulumi:"acsUrl"` + // Certificate ids. + CertificateIds []string `pulumi:"certificateIds"` + // Create time. + CreateTime *string `pulumi:"createTime"` + // IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + EncodedMetadataDocument *string `pulumi:"encodedMetadataDocument"` + // IdP identifier. + EntityId *string `pulumi:"entityId"` + // IdP login URL. + LoginUrl *string `pulumi:"loginUrl"` + // SSO enabling status. Valid values: Enabled, Disabled (default). + SsoStatus *string `pulumi:"ssoStatus"` + // Update time. + UpdateTime *string `pulumi:"updateTime"` + // X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + X509Certificate *string `pulumi:"x509Certificate"` + // Space ID. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterExternalSamlIdentityProviderState struct { + // Acs url. + AcsUrl pulumi.StringPtrInput + // Certificate ids. + CertificateIds pulumi.StringArrayInput + // Create time. + CreateTime pulumi.StringPtrInput + // IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + EncodedMetadataDocument pulumi.StringPtrInput + // IdP identifier. + EntityId pulumi.StringPtrInput + // IdP login URL. + LoginUrl pulumi.StringPtrInput + // SSO enabling status. Valid values: Enabled, Disabled (default). + SsoStatus pulumi.StringPtrInput + // Update time. + UpdateTime pulumi.StringPtrInput + // X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + X509Certificate pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringPtrInput +} + +func (CenterExternalSamlIdentityProviderState) ElementType() reflect.Type { + return reflect.TypeOf((*centerExternalSamlIdentityProviderState)(nil)).Elem() +} + +type centerExternalSamlIdentityProviderArgs struct { + // IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + EncodedMetadataDocument *string `pulumi:"encodedMetadataDocument"` + // IdP identifier. + EntityId *string `pulumi:"entityId"` + // IdP login URL. + LoginUrl *string `pulumi:"loginUrl"` + // SSO enabling status. Valid values: Enabled, Disabled (default). + SsoStatus *string `pulumi:"ssoStatus"` + // X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + X509Certificate *string `pulumi:"x509Certificate"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterExternalSamlIdentityProvider resource. +type CenterExternalSamlIdentityProviderArgs struct { + // IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + EncodedMetadataDocument pulumi.StringPtrInput + // IdP identifier. + EntityId pulumi.StringPtrInput + // IdP login URL. + LoginUrl pulumi.StringPtrInput + // SSO enabling status. Valid values: Enabled, Disabled (default). + SsoStatus pulumi.StringPtrInput + // X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + X509Certificate pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringInput +} + +func (CenterExternalSamlIdentityProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerExternalSamlIdentityProviderArgs)(nil)).Elem() +} + +type CenterExternalSamlIdentityProviderInput interface { + pulumi.Input + + ToCenterExternalSamlIdentityProviderOutput() CenterExternalSamlIdentityProviderOutput + ToCenterExternalSamlIdentityProviderOutputWithContext(ctx context.Context) CenterExternalSamlIdentityProviderOutput +} + +func (*CenterExternalSamlIdentityProvider) ElementType() reflect.Type { + return reflect.TypeOf((**CenterExternalSamlIdentityProvider)(nil)).Elem() +} + +func (i *CenterExternalSamlIdentityProvider) ToCenterExternalSamlIdentityProviderOutput() CenterExternalSamlIdentityProviderOutput { + return i.ToCenterExternalSamlIdentityProviderOutputWithContext(context.Background()) +} + +func (i *CenterExternalSamlIdentityProvider) ToCenterExternalSamlIdentityProviderOutputWithContext(ctx context.Context) CenterExternalSamlIdentityProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterExternalSamlIdentityProviderOutput) +} + +// CenterExternalSamlIdentityProviderArrayInput is an input type that accepts CenterExternalSamlIdentityProviderArray and CenterExternalSamlIdentityProviderArrayOutput values. +// You can construct a concrete instance of `CenterExternalSamlIdentityProviderArrayInput` via: +// +// CenterExternalSamlIdentityProviderArray{ CenterExternalSamlIdentityProviderArgs{...} } +type CenterExternalSamlIdentityProviderArrayInput interface { + pulumi.Input + + ToCenterExternalSamlIdentityProviderArrayOutput() CenterExternalSamlIdentityProviderArrayOutput + ToCenterExternalSamlIdentityProviderArrayOutputWithContext(context.Context) CenterExternalSamlIdentityProviderArrayOutput +} + +type CenterExternalSamlIdentityProviderArray []CenterExternalSamlIdentityProviderInput + +func (CenterExternalSamlIdentityProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterExternalSamlIdentityProvider)(nil)).Elem() +} + +func (i CenterExternalSamlIdentityProviderArray) ToCenterExternalSamlIdentityProviderArrayOutput() CenterExternalSamlIdentityProviderArrayOutput { + return i.ToCenterExternalSamlIdentityProviderArrayOutputWithContext(context.Background()) +} + +func (i CenterExternalSamlIdentityProviderArray) ToCenterExternalSamlIdentityProviderArrayOutputWithContext(ctx context.Context) CenterExternalSamlIdentityProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterExternalSamlIdentityProviderArrayOutput) +} + +// CenterExternalSamlIdentityProviderMapInput is an input type that accepts CenterExternalSamlIdentityProviderMap and CenterExternalSamlIdentityProviderMapOutput values. +// You can construct a concrete instance of `CenterExternalSamlIdentityProviderMapInput` via: +// +// CenterExternalSamlIdentityProviderMap{ "key": CenterExternalSamlIdentityProviderArgs{...} } +type CenterExternalSamlIdentityProviderMapInput interface { + pulumi.Input + + ToCenterExternalSamlIdentityProviderMapOutput() CenterExternalSamlIdentityProviderMapOutput + ToCenterExternalSamlIdentityProviderMapOutputWithContext(context.Context) CenterExternalSamlIdentityProviderMapOutput +} + +type CenterExternalSamlIdentityProviderMap map[string]CenterExternalSamlIdentityProviderInput + +func (CenterExternalSamlIdentityProviderMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterExternalSamlIdentityProvider)(nil)).Elem() +} + +func (i CenterExternalSamlIdentityProviderMap) ToCenterExternalSamlIdentityProviderMapOutput() CenterExternalSamlIdentityProviderMapOutput { + return i.ToCenterExternalSamlIdentityProviderMapOutputWithContext(context.Background()) +} + +func (i CenterExternalSamlIdentityProviderMap) ToCenterExternalSamlIdentityProviderMapOutputWithContext(ctx context.Context) CenterExternalSamlIdentityProviderMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterExternalSamlIdentityProviderMapOutput) +} + +type CenterExternalSamlIdentityProviderOutput struct{ *pulumi.OutputState } + +func (CenterExternalSamlIdentityProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterExternalSamlIdentityProvider)(nil)).Elem() +} + +func (o CenterExternalSamlIdentityProviderOutput) ToCenterExternalSamlIdentityProviderOutput() CenterExternalSamlIdentityProviderOutput { + return o +} + +func (o CenterExternalSamlIdentityProviderOutput) ToCenterExternalSamlIdentityProviderOutputWithContext(ctx context.Context) CenterExternalSamlIdentityProviderOutput { + return o +} + +// Acs url. +func (o CenterExternalSamlIdentityProviderOutput) AcsUrl() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.AcsUrl }).(pulumi.StringOutput) +} + +// Certificate ids. +func (o CenterExternalSamlIdentityProviderOutput) CertificateIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringArrayOutput { return v.CertificateIds }).(pulumi.StringArrayOutput) +} + +// Create time. +func (o CenterExternalSamlIdentityProviderOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. +func (o CenterExternalSamlIdentityProviderOutput) EncodedMetadataDocument() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.EncodedMetadataDocument }).(pulumi.StringOutput) +} + +// IdP identifier. +func (o CenterExternalSamlIdentityProviderOutput) EntityId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.EntityId }).(pulumi.StringOutput) +} + +// IdP login URL. +func (o CenterExternalSamlIdentityProviderOutput) LoginUrl() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.LoginUrl }).(pulumi.StringOutput) +} + +// SSO enabling status. Valid values: Enabled, Disabled (default). +func (o CenterExternalSamlIdentityProviderOutput) SsoStatus() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.SsoStatus }).(pulumi.StringOutput) +} + +// Update time. +func (o CenterExternalSamlIdentityProviderOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) +} + +// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. +func (o CenterExternalSamlIdentityProviderOutput) X509Certificate() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.X509Certificate }).(pulumi.StringOutput) +} + +// Space ID. +func (o CenterExternalSamlIdentityProviderOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterExternalSamlIdentityProvider) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterExternalSamlIdentityProviderArrayOutput struct{ *pulumi.OutputState } + +func (CenterExternalSamlIdentityProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterExternalSamlIdentityProvider)(nil)).Elem() +} + +func (o CenterExternalSamlIdentityProviderArrayOutput) ToCenterExternalSamlIdentityProviderArrayOutput() CenterExternalSamlIdentityProviderArrayOutput { + return o +} + +func (o CenterExternalSamlIdentityProviderArrayOutput) ToCenterExternalSamlIdentityProviderArrayOutputWithContext(ctx context.Context) CenterExternalSamlIdentityProviderArrayOutput { + return o +} + +func (o CenterExternalSamlIdentityProviderArrayOutput) Index(i pulumi.IntInput) CenterExternalSamlIdentityProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterExternalSamlIdentityProvider { + return vs[0].([]*CenterExternalSamlIdentityProvider)[vs[1].(int)] + }).(CenterExternalSamlIdentityProviderOutput) +} + +type CenterExternalSamlIdentityProviderMapOutput struct{ *pulumi.OutputState } + +func (CenterExternalSamlIdentityProviderMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterExternalSamlIdentityProvider)(nil)).Elem() +} + +func (o CenterExternalSamlIdentityProviderMapOutput) ToCenterExternalSamlIdentityProviderMapOutput() CenterExternalSamlIdentityProviderMapOutput { + return o +} + +func (o CenterExternalSamlIdentityProviderMapOutput) ToCenterExternalSamlIdentityProviderMapOutputWithContext(ctx context.Context) CenterExternalSamlIdentityProviderMapOutput { + return o +} + +func (o CenterExternalSamlIdentityProviderMapOutput) MapIndex(k pulumi.StringInput) CenterExternalSamlIdentityProviderOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterExternalSamlIdentityProvider { + return vs[0].(map[string]*CenterExternalSamlIdentityProvider)[vs[1].(string)] + }).(CenterExternalSamlIdentityProviderOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterExternalSamlIdentityProviderInput)(nil)).Elem(), &CenterExternalSamlIdentityProvider{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterExternalSamlIdentityProviderArrayInput)(nil)).Elem(), CenterExternalSamlIdentityProviderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterExternalSamlIdentityProviderMapInput)(nil)).Elem(), CenterExternalSamlIdentityProviderMap{}) + pulumi.RegisterOutputType(CenterExternalSamlIdentityProviderOutput{}) + pulumi.RegisterOutputType(CenterExternalSamlIdentityProviderArrayOutput{}) + pulumi.RegisterOutputType(CenterExternalSamlIdentityProviderMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerGroup.go b/sdk/go/tencentcloud/identity/centerGroup.go new file mode 100644 index 000000000..c103e8ff7 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerGroup.go @@ -0,0 +1,345 @@ +// 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 identity + +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 an identity center group +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterGroup(ctx, "identityCenterGroup", &Identity.CenterGroupArgs{ +// Description: pulumi.String("test"), +// GroupName: pulumi.String("test-group"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// tencentcloud_identity_center_group can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerGroup:CenterGroup identity_center_group ${zoneId}#${groupId} +// ``` +type CenterGroup struct { + pulumi.CustomResourceState + + // Creation time of the user group. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // A description of the user group. Length: Maximum 1024 characters. + Description pulumi.StringOutput `pulumi:"description"` + // ID of the user group. + GroupId pulumi.StringOutput `pulumi:"groupId"` + // The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + GroupName pulumi.StringOutput `pulumi:"groupName"` + // Type of user group. `Manual`: manual creation, `Synchronized`: external import. + GroupType pulumi.StringOutput `pulumi:"groupType"` + // Number of team members. + MemberCount pulumi.IntOutput `pulumi:"memberCount"` + // Modification time for the user group. + UpdateTime pulumi.StringOutput `pulumi:"updateTime"` + // Zone id. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterGroup registers a new resource with the given unique name, arguments, and options. +func NewCenterGroup(ctx *pulumi.Context, + name string, args *CenterGroupArgs, opts ...pulumi.ResourceOption) (*CenterGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GroupName == nil { + return nil, errors.New("invalid value for required argument 'GroupName'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterGroup + err := ctx.RegisterResource("tencentcloud:Identity/centerGroup:CenterGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterGroup gets an existing CenterGroup 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 GetCenterGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterGroupState, opts ...pulumi.ResourceOption) (*CenterGroup, error) { + var resource CenterGroup + err := ctx.ReadResource("tencentcloud:Identity/centerGroup:CenterGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterGroup resources. +type centerGroupState struct { + // Creation time of the user group. + CreateTime *string `pulumi:"createTime"` + // A description of the user group. Length: Maximum 1024 characters. + Description *string `pulumi:"description"` + // ID of the user group. + GroupId *string `pulumi:"groupId"` + // The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + GroupName *string `pulumi:"groupName"` + // Type of user group. `Manual`: manual creation, `Synchronized`: external import. + GroupType *string `pulumi:"groupType"` + // Number of team members. + MemberCount *int `pulumi:"memberCount"` + // Modification time for the user group. + UpdateTime *string `pulumi:"updateTime"` + // Zone id. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterGroupState struct { + // Creation time of the user group. + CreateTime pulumi.StringPtrInput + // A description of the user group. Length: Maximum 1024 characters. + Description pulumi.StringPtrInput + // ID of the user group. + GroupId pulumi.StringPtrInput + // The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + GroupName pulumi.StringPtrInput + // Type of user group. `Manual`: manual creation, `Synchronized`: external import. + GroupType pulumi.StringPtrInput + // Number of team members. + MemberCount pulumi.IntPtrInput + // Modification time for the user group. + UpdateTime pulumi.StringPtrInput + // Zone id. + ZoneId pulumi.StringPtrInput +} + +func (CenterGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*centerGroupState)(nil)).Elem() +} + +type centerGroupArgs struct { + // A description of the user group. Length: Maximum 1024 characters. + Description *string `pulumi:"description"` + // The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + GroupName string `pulumi:"groupName"` + // Zone id. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterGroup resource. +type CenterGroupArgs struct { + // A description of the user group. Length: Maximum 1024 characters. + Description pulumi.StringPtrInput + // The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + GroupName pulumi.StringInput + // Zone id. + ZoneId pulumi.StringInput +} + +func (CenterGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerGroupArgs)(nil)).Elem() +} + +type CenterGroupInput interface { + pulumi.Input + + ToCenterGroupOutput() CenterGroupOutput + ToCenterGroupOutputWithContext(ctx context.Context) CenterGroupOutput +} + +func (*CenterGroup) ElementType() reflect.Type { + return reflect.TypeOf((**CenterGroup)(nil)).Elem() +} + +func (i *CenterGroup) ToCenterGroupOutput() CenterGroupOutput { + return i.ToCenterGroupOutputWithContext(context.Background()) +} + +func (i *CenterGroup) ToCenterGroupOutputWithContext(ctx context.Context) CenterGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterGroupOutput) +} + +// CenterGroupArrayInput is an input type that accepts CenterGroupArray and CenterGroupArrayOutput values. +// You can construct a concrete instance of `CenterGroupArrayInput` via: +// +// CenterGroupArray{ CenterGroupArgs{...} } +type CenterGroupArrayInput interface { + pulumi.Input + + ToCenterGroupArrayOutput() CenterGroupArrayOutput + ToCenterGroupArrayOutputWithContext(context.Context) CenterGroupArrayOutput +} + +type CenterGroupArray []CenterGroupInput + +func (CenterGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterGroup)(nil)).Elem() +} + +func (i CenterGroupArray) ToCenterGroupArrayOutput() CenterGroupArrayOutput { + return i.ToCenterGroupArrayOutputWithContext(context.Background()) +} + +func (i CenterGroupArray) ToCenterGroupArrayOutputWithContext(ctx context.Context) CenterGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterGroupArrayOutput) +} + +// CenterGroupMapInput is an input type that accepts CenterGroupMap and CenterGroupMapOutput values. +// You can construct a concrete instance of `CenterGroupMapInput` via: +// +// CenterGroupMap{ "key": CenterGroupArgs{...} } +type CenterGroupMapInput interface { + pulumi.Input + + ToCenterGroupMapOutput() CenterGroupMapOutput + ToCenterGroupMapOutputWithContext(context.Context) CenterGroupMapOutput +} + +type CenterGroupMap map[string]CenterGroupInput + +func (CenterGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterGroup)(nil)).Elem() +} + +func (i CenterGroupMap) ToCenterGroupMapOutput() CenterGroupMapOutput { + return i.ToCenterGroupMapOutputWithContext(context.Background()) +} + +func (i CenterGroupMap) ToCenterGroupMapOutputWithContext(ctx context.Context) CenterGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterGroupMapOutput) +} + +type CenterGroupOutput struct{ *pulumi.OutputState } + +func (CenterGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterGroup)(nil)).Elem() +} + +func (o CenterGroupOutput) ToCenterGroupOutput() CenterGroupOutput { + return o +} + +func (o CenterGroupOutput) ToCenterGroupOutputWithContext(ctx context.Context) CenterGroupOutput { + return o +} + +// Creation time of the user group. +func (o CenterGroupOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// A description of the user group. Length: Maximum 1024 characters. +func (o CenterGroupOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// ID of the user group. +func (o CenterGroupOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. +func (o CenterGroupOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.StringOutput { return v.GroupName }).(pulumi.StringOutput) +} + +// Type of user group. `Manual`: manual creation, `Synchronized`: external import. +func (o CenterGroupOutput) GroupType() pulumi.StringOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.StringOutput { return v.GroupType }).(pulumi.StringOutput) +} + +// Number of team members. +func (o CenterGroupOutput) MemberCount() pulumi.IntOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.IntOutput { return v.MemberCount }).(pulumi.IntOutput) +} + +// Modification time for the user group. +func (o CenterGroupOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) +} + +// Zone id. +func (o CenterGroupOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterGroup) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterGroupArrayOutput struct{ *pulumi.OutputState } + +func (CenterGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterGroup)(nil)).Elem() +} + +func (o CenterGroupArrayOutput) ToCenterGroupArrayOutput() CenterGroupArrayOutput { + return o +} + +func (o CenterGroupArrayOutput) ToCenterGroupArrayOutputWithContext(ctx context.Context) CenterGroupArrayOutput { + return o +} + +func (o CenterGroupArrayOutput) Index(i pulumi.IntInput) CenterGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterGroup { + return vs[0].([]*CenterGroup)[vs[1].(int)] + }).(CenterGroupOutput) +} + +type CenterGroupMapOutput struct{ *pulumi.OutputState } + +func (CenterGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterGroup)(nil)).Elem() +} + +func (o CenterGroupMapOutput) ToCenterGroupMapOutput() CenterGroupMapOutput { + return o +} + +func (o CenterGroupMapOutput) ToCenterGroupMapOutputWithContext(ctx context.Context) CenterGroupMapOutput { + return o +} + +func (o CenterGroupMapOutput) MapIndex(k pulumi.StringInput) CenterGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterGroup { + return vs[0].(map[string]*CenterGroup)[vs[1].(string)] + }).(CenterGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterGroupInput)(nil)).Elem(), &CenterGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterGroupArrayInput)(nil)).Elem(), CenterGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterGroupMapInput)(nil)).Elem(), CenterGroupMap{}) + pulumi.RegisterOutputType(CenterGroupOutput{}) + pulumi.RegisterOutputType(CenterGroupArrayOutput{}) + pulumi.RegisterOutputType(CenterGroupMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerRoleAssignment.go b/sdk/go/tencentcloud/identity/centerRoleAssignment.go new file mode 100644 index 000000000..48e885520 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerRoleAssignment.go @@ -0,0 +1,450 @@ +// 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 identity + +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 organization identityCenterRoleAssignment +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterRoleAssignment(ctx, "identityCenterRoleAssignment", &Identity.CenterRoleAssignmentArgs{ +// PrincipalId: pulumi.String("u-xxxxxx"), +// PrincipalType: pulumi.String("User"), +// RoleConfigurationId: pulumi.String("rc-xxxxxx"), +// TargetType: pulumi.String("MemberUin"), +// TargetUin: pulumi.Int("xxxxxx"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_role_assignment can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment identity_center_role_assignment {zoneId}#{roleConfigurationId}#{targetType}#{targetUinString}#{principalType}#{principalId} +// ``` +type CenterRoleAssignment struct { + pulumi.CustomResourceState + + // Create time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + DeprovisionStrategy pulumi.StringPtrOutput `pulumi:"deprovisionStrategy"` + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId pulumi.StringOutput `pulumi:"principalId"` + // Principal name. + PrincipalName pulumi.StringOutput `pulumi:"principalName"` + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType pulumi.StringOutput `pulumi:"principalType"` + // Permission configuration ID. + RoleConfigurationId pulumi.StringOutput `pulumi:"roleConfigurationId"` + // Role configuration name. + RoleConfigurationName pulumi.StringOutput `pulumi:"roleConfigurationName"` + // Target name. + TargetName pulumi.StringOutput `pulumi:"targetName"` + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType pulumi.StringOutput `pulumi:"targetType"` + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin pulumi.IntOutput `pulumi:"targetUin"` + // Update time. + UpdateTime pulumi.StringOutput `pulumi:"updateTime"` + // Space ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterRoleAssignment registers a new resource with the given unique name, arguments, and options. +func NewCenterRoleAssignment(ctx *pulumi.Context, + name string, args *CenterRoleAssignmentArgs, opts ...pulumi.ResourceOption) (*CenterRoleAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PrincipalId == nil { + return nil, errors.New("invalid value for required argument 'PrincipalId'") + } + if args.PrincipalType == nil { + return nil, errors.New("invalid value for required argument 'PrincipalType'") + } + if args.RoleConfigurationId == nil { + return nil, errors.New("invalid value for required argument 'RoleConfigurationId'") + } + if args.TargetType == nil { + return nil, errors.New("invalid value for required argument 'TargetType'") + } + if args.TargetUin == nil { + return nil, errors.New("invalid value for required argument 'TargetUin'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterRoleAssignment + err := ctx.RegisterResource("tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterRoleAssignment gets an existing CenterRoleAssignment 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 GetCenterRoleAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterRoleAssignmentState, opts ...pulumi.ResourceOption) (*CenterRoleAssignment, error) { + var resource CenterRoleAssignment + err := ctx.ReadResource("tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterRoleAssignment resources. +type centerRoleAssignmentState struct { + // Create time. + CreateTime *string `pulumi:"createTime"` + // When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + DeprovisionStrategy *string `pulumi:"deprovisionStrategy"` + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId *string `pulumi:"principalId"` + // Principal name. + PrincipalName *string `pulumi:"principalName"` + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType *string `pulumi:"principalType"` + // Permission configuration ID. + RoleConfigurationId *string `pulumi:"roleConfigurationId"` + // Role configuration name. + RoleConfigurationName *string `pulumi:"roleConfigurationName"` + // Target name. + TargetName *string `pulumi:"targetName"` + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType *string `pulumi:"targetType"` + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin *int `pulumi:"targetUin"` + // Update time. + UpdateTime *string `pulumi:"updateTime"` + // Space ID. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterRoleAssignmentState struct { + // Create time. + CreateTime pulumi.StringPtrInput + // When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + DeprovisionStrategy pulumi.StringPtrInput + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId pulumi.StringPtrInput + // Principal name. + PrincipalName pulumi.StringPtrInput + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType pulumi.StringPtrInput + // Permission configuration ID. + RoleConfigurationId pulumi.StringPtrInput + // Role configuration name. + RoleConfigurationName pulumi.StringPtrInput + // Target name. + TargetName pulumi.StringPtrInput + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType pulumi.StringPtrInput + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin pulumi.IntPtrInput + // Update time. + UpdateTime pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringPtrInput +} + +func (CenterRoleAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleAssignmentState)(nil)).Elem() +} + +type centerRoleAssignmentArgs struct { + // When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + DeprovisionStrategy *string `pulumi:"deprovisionStrategy"` + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId string `pulumi:"principalId"` + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType string `pulumi:"principalType"` + // Permission configuration ID. + RoleConfigurationId string `pulumi:"roleConfigurationId"` + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType string `pulumi:"targetType"` + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin int `pulumi:"targetUin"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterRoleAssignment resource. +type CenterRoleAssignmentArgs struct { + // When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + DeprovisionStrategy pulumi.StringPtrInput + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId pulumi.StringInput + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType pulumi.StringInput + // Permission configuration ID. + RoleConfigurationId pulumi.StringInput + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType pulumi.StringInput + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin pulumi.IntInput + // Space ID. + ZoneId pulumi.StringInput +} + +func (CenterRoleAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleAssignmentArgs)(nil)).Elem() +} + +type CenterRoleAssignmentInput interface { + pulumi.Input + + ToCenterRoleAssignmentOutput() CenterRoleAssignmentOutput + ToCenterRoleAssignmentOutputWithContext(ctx context.Context) CenterRoleAssignmentOutput +} + +func (*CenterRoleAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleAssignment)(nil)).Elem() +} + +func (i *CenterRoleAssignment) ToCenterRoleAssignmentOutput() CenterRoleAssignmentOutput { + return i.ToCenterRoleAssignmentOutputWithContext(context.Background()) +} + +func (i *CenterRoleAssignment) ToCenterRoleAssignmentOutputWithContext(ctx context.Context) CenterRoleAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleAssignmentOutput) +} + +// CenterRoleAssignmentArrayInput is an input type that accepts CenterRoleAssignmentArray and CenterRoleAssignmentArrayOutput values. +// You can construct a concrete instance of `CenterRoleAssignmentArrayInput` via: +// +// CenterRoleAssignmentArray{ CenterRoleAssignmentArgs{...} } +type CenterRoleAssignmentArrayInput interface { + pulumi.Input + + ToCenterRoleAssignmentArrayOutput() CenterRoleAssignmentArrayOutput + ToCenterRoleAssignmentArrayOutputWithContext(context.Context) CenterRoleAssignmentArrayOutput +} + +type CenterRoleAssignmentArray []CenterRoleAssignmentInput + +func (CenterRoleAssignmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleAssignment)(nil)).Elem() +} + +func (i CenterRoleAssignmentArray) ToCenterRoleAssignmentArrayOutput() CenterRoleAssignmentArrayOutput { + return i.ToCenterRoleAssignmentArrayOutputWithContext(context.Background()) +} + +func (i CenterRoleAssignmentArray) ToCenterRoleAssignmentArrayOutputWithContext(ctx context.Context) CenterRoleAssignmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleAssignmentArrayOutput) +} + +// CenterRoleAssignmentMapInput is an input type that accepts CenterRoleAssignmentMap and CenterRoleAssignmentMapOutput values. +// You can construct a concrete instance of `CenterRoleAssignmentMapInput` via: +// +// CenterRoleAssignmentMap{ "key": CenterRoleAssignmentArgs{...} } +type CenterRoleAssignmentMapInput interface { + pulumi.Input + + ToCenterRoleAssignmentMapOutput() CenterRoleAssignmentMapOutput + ToCenterRoleAssignmentMapOutputWithContext(context.Context) CenterRoleAssignmentMapOutput +} + +type CenterRoleAssignmentMap map[string]CenterRoleAssignmentInput + +func (CenterRoleAssignmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleAssignment)(nil)).Elem() +} + +func (i CenterRoleAssignmentMap) ToCenterRoleAssignmentMapOutput() CenterRoleAssignmentMapOutput { + return i.ToCenterRoleAssignmentMapOutputWithContext(context.Background()) +} + +func (i CenterRoleAssignmentMap) ToCenterRoleAssignmentMapOutputWithContext(ctx context.Context) CenterRoleAssignmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleAssignmentMapOutput) +} + +type CenterRoleAssignmentOutput struct{ *pulumi.OutputState } + +func (CenterRoleAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleAssignment)(nil)).Elem() +} + +func (o CenterRoleAssignmentOutput) ToCenterRoleAssignmentOutput() CenterRoleAssignmentOutput { + return o +} + +func (o CenterRoleAssignmentOutput) ToCenterRoleAssignmentOutputWithContext(ctx context.Context) CenterRoleAssignmentOutput { + return o +} + +// Create time. +func (o CenterRoleAssignmentOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. +func (o CenterRoleAssignmentOutput) DeprovisionStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringPtrOutput { return v.DeprovisionStrategy }).(pulumi.StringPtrOutput) +} + +// Identity ID for the CAM user synchronization. Valid values: +// When the PrincipalType value is Group, it is the CIC user group ID (g-********). +// When the PrincipalType value is User, it is the CIC user ID (u-********). +func (o CenterRoleAssignmentOutput) PrincipalId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.PrincipalId }).(pulumi.StringOutput) +} + +// Principal name. +func (o CenterRoleAssignmentOutput) PrincipalName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.PrincipalName }).(pulumi.StringOutput) +} + +// Identity type for the CAM user synchronization. Valid values: +// +// User: indicates that the identity for the CAM user synchronization is a CIC user. +// Group: indicates that the identity for the CAM user synchronization is a CIC user group. +func (o CenterRoleAssignmentOutput) PrincipalType() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.PrincipalType }).(pulumi.StringOutput) +} + +// Permission configuration ID. +func (o CenterRoleAssignmentOutput) RoleConfigurationId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.RoleConfigurationId }).(pulumi.StringOutput) +} + +// Role configuration name. +func (o CenterRoleAssignmentOutput) RoleConfigurationName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.RoleConfigurationName }).(pulumi.StringOutput) +} + +// Target name. +func (o CenterRoleAssignmentOutput) TargetName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.TargetName }).(pulumi.StringOutput) +} + +// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. +func (o CenterRoleAssignmentOutput) TargetType() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.TargetType }).(pulumi.StringOutput) +} + +// UIN of the synchronized target account of the Tencent Cloud Organization. +func (o CenterRoleAssignmentOutput) TargetUin() pulumi.IntOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.IntOutput { return v.TargetUin }).(pulumi.IntOutput) +} + +// Update time. +func (o CenterRoleAssignmentOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) +} + +// Space ID. +func (o CenterRoleAssignmentOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleAssignment) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterRoleAssignmentArrayOutput struct{ *pulumi.OutputState } + +func (CenterRoleAssignmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleAssignment)(nil)).Elem() +} + +func (o CenterRoleAssignmentArrayOutput) ToCenterRoleAssignmentArrayOutput() CenterRoleAssignmentArrayOutput { + return o +} + +func (o CenterRoleAssignmentArrayOutput) ToCenterRoleAssignmentArrayOutputWithContext(ctx context.Context) CenterRoleAssignmentArrayOutput { + return o +} + +func (o CenterRoleAssignmentArrayOutput) Index(i pulumi.IntInput) CenterRoleAssignmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterRoleAssignment { + return vs[0].([]*CenterRoleAssignment)[vs[1].(int)] + }).(CenterRoleAssignmentOutput) +} + +type CenterRoleAssignmentMapOutput struct{ *pulumi.OutputState } + +func (CenterRoleAssignmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleAssignment)(nil)).Elem() +} + +func (o CenterRoleAssignmentMapOutput) ToCenterRoleAssignmentMapOutput() CenterRoleAssignmentMapOutput { + return o +} + +func (o CenterRoleAssignmentMapOutput) ToCenterRoleAssignmentMapOutputWithContext(ctx context.Context) CenterRoleAssignmentMapOutput { + return o +} + +func (o CenterRoleAssignmentMapOutput) MapIndex(k pulumi.StringInput) CenterRoleAssignmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterRoleAssignment { + return vs[0].(map[string]*CenterRoleAssignment)[vs[1].(string)] + }).(CenterRoleAssignmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleAssignmentInput)(nil)).Elem(), &CenterRoleAssignment{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleAssignmentArrayInput)(nil)).Elem(), CenterRoleAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleAssignmentMapInput)(nil)).Elem(), CenterRoleAssignmentMap{}) + pulumi.RegisterOutputType(CenterRoleAssignmentOutput{}) + pulumi.RegisterOutputType(CenterRoleAssignmentArrayOutput{}) + pulumi.RegisterOutputType(CenterRoleAssignmentMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerRoleConfiguration.go b/sdk/go/tencentcloud/identity/centerRoleConfiguration.go new file mode 100644 index 000000000..3c72e04e9 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerRoleConfiguration.go @@ -0,0 +1,353 @@ +// 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 identity + +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 organization identityCenterRoleConfiguration +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterRoleConfiguration(ctx, "identityCenterRoleConfiguration", &Identity.CenterRoleConfigurationArgs{ +// Description: pulumi.String("test"), +// RoleConfigurationName: pulumi.String("tf-test"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_role_configuration can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration identity_center_role_configuration ${zoneId}#${roleConfigurationId} +// ``` +type CenterRoleConfiguration struct { + pulumi.CustomResourceState + + // Create time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Access configuration description, which contains up to 1024 characters. + Description pulumi.StringOutput `pulumi:"description"` + // Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + RelayState pulumi.StringOutput `pulumi:"relayState"` + // Role configuration id. + RoleConfigurationId pulumi.StringOutput `pulumi:"roleConfigurationId"` + // Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + RoleConfigurationName pulumi.StringOutput `pulumi:"roleConfigurationName"` + // Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + SessionDuration pulumi.IntOutput `pulumi:"sessionDuration"` + // Update time. + UpdateTime pulumi.StringOutput `pulumi:"updateTime"` + // Space ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterRoleConfiguration registers a new resource with the given unique name, arguments, and options. +func NewCenterRoleConfiguration(ctx *pulumi.Context, + name string, args *CenterRoleConfigurationArgs, opts ...pulumi.ResourceOption) (*CenterRoleConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RoleConfigurationName == nil { + return nil, errors.New("invalid value for required argument 'RoleConfigurationName'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterRoleConfiguration + err := ctx.RegisterResource("tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterRoleConfiguration gets an existing CenterRoleConfiguration 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 GetCenterRoleConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterRoleConfigurationState, opts ...pulumi.ResourceOption) (*CenterRoleConfiguration, error) { + var resource CenterRoleConfiguration + err := ctx.ReadResource("tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterRoleConfiguration resources. +type centerRoleConfigurationState struct { + // Create time. + CreateTime *string `pulumi:"createTime"` + // Access configuration description, which contains up to 1024 characters. + Description *string `pulumi:"description"` + // Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + RelayState *string `pulumi:"relayState"` + // Role configuration id. + RoleConfigurationId *string `pulumi:"roleConfigurationId"` + // Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + RoleConfigurationName *string `pulumi:"roleConfigurationName"` + // Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + SessionDuration *int `pulumi:"sessionDuration"` + // Update time. + UpdateTime *string `pulumi:"updateTime"` + // Space ID. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterRoleConfigurationState struct { + // Create time. + CreateTime pulumi.StringPtrInput + // Access configuration description, which contains up to 1024 characters. + Description pulumi.StringPtrInput + // Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + RelayState pulumi.StringPtrInput + // Role configuration id. + RoleConfigurationId pulumi.StringPtrInput + // Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + RoleConfigurationName pulumi.StringPtrInput + // Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + SessionDuration pulumi.IntPtrInput + // Update time. + UpdateTime pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringPtrInput +} + +func (CenterRoleConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationState)(nil)).Elem() +} + +type centerRoleConfigurationArgs struct { + // Access configuration description, which contains up to 1024 characters. + Description *string `pulumi:"description"` + // Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + RelayState *string `pulumi:"relayState"` + // Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + RoleConfigurationName string `pulumi:"roleConfigurationName"` + // Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + SessionDuration *int `pulumi:"sessionDuration"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterRoleConfiguration resource. +type CenterRoleConfigurationArgs struct { + // Access configuration description, which contains up to 1024 characters. + Description pulumi.StringPtrInput + // Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + RelayState pulumi.StringPtrInput + // Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + RoleConfigurationName pulumi.StringInput + // Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + SessionDuration pulumi.IntPtrInput + // Space ID. + ZoneId pulumi.StringInput +} + +func (CenterRoleConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationArgs)(nil)).Elem() +} + +type CenterRoleConfigurationInput interface { + pulumi.Input + + ToCenterRoleConfigurationOutput() CenterRoleConfigurationOutput + ToCenterRoleConfigurationOutputWithContext(ctx context.Context) CenterRoleConfigurationOutput +} + +func (*CenterRoleConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfiguration)(nil)).Elem() +} + +func (i *CenterRoleConfiguration) ToCenterRoleConfigurationOutput() CenterRoleConfigurationOutput { + return i.ToCenterRoleConfigurationOutputWithContext(context.Background()) +} + +func (i *CenterRoleConfiguration) ToCenterRoleConfigurationOutputWithContext(ctx context.Context) CenterRoleConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationOutput) +} + +// CenterRoleConfigurationArrayInput is an input type that accepts CenterRoleConfigurationArray and CenterRoleConfigurationArrayOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationArrayInput` via: +// +// CenterRoleConfigurationArray{ CenterRoleConfigurationArgs{...} } +type CenterRoleConfigurationArrayInput interface { + pulumi.Input + + ToCenterRoleConfigurationArrayOutput() CenterRoleConfigurationArrayOutput + ToCenterRoleConfigurationArrayOutputWithContext(context.Context) CenterRoleConfigurationArrayOutput +} + +type CenterRoleConfigurationArray []CenterRoleConfigurationInput + +func (CenterRoleConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfiguration)(nil)).Elem() +} + +func (i CenterRoleConfigurationArray) ToCenterRoleConfigurationArrayOutput() CenterRoleConfigurationArrayOutput { + return i.ToCenterRoleConfigurationArrayOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationArray) ToCenterRoleConfigurationArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationArrayOutput) +} + +// CenterRoleConfigurationMapInput is an input type that accepts CenterRoleConfigurationMap and CenterRoleConfigurationMapOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationMapInput` via: +// +// CenterRoleConfigurationMap{ "key": CenterRoleConfigurationArgs{...} } +type CenterRoleConfigurationMapInput interface { + pulumi.Input + + ToCenterRoleConfigurationMapOutput() CenterRoleConfigurationMapOutput + ToCenterRoleConfigurationMapOutputWithContext(context.Context) CenterRoleConfigurationMapOutput +} + +type CenterRoleConfigurationMap map[string]CenterRoleConfigurationInput + +func (CenterRoleConfigurationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfiguration)(nil)).Elem() +} + +func (i CenterRoleConfigurationMap) ToCenterRoleConfigurationMapOutput() CenterRoleConfigurationMapOutput { + return i.ToCenterRoleConfigurationMapOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationMap) ToCenterRoleConfigurationMapOutputWithContext(ctx context.Context) CenterRoleConfigurationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationMapOutput) +} + +type CenterRoleConfigurationOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfiguration)(nil)).Elem() +} + +func (o CenterRoleConfigurationOutput) ToCenterRoleConfigurationOutput() CenterRoleConfigurationOutput { + return o +} + +func (o CenterRoleConfigurationOutput) ToCenterRoleConfigurationOutputWithContext(ctx context.Context) CenterRoleConfigurationOutput { + return o +} + +// Create time. +func (o CenterRoleConfigurationOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// Access configuration description, which contains up to 1024 characters. +func (o CenterRoleConfigurationOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. +func (o CenterRoleConfigurationOutput) RelayState() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.StringOutput { return v.RelayState }).(pulumi.StringOutput) +} + +// Role configuration id. +func (o CenterRoleConfigurationOutput) RoleConfigurationId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.StringOutput { return v.RoleConfigurationId }).(pulumi.StringOutput) +} + +// Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). +func (o CenterRoleConfigurationOutput) RoleConfigurationName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.StringOutput { return v.RoleConfigurationName }).(pulumi.StringOutput) +} + +// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). +func (o CenterRoleConfigurationOutput) SessionDuration() pulumi.IntOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.IntOutput { return v.SessionDuration }).(pulumi.IntOutput) +} + +// Update time. +func (o CenterRoleConfigurationOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) +} + +// Space ID. +func (o CenterRoleConfigurationOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfiguration) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterRoleConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfiguration)(nil)).Elem() +} + +func (o CenterRoleConfigurationArrayOutput) ToCenterRoleConfigurationArrayOutput() CenterRoleConfigurationArrayOutput { + return o +} + +func (o CenterRoleConfigurationArrayOutput) ToCenterRoleConfigurationArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationArrayOutput { + return o +} + +func (o CenterRoleConfigurationArrayOutput) Index(i pulumi.IntInput) CenterRoleConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterRoleConfiguration { + return vs[0].([]*CenterRoleConfiguration)[vs[1].(int)] + }).(CenterRoleConfigurationOutput) +} + +type CenterRoleConfigurationMapOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfiguration)(nil)).Elem() +} + +func (o CenterRoleConfigurationMapOutput) ToCenterRoleConfigurationMapOutput() CenterRoleConfigurationMapOutput { + return o +} + +func (o CenterRoleConfigurationMapOutput) ToCenterRoleConfigurationMapOutputWithContext(ctx context.Context) CenterRoleConfigurationMapOutput { + return o +} + +func (o CenterRoleConfigurationMapOutput) MapIndex(k pulumi.StringInput) CenterRoleConfigurationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterRoleConfiguration { + return vs[0].(map[string]*CenterRoleConfiguration)[vs[1].(string)] + }).(CenterRoleConfigurationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationInput)(nil)).Elem(), &CenterRoleConfiguration{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationArrayInput)(nil)).Elem(), CenterRoleConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationMapInput)(nil)).Elem(), CenterRoleConfigurationMap{}) + pulumi.RegisterOutputType(CenterRoleConfigurationOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationArrayOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.go b/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.go new file mode 100644 index 000000000..98c9ff232 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.go @@ -0,0 +1,358 @@ +// 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 identity + +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 organization identityCenterRoleConfigurationPermissionCustomPolicyAttachment +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterRoleConfigurationPermissionCustomPolicyAttachment(ctx, "identityCenterRoleConfigurationPermissionCustomPolicyAttachment", &Identity.CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs{ +// ZoneId: pulumi.String("z-xxxxxx"), +// RoleConfigurationId: pulumi.String("rc-xxxxxx"), +// RolePolicyName: pulumi.String("CustomPolicy"), +// RolePolicyDocument: pulumi.String(`{ +// "version": "2.0", +// "statement": [ +// { +// "effect": "allow", +// "action": [ +// "vpc:AcceptAttachCcnInstances" +// ], +// "resource": [ +// "*" +// ] +// } +// ] +// } +// +// `), +// +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_role_configuration_permission_custom_policy_attachment can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment identity_center_role_configuration_permission_custom_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName} +// ``` +type CenterRoleConfigurationPermissionCustomPolicyAttachment struct { + pulumi.CustomResourceState + + // Role policy add time. + AddTime pulumi.StringOutput `pulumi:"addTime"` + // Permission configuration ID. + RoleConfigurationId pulumi.StringOutput `pulumi:"roleConfigurationId"` + // Role policy document. + RolePolicyDocument pulumi.StringOutput `pulumi:"rolePolicyDocument"` + // Role policy name. + RolePolicyName pulumi.StringOutput `pulumi:"rolePolicyName"` + // Role policy type. + RolePolicyType pulumi.StringOutput `pulumi:"rolePolicyType"` + // Space ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterRoleConfigurationPermissionCustomPolicyAttachment registers a new resource with the given unique name, arguments, and options. +func NewCenterRoleConfigurationPermissionCustomPolicyAttachment(ctx *pulumi.Context, + name string, args *CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs, opts ...pulumi.ResourceOption) (*CenterRoleConfigurationPermissionCustomPolicyAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RoleConfigurationId == nil { + return nil, errors.New("invalid value for required argument 'RoleConfigurationId'") + } + if args.RolePolicyDocument == nil { + return nil, errors.New("invalid value for required argument 'RolePolicyDocument'") + } + if args.RolePolicyName == nil { + return nil, errors.New("invalid value for required argument 'RolePolicyName'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterRoleConfigurationPermissionCustomPolicyAttachment + err := ctx.RegisterResource("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterRoleConfigurationPermissionCustomPolicyAttachment gets an existing CenterRoleConfigurationPermissionCustomPolicyAttachment 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 GetCenterRoleConfigurationPermissionCustomPolicyAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterRoleConfigurationPermissionCustomPolicyAttachmentState, opts ...pulumi.ResourceOption) (*CenterRoleConfigurationPermissionCustomPolicyAttachment, error) { + var resource CenterRoleConfigurationPermissionCustomPolicyAttachment + err := ctx.ReadResource("tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPolicyAttachment resources. +type centerRoleConfigurationPermissionCustomPolicyAttachmentState struct { + // Role policy add time. + AddTime *string `pulumi:"addTime"` + // Permission configuration ID. + RoleConfigurationId *string `pulumi:"roleConfigurationId"` + // Role policy document. + RolePolicyDocument *string `pulumi:"rolePolicyDocument"` + // Role policy name. + RolePolicyName *string `pulumi:"rolePolicyName"` + // Role policy type. + RolePolicyType *string `pulumi:"rolePolicyType"` + // Space ID. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterRoleConfigurationPermissionCustomPolicyAttachmentState struct { + // Role policy add time. + AddTime pulumi.StringPtrInput + // Permission configuration ID. + RoleConfigurationId pulumi.StringPtrInput + // Role policy document. + RolePolicyDocument pulumi.StringPtrInput + // Role policy name. + RolePolicyName pulumi.StringPtrInput + // Role policy type. + RolePolicyType pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringPtrInput +} + +func (CenterRoleConfigurationPermissionCustomPolicyAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationPermissionCustomPolicyAttachmentState)(nil)).Elem() +} + +type centerRoleConfigurationPermissionCustomPolicyAttachmentArgs struct { + // Permission configuration ID. + RoleConfigurationId string `pulumi:"roleConfigurationId"` + // Role policy document. + RolePolicyDocument string `pulumi:"rolePolicyDocument"` + // Role policy name. + RolePolicyName string `pulumi:"rolePolicyName"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterRoleConfigurationPermissionCustomPolicyAttachment resource. +type CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs struct { + // Permission configuration ID. + RoleConfigurationId pulumi.StringInput + // Role policy document. + RolePolicyDocument pulumi.StringInput + // Role policy name. + RolePolicyName pulumi.StringInput + // Space ID. + ZoneId pulumi.StringInput +} + +func (CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationPermissionCustomPolicyAttachmentArgs)(nil)).Elem() +} + +type CenterRoleConfigurationPermissionCustomPolicyAttachmentInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPolicyAttachmentOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput + ToCenterRoleConfigurationPermissionCustomPolicyAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput +} + +func (*CenterRoleConfigurationPermissionCustomPolicyAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfigurationPermissionCustomPolicyAttachment)(nil)).Elem() +} + +func (i *CenterRoleConfigurationPermissionCustomPolicyAttachment) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput { + return i.ToCenterRoleConfigurationPermissionCustomPolicyAttachmentOutputWithContext(context.Background()) +} + +func (i *CenterRoleConfigurationPermissionCustomPolicyAttachment) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) +} + +// CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayInput is an input type that accepts CenterRoleConfigurationPermissionCustomPolicyAttachmentArray and CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayInput` via: +// +// CenterRoleConfigurationPermissionCustomPolicyAttachmentArray{ CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs{...} } +type CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput + ToCenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutputWithContext(context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput +} + +type CenterRoleConfigurationPermissionCustomPolicyAttachmentArray []CenterRoleConfigurationPermissionCustomPolicyAttachmentInput + +func (CenterRoleConfigurationPermissionCustomPolicyAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfigurationPermissionCustomPolicyAttachment)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionCustomPolicyAttachmentArray) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput { + return i.ToCenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionCustomPolicyAttachmentArray) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput) +} + +// CenterRoleConfigurationPermissionCustomPolicyAttachmentMapInput is an input type that accepts CenterRoleConfigurationPermissionCustomPolicyAttachmentMap and CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionCustomPolicyAttachmentMapInput` via: +// +// CenterRoleConfigurationPermissionCustomPolicyAttachmentMap{ "key": CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs{...} } +type CenterRoleConfigurationPermissionCustomPolicyAttachmentMapInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput + ToCenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutputWithContext(context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput +} + +type CenterRoleConfigurationPermissionCustomPolicyAttachmentMap map[string]CenterRoleConfigurationPermissionCustomPolicyAttachmentInput + +func (CenterRoleConfigurationPermissionCustomPolicyAttachmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfigurationPermissionCustomPolicyAttachment)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionCustomPolicyAttachmentMap) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput { + return i.ToCenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionCustomPolicyAttachmentMap) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput) +} + +type CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfigurationPermissionCustomPolicyAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput { + return o +} + +// Role policy add time. +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) AddTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPolicyAttachment) pulumi.StringOutput { return v.AddTime }).(pulumi.StringOutput) +} + +// Permission configuration ID. +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) RoleConfigurationId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPolicyAttachment) pulumi.StringOutput { + return v.RoleConfigurationId + }).(pulumi.StringOutput) +} + +// Role policy document. +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) RolePolicyDocument() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPolicyAttachment) pulumi.StringOutput { + return v.RolePolicyDocument + }).(pulumi.StringOutput) +} + +// Role policy name. +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) RolePolicyName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPolicyAttachment) pulumi.StringOutput { + return v.RolePolicyName + }).(pulumi.StringOutput) +} + +// Role policy type. +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) RolePolicyType() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPolicyAttachment) pulumi.StringOutput { + return v.RolePolicyType + }).(pulumi.StringOutput) +} + +// Space ID. +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionCustomPolicyAttachment) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfigurationPermissionCustomPolicyAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput) Index(i pulumi.IntInput) CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterRoleConfigurationPermissionCustomPolicyAttachment { + return vs[0].([]*CenterRoleConfigurationPermissionCustomPolicyAttachment)[vs[1].(int)] + }).(CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) +} + +type CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfigurationPermissionCustomPolicyAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput() CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput) ToCenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput { + return o +} + +func (o CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput) MapIndex(k pulumi.StringInput) CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterRoleConfigurationPermissionCustomPolicyAttachment { + return vs[0].(map[string]*CenterRoleConfigurationPermissionCustomPolicyAttachment)[vs[1].(string)] + }).(CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPolicyAttachmentInput)(nil)).Elem(), &CenterRoleConfigurationPermissionCustomPolicyAttachment{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayInput)(nil)).Elem(), CenterRoleConfigurationPermissionCustomPolicyAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionCustomPolicyAttachmentMapInput)(nil)).Elem(), CenterRoleConfigurationPermissionCustomPolicyAttachmentMap{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPolicyAttachmentOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPolicyAttachmentArrayOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionCustomPolicyAttachmentMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionPolicyAttachment.go b/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionPolicyAttachment.go new file mode 100644 index 000000000..fdf495fb1 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerRoleConfigurationPermissionPolicyAttachment.go @@ -0,0 +1,349 @@ +// 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 identity + +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 organization identityCenterRoleConfigurationPermissionPolicyAttachment +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterRoleConfigurationPermissionPolicyAttachment(ctx, "identityCenterRoleConfigurationPermissionPolicyAttachment", &Identity.CenterRoleConfigurationPermissionPolicyAttachmentArgs{ +// ZoneId: pulumi.String("z-xxxxxx"), +// RoleConfigurationId: pulumi.String("rc-xxxxxx"), +// RolePolicyId: pulumi.Any(xxxxxx), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_role_configuration_permission_policy_attachment can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment identity_center_role_configuration_permission_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyIdString} +// ``` +type CenterRoleConfigurationPermissionPolicyAttachment struct { + pulumi.CustomResourceState + + // Role policy add time. + AddTime pulumi.StringOutput `pulumi:"addTime"` + // Permission configuration ID. + RoleConfigurationId pulumi.StringOutput `pulumi:"roleConfigurationId"` + // Role policy document. + RolePolicyDocument pulumi.StringOutput `pulumi:"rolePolicyDocument"` + // Role policy id. + RolePolicyId pulumi.IntOutput `pulumi:"rolePolicyId"` + // Role policy name. + RolePolicyName pulumi.StringOutput `pulumi:"rolePolicyName"` + // Role policy type. + RolePolicyType pulumi.StringOutput `pulumi:"rolePolicyType"` + // Space ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterRoleConfigurationPermissionPolicyAttachment registers a new resource with the given unique name, arguments, and options. +func NewCenterRoleConfigurationPermissionPolicyAttachment(ctx *pulumi.Context, + name string, args *CenterRoleConfigurationPermissionPolicyAttachmentArgs, opts ...pulumi.ResourceOption) (*CenterRoleConfigurationPermissionPolicyAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RoleConfigurationId == nil { + return nil, errors.New("invalid value for required argument 'RoleConfigurationId'") + } + if args.RolePolicyId == nil { + return nil, errors.New("invalid value for required argument 'RolePolicyId'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterRoleConfigurationPermissionPolicyAttachment + err := ctx.RegisterResource("tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterRoleConfigurationPermissionPolicyAttachment gets an existing CenterRoleConfigurationPermissionPolicyAttachment 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 GetCenterRoleConfigurationPermissionPolicyAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterRoleConfigurationPermissionPolicyAttachmentState, opts ...pulumi.ResourceOption) (*CenterRoleConfigurationPermissionPolicyAttachment, error) { + var resource CenterRoleConfigurationPermissionPolicyAttachment + err := ctx.ReadResource("tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterRoleConfigurationPermissionPolicyAttachment resources. +type centerRoleConfigurationPermissionPolicyAttachmentState struct { + // Role policy add time. + AddTime *string `pulumi:"addTime"` + // Permission configuration ID. + RoleConfigurationId *string `pulumi:"roleConfigurationId"` + // Role policy document. + RolePolicyDocument *string `pulumi:"rolePolicyDocument"` + // Role policy id. + RolePolicyId *int `pulumi:"rolePolicyId"` + // Role policy name. + RolePolicyName *string `pulumi:"rolePolicyName"` + // Role policy type. + RolePolicyType *string `pulumi:"rolePolicyType"` + // Space ID. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterRoleConfigurationPermissionPolicyAttachmentState struct { + // Role policy add time. + AddTime pulumi.StringPtrInput + // Permission configuration ID. + RoleConfigurationId pulumi.StringPtrInput + // Role policy document. + RolePolicyDocument pulumi.StringPtrInput + // Role policy id. + RolePolicyId pulumi.IntPtrInput + // Role policy name. + RolePolicyName pulumi.StringPtrInput + // Role policy type. + RolePolicyType pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringPtrInput +} + +func (CenterRoleConfigurationPermissionPolicyAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationPermissionPolicyAttachmentState)(nil)).Elem() +} + +type centerRoleConfigurationPermissionPolicyAttachmentArgs struct { + // Permission configuration ID. + RoleConfigurationId string `pulumi:"roleConfigurationId"` + // Role policy id. + RolePolicyId int `pulumi:"rolePolicyId"` + // Role policy name. + RolePolicyName *string `pulumi:"rolePolicyName"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterRoleConfigurationPermissionPolicyAttachment resource. +type CenterRoleConfigurationPermissionPolicyAttachmentArgs struct { + // Permission configuration ID. + RoleConfigurationId pulumi.StringInput + // Role policy id. + RolePolicyId pulumi.IntInput + // Role policy name. + RolePolicyName pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringInput +} + +func (CenterRoleConfigurationPermissionPolicyAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerRoleConfigurationPermissionPolicyAttachmentArgs)(nil)).Elem() +} + +type CenterRoleConfigurationPermissionPolicyAttachmentInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionPolicyAttachmentOutput() CenterRoleConfigurationPermissionPolicyAttachmentOutput + ToCenterRoleConfigurationPermissionPolicyAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionPolicyAttachmentOutput +} + +func (*CenterRoleConfigurationPermissionPolicyAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfigurationPermissionPolicyAttachment)(nil)).Elem() +} + +func (i *CenterRoleConfigurationPermissionPolicyAttachment) ToCenterRoleConfigurationPermissionPolicyAttachmentOutput() CenterRoleConfigurationPermissionPolicyAttachmentOutput { + return i.ToCenterRoleConfigurationPermissionPolicyAttachmentOutputWithContext(context.Background()) +} + +func (i *CenterRoleConfigurationPermissionPolicyAttachment) ToCenterRoleConfigurationPermissionPolicyAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionPolicyAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionPolicyAttachmentOutput) +} + +// CenterRoleConfigurationPermissionPolicyAttachmentArrayInput is an input type that accepts CenterRoleConfigurationPermissionPolicyAttachmentArray and CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionPolicyAttachmentArrayInput` via: +// +// CenterRoleConfigurationPermissionPolicyAttachmentArray{ CenterRoleConfigurationPermissionPolicyAttachmentArgs{...} } +type CenterRoleConfigurationPermissionPolicyAttachmentArrayInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionPolicyAttachmentArrayOutput() CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput + ToCenterRoleConfigurationPermissionPolicyAttachmentArrayOutputWithContext(context.Context) CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput +} + +type CenterRoleConfigurationPermissionPolicyAttachmentArray []CenterRoleConfigurationPermissionPolicyAttachmentInput + +func (CenterRoleConfigurationPermissionPolicyAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfigurationPermissionPolicyAttachment)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionPolicyAttachmentArray) ToCenterRoleConfigurationPermissionPolicyAttachmentArrayOutput() CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput { + return i.ToCenterRoleConfigurationPermissionPolicyAttachmentArrayOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionPolicyAttachmentArray) ToCenterRoleConfigurationPermissionPolicyAttachmentArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput) +} + +// CenterRoleConfigurationPermissionPolicyAttachmentMapInput is an input type that accepts CenterRoleConfigurationPermissionPolicyAttachmentMap and CenterRoleConfigurationPermissionPolicyAttachmentMapOutput values. +// You can construct a concrete instance of `CenterRoleConfigurationPermissionPolicyAttachmentMapInput` via: +// +// CenterRoleConfigurationPermissionPolicyAttachmentMap{ "key": CenterRoleConfigurationPermissionPolicyAttachmentArgs{...} } +type CenterRoleConfigurationPermissionPolicyAttachmentMapInput interface { + pulumi.Input + + ToCenterRoleConfigurationPermissionPolicyAttachmentMapOutput() CenterRoleConfigurationPermissionPolicyAttachmentMapOutput + ToCenterRoleConfigurationPermissionPolicyAttachmentMapOutputWithContext(context.Context) CenterRoleConfigurationPermissionPolicyAttachmentMapOutput +} + +type CenterRoleConfigurationPermissionPolicyAttachmentMap map[string]CenterRoleConfigurationPermissionPolicyAttachmentInput + +func (CenterRoleConfigurationPermissionPolicyAttachmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfigurationPermissionPolicyAttachment)(nil)).Elem() +} + +func (i CenterRoleConfigurationPermissionPolicyAttachmentMap) ToCenterRoleConfigurationPermissionPolicyAttachmentMapOutput() CenterRoleConfigurationPermissionPolicyAttachmentMapOutput { + return i.ToCenterRoleConfigurationPermissionPolicyAttachmentMapOutputWithContext(context.Background()) +} + +func (i CenterRoleConfigurationPermissionPolicyAttachmentMap) ToCenterRoleConfigurationPermissionPolicyAttachmentMapOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionPolicyAttachmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterRoleConfigurationPermissionPolicyAttachmentMapOutput) +} + +type CenterRoleConfigurationPermissionPolicyAttachmentOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionPolicyAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterRoleConfigurationPermissionPolicyAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) ToCenterRoleConfigurationPermissionPolicyAttachmentOutput() CenterRoleConfigurationPermissionPolicyAttachmentOutput { + return o +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) ToCenterRoleConfigurationPermissionPolicyAttachmentOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionPolicyAttachmentOutput { + return o +} + +// Role policy add time. +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) AddTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionPolicyAttachment) pulumi.StringOutput { return v.AddTime }).(pulumi.StringOutput) +} + +// Permission configuration ID. +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) RoleConfigurationId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionPolicyAttachment) pulumi.StringOutput { + return v.RoleConfigurationId + }).(pulumi.StringOutput) +} + +// Role policy document. +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) RolePolicyDocument() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionPolicyAttachment) pulumi.StringOutput { + return v.RolePolicyDocument + }).(pulumi.StringOutput) +} + +// Role policy id. +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) RolePolicyId() pulumi.IntOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionPolicyAttachment) pulumi.IntOutput { return v.RolePolicyId }).(pulumi.IntOutput) +} + +// Role policy name. +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) RolePolicyName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionPolicyAttachment) pulumi.StringOutput { + return v.RolePolicyName + }).(pulumi.StringOutput) +} + +// Role policy type. +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) RolePolicyType() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionPolicyAttachment) pulumi.StringOutput { + return v.RolePolicyType + }).(pulumi.StringOutput) +} + +// Space ID. +func (o CenterRoleConfigurationPermissionPolicyAttachmentOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterRoleConfigurationPermissionPolicyAttachment) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterRoleConfigurationPermissionPolicyAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput) ToCenterRoleConfigurationPermissionPolicyAttachmentArrayOutput() CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput) ToCenterRoleConfigurationPermissionPolicyAttachmentArrayOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput { + return o +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput) Index(i pulumi.IntInput) CenterRoleConfigurationPermissionPolicyAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterRoleConfigurationPermissionPolicyAttachment { + return vs[0].([]*CenterRoleConfigurationPermissionPolicyAttachment)[vs[1].(int)] + }).(CenterRoleConfigurationPermissionPolicyAttachmentOutput) +} + +type CenterRoleConfigurationPermissionPolicyAttachmentMapOutput struct{ *pulumi.OutputState } + +func (CenterRoleConfigurationPermissionPolicyAttachmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterRoleConfigurationPermissionPolicyAttachment)(nil)).Elem() +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentMapOutput) ToCenterRoleConfigurationPermissionPolicyAttachmentMapOutput() CenterRoleConfigurationPermissionPolicyAttachmentMapOutput { + return o +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentMapOutput) ToCenterRoleConfigurationPermissionPolicyAttachmentMapOutputWithContext(ctx context.Context) CenterRoleConfigurationPermissionPolicyAttachmentMapOutput { + return o +} + +func (o CenterRoleConfigurationPermissionPolicyAttachmentMapOutput) MapIndex(k pulumi.StringInput) CenterRoleConfigurationPermissionPolicyAttachmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterRoleConfigurationPermissionPolicyAttachment { + return vs[0].(map[string]*CenterRoleConfigurationPermissionPolicyAttachment)[vs[1].(string)] + }).(CenterRoleConfigurationPermissionPolicyAttachmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionPolicyAttachmentInput)(nil)).Elem(), &CenterRoleConfigurationPermissionPolicyAttachment{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionPolicyAttachmentArrayInput)(nil)).Elem(), CenterRoleConfigurationPermissionPolicyAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterRoleConfigurationPermissionPolicyAttachmentMapInput)(nil)).Elem(), CenterRoleConfigurationPermissionPolicyAttachmentMap{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionPolicyAttachmentOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionPolicyAttachmentArrayOutput{}) + pulumi.RegisterOutputType(CenterRoleConfigurationPermissionPolicyAttachmentMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerUser.go b/sdk/go/tencentcloud/identity/centerUser.go new file mode 100644 index 000000000..5daf3acfa --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerUser.go @@ -0,0 +1,409 @@ +// 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 identity + +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 an identity center user +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterUser(ctx, "identityCenterUser", &Identity.CenterUserArgs{ +// Description: pulumi.String("test"), +// UserName: pulumi.String("test-user"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_user can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerUser:CenterUser identity_center_user ${zoneId}#${userId} +// ``` +type CenterUser struct { + pulumi.CustomResourceState + + // Create time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // User's description. Length: Maximum 1024 characters. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The display name of the user. Length: Maximum 256 characters. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + Email pulumi.StringPtrOutput `pulumi:"email"` + // The user's last name. Length: Maximum 64 characters. + FirstName pulumi.StringPtrOutput `pulumi:"firstName"` + // The user's name. Length: Maximum 64 characters. + LastName pulumi.StringPtrOutput `pulumi:"lastName"` + // Update time. + UpdateTime pulumi.StringOutput `pulumi:"updateTime"` + // User id. + UserId pulumi.StringOutput `pulumi:"userId"` + // User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + UserName pulumi.StringOutput `pulumi:"userName"` + // The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + UserStatus pulumi.StringOutput `pulumi:"userStatus"` + // User type. + UserType pulumi.StringOutput `pulumi:"userType"` + // Zone id. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterUser registers a new resource with the given unique name, arguments, and options. +func NewCenterUser(ctx *pulumi.Context, + name string, args *CenterUserArgs, opts ...pulumi.ResourceOption) (*CenterUser, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.UserName == nil { + return nil, errors.New("invalid value for required argument 'UserName'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterUser + err := ctx.RegisterResource("tencentcloud:Identity/centerUser:CenterUser", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterUser gets an existing CenterUser 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 GetCenterUser(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterUserState, opts ...pulumi.ResourceOption) (*CenterUser, error) { + var resource CenterUser + err := ctx.ReadResource("tencentcloud:Identity/centerUser:CenterUser", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterUser resources. +type centerUserState struct { + // Create time. + CreateTime *string `pulumi:"createTime"` + // User's description. Length: Maximum 1024 characters. + Description *string `pulumi:"description"` + // The display name of the user. Length: Maximum 256 characters. + DisplayName *string `pulumi:"displayName"` + // The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + Email *string `pulumi:"email"` + // The user's last name. Length: Maximum 64 characters. + FirstName *string `pulumi:"firstName"` + // The user's name. Length: Maximum 64 characters. + LastName *string `pulumi:"lastName"` + // Update time. + UpdateTime *string `pulumi:"updateTime"` + // User id. + UserId *string `pulumi:"userId"` + // User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + UserName *string `pulumi:"userName"` + // The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + UserStatus *string `pulumi:"userStatus"` + // User type. + UserType *string `pulumi:"userType"` + // Zone id. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterUserState struct { + // Create time. + CreateTime pulumi.StringPtrInput + // User's description. Length: Maximum 1024 characters. + Description pulumi.StringPtrInput + // The display name of the user. Length: Maximum 256 characters. + DisplayName pulumi.StringPtrInput + // The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + Email pulumi.StringPtrInput + // The user's last name. Length: Maximum 64 characters. + FirstName pulumi.StringPtrInput + // The user's name. Length: Maximum 64 characters. + LastName pulumi.StringPtrInput + // Update time. + UpdateTime pulumi.StringPtrInput + // User id. + UserId pulumi.StringPtrInput + // User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + UserName pulumi.StringPtrInput + // The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + UserStatus pulumi.StringPtrInput + // User type. + UserType pulumi.StringPtrInput + // Zone id. + ZoneId pulumi.StringPtrInput +} + +func (CenterUserState) ElementType() reflect.Type { + return reflect.TypeOf((*centerUserState)(nil)).Elem() +} + +type centerUserArgs struct { + // User's description. Length: Maximum 1024 characters. + Description *string `pulumi:"description"` + // The display name of the user. Length: Maximum 256 characters. + DisplayName *string `pulumi:"displayName"` + // The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + Email *string `pulumi:"email"` + // The user's last name. Length: Maximum 64 characters. + FirstName *string `pulumi:"firstName"` + // The user's name. Length: Maximum 64 characters. + LastName *string `pulumi:"lastName"` + // User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + UserName string `pulumi:"userName"` + // The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + UserStatus *string `pulumi:"userStatus"` + // Zone id. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterUser resource. +type CenterUserArgs struct { + // User's description. Length: Maximum 1024 characters. + Description pulumi.StringPtrInput + // The display name of the user. Length: Maximum 256 characters. + DisplayName pulumi.StringPtrInput + // The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + Email pulumi.StringPtrInput + // The user's last name. Length: Maximum 64 characters. + FirstName pulumi.StringPtrInput + // The user's name. Length: Maximum 64 characters. + LastName pulumi.StringPtrInput + // User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + UserName pulumi.StringInput + // The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + UserStatus pulumi.StringPtrInput + // Zone id. + ZoneId pulumi.StringInput +} + +func (CenterUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerUserArgs)(nil)).Elem() +} + +type CenterUserInput interface { + pulumi.Input + + ToCenterUserOutput() CenterUserOutput + ToCenterUserOutputWithContext(ctx context.Context) CenterUserOutput +} + +func (*CenterUser) ElementType() reflect.Type { + return reflect.TypeOf((**CenterUser)(nil)).Elem() +} + +func (i *CenterUser) ToCenterUserOutput() CenterUserOutput { + return i.ToCenterUserOutputWithContext(context.Background()) +} + +func (i *CenterUser) ToCenterUserOutputWithContext(ctx context.Context) CenterUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserOutput) +} + +// CenterUserArrayInput is an input type that accepts CenterUserArray and CenterUserArrayOutput values. +// You can construct a concrete instance of `CenterUserArrayInput` via: +// +// CenterUserArray{ CenterUserArgs{...} } +type CenterUserArrayInput interface { + pulumi.Input + + ToCenterUserArrayOutput() CenterUserArrayOutput + ToCenterUserArrayOutputWithContext(context.Context) CenterUserArrayOutput +} + +type CenterUserArray []CenterUserInput + +func (CenterUserArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterUser)(nil)).Elem() +} + +func (i CenterUserArray) ToCenterUserArrayOutput() CenterUserArrayOutput { + return i.ToCenterUserArrayOutputWithContext(context.Background()) +} + +func (i CenterUserArray) ToCenterUserArrayOutputWithContext(ctx context.Context) CenterUserArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserArrayOutput) +} + +// CenterUserMapInput is an input type that accepts CenterUserMap and CenterUserMapOutput values. +// You can construct a concrete instance of `CenterUserMapInput` via: +// +// CenterUserMap{ "key": CenterUserArgs{...} } +type CenterUserMapInput interface { + pulumi.Input + + ToCenterUserMapOutput() CenterUserMapOutput + ToCenterUserMapOutputWithContext(context.Context) CenterUserMapOutput +} + +type CenterUserMap map[string]CenterUserInput + +func (CenterUserMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterUser)(nil)).Elem() +} + +func (i CenterUserMap) ToCenterUserMapOutput() CenterUserMapOutput { + return i.ToCenterUserMapOutputWithContext(context.Background()) +} + +func (i CenterUserMap) ToCenterUserMapOutputWithContext(ctx context.Context) CenterUserMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserMapOutput) +} + +type CenterUserOutput struct{ *pulumi.OutputState } + +func (CenterUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterUser)(nil)).Elem() +} + +func (o CenterUserOutput) ToCenterUserOutput() CenterUserOutput { + return o +} + +func (o CenterUserOutput) ToCenterUserOutputWithContext(ctx context.Context) CenterUserOutput { + return o +} + +// Create time. +func (o CenterUserOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// User's description. Length: Maximum 1024 characters. +func (o CenterUserOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name of the user. Length: Maximum 256 characters. +func (o CenterUserOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. +func (o CenterUserOutput) Email() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringPtrOutput { return v.Email }).(pulumi.StringPtrOutput) +} + +// The user's last name. Length: Maximum 64 characters. +func (o CenterUserOutput) FirstName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringPtrOutput { return v.FirstName }).(pulumi.StringPtrOutput) +} + +// The user's name. Length: Maximum 64 characters. +func (o CenterUserOutput) LastName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringPtrOutput { return v.LastName }).(pulumi.StringPtrOutput) +} + +// Update time. +func (o CenterUserOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) +} + +// User id. +func (o CenterUserOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) +} + +// User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. +func (o CenterUserOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringOutput { return v.UserName }).(pulumi.StringOutput) +} + +// The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. +func (o CenterUserOutput) UserStatus() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringOutput { return v.UserStatus }).(pulumi.StringOutput) +} + +// User type. +func (o CenterUserOutput) UserType() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringOutput { return v.UserType }).(pulumi.StringOutput) +} + +// Zone id. +func (o CenterUserOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUser) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterUserArrayOutput struct{ *pulumi.OutputState } + +func (CenterUserArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterUser)(nil)).Elem() +} + +func (o CenterUserArrayOutput) ToCenterUserArrayOutput() CenterUserArrayOutput { + return o +} + +func (o CenterUserArrayOutput) ToCenterUserArrayOutputWithContext(ctx context.Context) CenterUserArrayOutput { + return o +} + +func (o CenterUserArrayOutput) Index(i pulumi.IntInput) CenterUserOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterUser { + return vs[0].([]*CenterUser)[vs[1].(int)] + }).(CenterUserOutput) +} + +type CenterUserMapOutput struct{ *pulumi.OutputState } + +func (CenterUserMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterUser)(nil)).Elem() +} + +func (o CenterUserMapOutput) ToCenterUserMapOutput() CenterUserMapOutput { + return o +} + +func (o CenterUserMapOutput) ToCenterUserMapOutputWithContext(ctx context.Context) CenterUserMapOutput { + return o +} + +func (o CenterUserMapOutput) MapIndex(k pulumi.StringInput) CenterUserOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterUser { + return vs[0].(map[string]*CenterUser)[vs[1].(string)] + }).(CenterUserOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserInput)(nil)).Elem(), &CenterUser{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserArrayInput)(nil)).Elem(), CenterUserArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserMapInput)(nil)).Elem(), CenterUserMap{}) + pulumi.RegisterOutputType(CenterUserOutput{}) + pulumi.RegisterOutputType(CenterUserArrayOutput{}) + pulumi.RegisterOutputType(CenterUserMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerUserGroupAttachment.go b/sdk/go/tencentcloud/identity/centerUserGroupAttachment.go new file mode 100644 index 000000000..b2afe42a2 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerUserGroupAttachment.go @@ -0,0 +1,293 @@ +// 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 identity + +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 an identity center user group attachment +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterUserGroupAttachment(ctx, "identityCenterUserGroupAttachment", &Identity.CenterUserGroupAttachmentArgs{ +// GroupId: pulumi.String("g-xxxxxx"), +// UserId: pulumi.String("u-xxxxxx"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_user_group_attachment can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment identity_center_user_group_attachment ${zoneId}#${groupId}#${userId} +// ``` +type CenterUserGroupAttachment struct { + pulumi.CustomResourceState + + // User group ID. + GroupId pulumi.StringOutput `pulumi:"groupId"` + // User ID. + UserId pulumi.StringOutput `pulumi:"userId"` + // Zone id. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterUserGroupAttachment registers a new resource with the given unique name, arguments, and options. +func NewCenterUserGroupAttachment(ctx *pulumi.Context, + name string, args *CenterUserGroupAttachmentArgs, opts ...pulumi.ResourceOption) (*CenterUserGroupAttachment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GroupId == nil { + return nil, errors.New("invalid value for required argument 'GroupId'") + } + if args.UserId == nil { + return nil, errors.New("invalid value for required argument 'UserId'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterUserGroupAttachment + err := ctx.RegisterResource("tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterUserGroupAttachment gets an existing CenterUserGroupAttachment 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 GetCenterUserGroupAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterUserGroupAttachmentState, opts ...pulumi.ResourceOption) (*CenterUserGroupAttachment, error) { + var resource CenterUserGroupAttachment + err := ctx.ReadResource("tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterUserGroupAttachment resources. +type centerUserGroupAttachmentState struct { + // User group ID. + GroupId *string `pulumi:"groupId"` + // User ID. + UserId *string `pulumi:"userId"` + // Zone id. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterUserGroupAttachmentState struct { + // User group ID. + GroupId pulumi.StringPtrInput + // User ID. + UserId pulumi.StringPtrInput + // Zone id. + ZoneId pulumi.StringPtrInput +} + +func (CenterUserGroupAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*centerUserGroupAttachmentState)(nil)).Elem() +} + +type centerUserGroupAttachmentArgs struct { + // User group ID. + GroupId string `pulumi:"groupId"` + // User ID. + UserId string `pulumi:"userId"` + // Zone id. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterUserGroupAttachment resource. +type CenterUserGroupAttachmentArgs struct { + // User group ID. + GroupId pulumi.StringInput + // User ID. + UserId pulumi.StringInput + // Zone id. + ZoneId pulumi.StringInput +} + +func (CenterUserGroupAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerUserGroupAttachmentArgs)(nil)).Elem() +} + +type CenterUserGroupAttachmentInput interface { + pulumi.Input + + ToCenterUserGroupAttachmentOutput() CenterUserGroupAttachmentOutput + ToCenterUserGroupAttachmentOutputWithContext(ctx context.Context) CenterUserGroupAttachmentOutput +} + +func (*CenterUserGroupAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**CenterUserGroupAttachment)(nil)).Elem() +} + +func (i *CenterUserGroupAttachment) ToCenterUserGroupAttachmentOutput() CenterUserGroupAttachmentOutput { + return i.ToCenterUserGroupAttachmentOutputWithContext(context.Background()) +} + +func (i *CenterUserGroupAttachment) ToCenterUserGroupAttachmentOutputWithContext(ctx context.Context) CenterUserGroupAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserGroupAttachmentOutput) +} + +// CenterUserGroupAttachmentArrayInput is an input type that accepts CenterUserGroupAttachmentArray and CenterUserGroupAttachmentArrayOutput values. +// You can construct a concrete instance of `CenterUserGroupAttachmentArrayInput` via: +// +// CenterUserGroupAttachmentArray{ CenterUserGroupAttachmentArgs{...} } +type CenterUserGroupAttachmentArrayInput interface { + pulumi.Input + + ToCenterUserGroupAttachmentArrayOutput() CenterUserGroupAttachmentArrayOutput + ToCenterUserGroupAttachmentArrayOutputWithContext(context.Context) CenterUserGroupAttachmentArrayOutput +} + +type CenterUserGroupAttachmentArray []CenterUserGroupAttachmentInput + +func (CenterUserGroupAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterUserGroupAttachment)(nil)).Elem() +} + +func (i CenterUserGroupAttachmentArray) ToCenterUserGroupAttachmentArrayOutput() CenterUserGroupAttachmentArrayOutput { + return i.ToCenterUserGroupAttachmentArrayOutputWithContext(context.Background()) +} + +func (i CenterUserGroupAttachmentArray) ToCenterUserGroupAttachmentArrayOutputWithContext(ctx context.Context) CenterUserGroupAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserGroupAttachmentArrayOutput) +} + +// CenterUserGroupAttachmentMapInput is an input type that accepts CenterUserGroupAttachmentMap and CenterUserGroupAttachmentMapOutput values. +// You can construct a concrete instance of `CenterUserGroupAttachmentMapInput` via: +// +// CenterUserGroupAttachmentMap{ "key": CenterUserGroupAttachmentArgs{...} } +type CenterUserGroupAttachmentMapInput interface { + pulumi.Input + + ToCenterUserGroupAttachmentMapOutput() CenterUserGroupAttachmentMapOutput + ToCenterUserGroupAttachmentMapOutputWithContext(context.Context) CenterUserGroupAttachmentMapOutput +} + +type CenterUserGroupAttachmentMap map[string]CenterUserGroupAttachmentInput + +func (CenterUserGroupAttachmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterUserGroupAttachment)(nil)).Elem() +} + +func (i CenterUserGroupAttachmentMap) ToCenterUserGroupAttachmentMapOutput() CenterUserGroupAttachmentMapOutput { + return i.ToCenterUserGroupAttachmentMapOutputWithContext(context.Background()) +} + +func (i CenterUserGroupAttachmentMap) ToCenterUserGroupAttachmentMapOutputWithContext(ctx context.Context) CenterUserGroupAttachmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserGroupAttachmentMapOutput) +} + +type CenterUserGroupAttachmentOutput struct{ *pulumi.OutputState } + +func (CenterUserGroupAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterUserGroupAttachment)(nil)).Elem() +} + +func (o CenterUserGroupAttachmentOutput) ToCenterUserGroupAttachmentOutput() CenterUserGroupAttachmentOutput { + return o +} + +func (o CenterUserGroupAttachmentOutput) ToCenterUserGroupAttachmentOutputWithContext(ctx context.Context) CenterUserGroupAttachmentOutput { + return o +} + +// User group ID. +func (o CenterUserGroupAttachmentOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserGroupAttachment) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// User ID. +func (o CenterUserGroupAttachmentOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserGroupAttachment) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) +} + +// Zone id. +func (o CenterUserGroupAttachmentOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserGroupAttachment) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterUserGroupAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (CenterUserGroupAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterUserGroupAttachment)(nil)).Elem() +} + +func (o CenterUserGroupAttachmentArrayOutput) ToCenterUserGroupAttachmentArrayOutput() CenterUserGroupAttachmentArrayOutput { + return o +} + +func (o CenterUserGroupAttachmentArrayOutput) ToCenterUserGroupAttachmentArrayOutputWithContext(ctx context.Context) CenterUserGroupAttachmentArrayOutput { + return o +} + +func (o CenterUserGroupAttachmentArrayOutput) Index(i pulumi.IntInput) CenterUserGroupAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterUserGroupAttachment { + return vs[0].([]*CenterUserGroupAttachment)[vs[1].(int)] + }).(CenterUserGroupAttachmentOutput) +} + +type CenterUserGroupAttachmentMapOutput struct{ *pulumi.OutputState } + +func (CenterUserGroupAttachmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterUserGroupAttachment)(nil)).Elem() +} + +func (o CenterUserGroupAttachmentMapOutput) ToCenterUserGroupAttachmentMapOutput() CenterUserGroupAttachmentMapOutput { + return o +} + +func (o CenterUserGroupAttachmentMapOutput) ToCenterUserGroupAttachmentMapOutputWithContext(ctx context.Context) CenterUserGroupAttachmentMapOutput { + return o +} + +func (o CenterUserGroupAttachmentMapOutput) MapIndex(k pulumi.StringInput) CenterUserGroupAttachmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterUserGroupAttachment { + return vs[0].(map[string]*CenterUserGroupAttachment)[vs[1].(string)] + }).(CenterUserGroupAttachmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserGroupAttachmentInput)(nil)).Elem(), &CenterUserGroupAttachment{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserGroupAttachmentArrayInput)(nil)).Elem(), CenterUserGroupAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserGroupAttachmentMapInput)(nil)).Elem(), CenterUserGroupAttachmentMap{}) + pulumi.RegisterOutputType(CenterUserGroupAttachmentOutput{}) + pulumi.RegisterOutputType(CenterUserGroupAttachmentArrayOutput{}) + pulumi.RegisterOutputType(CenterUserGroupAttachmentMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/centerUserSyncProvisioning.go b/sdk/go/tencentcloud/identity/centerUserSyncProvisioning.go new file mode 100644 index 000000000..53b46ffc8 --- /dev/null +++ b/sdk/go/tencentcloud/identity/centerUserSyncProvisioning.go @@ -0,0 +1,471 @@ +// 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 identity + +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 organization identityCenterUserSyncProvisioning +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Identity" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Identity.NewCenterUserSyncProvisioning(ctx, "identityCenterUserSyncProvisioning", &Identity.CenterUserSyncProvisioningArgs{ +// DeletionStrategy: pulumi.String("Keep"), +// Description: pulumi.String("tf-test"), +// DuplicationStrategy: pulumi.String("TakeOver"), +// PrincipalId: pulumi.String("u-xxxxxx"), +// PrincipalType: pulumi.String("User"), +// TargetType: pulumi.String("MemberUin"), +// TargetUin: pulumi.Int("xxxxxx"), +// ZoneId: pulumi.String("z-xxxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization identity_center_user_sync_provisioning can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning identity_center_user_sync_provisioning ${zoneId}#${userProvisioningId} +// ``` +type CenterUserSyncProvisioning struct { + pulumi.CustomResourceState + + // Create time. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + DeletionStrategy pulumi.StringPtrOutput `pulumi:"deletionStrategy"` + // Description. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + DuplicationStrategy pulumi.StringPtrOutput `pulumi:"duplicationStrategy"` + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId pulumi.StringPtrOutput `pulumi:"principalId"` + // The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + PrincipalName pulumi.StringOutput `pulumi:"principalName"` + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType pulumi.StringPtrOutput `pulumi:"principalType"` + // Status of CAM user synchronization. Value: + // * Enabled: CAM user synchronization is enabled; + // * Disabled: CAM user synchronization is not enabled. + Status pulumi.StringOutput `pulumi:"status"` + // Group account The name of the target account.. + TargetName pulumi.StringOutput `pulumi:"targetName"` + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType pulumi.StringPtrOutput `pulumi:"targetType"` + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin pulumi.IntPtrOutput `pulumi:"targetUin"` + // Update time. + UpdateTime pulumi.StringOutput `pulumi:"updateTime"` + // User provisioning id. + UserProvisioningId pulumi.StringOutput `pulumi:"userProvisioningId"` + // Space ID. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewCenterUserSyncProvisioning registers a new resource with the given unique name, arguments, and options. +func NewCenterUserSyncProvisioning(ctx *pulumi.Context, + name string, args *CenterUserSyncProvisioningArgs, opts ...pulumi.ResourceOption) (*CenterUserSyncProvisioning, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource CenterUserSyncProvisioning + err := ctx.RegisterResource("tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCenterUserSyncProvisioning gets an existing CenterUserSyncProvisioning 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 GetCenterUserSyncProvisioning(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CenterUserSyncProvisioningState, opts ...pulumi.ResourceOption) (*CenterUserSyncProvisioning, error) { + var resource CenterUserSyncProvisioning + err := ctx.ReadResource("tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CenterUserSyncProvisioning resources. +type centerUserSyncProvisioningState struct { + // Create time. + CreateTime *string `pulumi:"createTime"` + // Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + DeletionStrategy *string `pulumi:"deletionStrategy"` + // Description. + Description *string `pulumi:"description"` + // Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + DuplicationStrategy *string `pulumi:"duplicationStrategy"` + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId *string `pulumi:"principalId"` + // The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + PrincipalName *string `pulumi:"principalName"` + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType *string `pulumi:"principalType"` + // Status of CAM user synchronization. Value: + // * Enabled: CAM user synchronization is enabled; + // * Disabled: CAM user synchronization is not enabled. + Status *string `pulumi:"status"` + // Group account The name of the target account.. + TargetName *string `pulumi:"targetName"` + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType *string `pulumi:"targetType"` + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin *int `pulumi:"targetUin"` + // Update time. + UpdateTime *string `pulumi:"updateTime"` + // User provisioning id. + UserProvisioningId *string `pulumi:"userProvisioningId"` + // Space ID. + ZoneId *string `pulumi:"zoneId"` +} + +type CenterUserSyncProvisioningState struct { + // Create time. + CreateTime pulumi.StringPtrInput + // Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + DeletionStrategy pulumi.StringPtrInput + // Description. + Description pulumi.StringPtrInput + // Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + DuplicationStrategy pulumi.StringPtrInput + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId pulumi.StringPtrInput + // The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + PrincipalName pulumi.StringPtrInput + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType pulumi.StringPtrInput + // Status of CAM user synchronization. Value: + // * Enabled: CAM user synchronization is enabled; + // * Disabled: CAM user synchronization is not enabled. + Status pulumi.StringPtrInput + // Group account The name of the target account.. + TargetName pulumi.StringPtrInput + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType pulumi.StringPtrInput + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin pulumi.IntPtrInput + // Update time. + UpdateTime pulumi.StringPtrInput + // User provisioning id. + UserProvisioningId pulumi.StringPtrInput + // Space ID. + ZoneId pulumi.StringPtrInput +} + +func (CenterUserSyncProvisioningState) ElementType() reflect.Type { + return reflect.TypeOf((*centerUserSyncProvisioningState)(nil)).Elem() +} + +type centerUserSyncProvisioningArgs struct { + // Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + DeletionStrategy *string `pulumi:"deletionStrategy"` + // Description. + Description *string `pulumi:"description"` + // Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + DuplicationStrategy *string `pulumi:"duplicationStrategy"` + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId *string `pulumi:"principalId"` + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType *string `pulumi:"principalType"` + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType *string `pulumi:"targetType"` + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin *int `pulumi:"targetUin"` + // Space ID. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a CenterUserSyncProvisioning resource. +type CenterUserSyncProvisioningArgs struct { + // Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + DeletionStrategy pulumi.StringPtrInput + // Description. + Description pulumi.StringPtrInput + // Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + DuplicationStrategy pulumi.StringPtrInput + // Identity ID for the CAM user synchronization. Valid values: + // When the PrincipalType value is Group, it is the CIC user group ID (g-********). + // When the PrincipalType value is User, it is the CIC user ID (u-********). + PrincipalId pulumi.StringPtrInput + // Identity type for the CAM user synchronization. Valid values: + // + // User: indicates that the identity for the CAM user synchronization is a CIC user. + // Group: indicates that the identity for the CAM user synchronization is a CIC user group. + PrincipalType pulumi.StringPtrInput + // Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + TargetType pulumi.StringPtrInput + // UIN of the synchronized target account of the Tencent Cloud Organization. + TargetUin pulumi.IntPtrInput + // Space ID. + ZoneId pulumi.StringInput +} + +func (CenterUserSyncProvisioningArgs) ElementType() reflect.Type { + return reflect.TypeOf((*centerUserSyncProvisioningArgs)(nil)).Elem() +} + +type CenterUserSyncProvisioningInput interface { + pulumi.Input + + ToCenterUserSyncProvisioningOutput() CenterUserSyncProvisioningOutput + ToCenterUserSyncProvisioningOutputWithContext(ctx context.Context) CenterUserSyncProvisioningOutput +} + +func (*CenterUserSyncProvisioning) ElementType() reflect.Type { + return reflect.TypeOf((**CenterUserSyncProvisioning)(nil)).Elem() +} + +func (i *CenterUserSyncProvisioning) ToCenterUserSyncProvisioningOutput() CenterUserSyncProvisioningOutput { + return i.ToCenterUserSyncProvisioningOutputWithContext(context.Background()) +} + +func (i *CenterUserSyncProvisioning) ToCenterUserSyncProvisioningOutputWithContext(ctx context.Context) CenterUserSyncProvisioningOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserSyncProvisioningOutput) +} + +// CenterUserSyncProvisioningArrayInput is an input type that accepts CenterUserSyncProvisioningArray and CenterUserSyncProvisioningArrayOutput values. +// You can construct a concrete instance of `CenterUserSyncProvisioningArrayInput` via: +// +// CenterUserSyncProvisioningArray{ CenterUserSyncProvisioningArgs{...} } +type CenterUserSyncProvisioningArrayInput interface { + pulumi.Input + + ToCenterUserSyncProvisioningArrayOutput() CenterUserSyncProvisioningArrayOutput + ToCenterUserSyncProvisioningArrayOutputWithContext(context.Context) CenterUserSyncProvisioningArrayOutput +} + +type CenterUserSyncProvisioningArray []CenterUserSyncProvisioningInput + +func (CenterUserSyncProvisioningArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterUserSyncProvisioning)(nil)).Elem() +} + +func (i CenterUserSyncProvisioningArray) ToCenterUserSyncProvisioningArrayOutput() CenterUserSyncProvisioningArrayOutput { + return i.ToCenterUserSyncProvisioningArrayOutputWithContext(context.Background()) +} + +func (i CenterUserSyncProvisioningArray) ToCenterUserSyncProvisioningArrayOutputWithContext(ctx context.Context) CenterUserSyncProvisioningArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserSyncProvisioningArrayOutput) +} + +// CenterUserSyncProvisioningMapInput is an input type that accepts CenterUserSyncProvisioningMap and CenterUserSyncProvisioningMapOutput values. +// You can construct a concrete instance of `CenterUserSyncProvisioningMapInput` via: +// +// CenterUserSyncProvisioningMap{ "key": CenterUserSyncProvisioningArgs{...} } +type CenterUserSyncProvisioningMapInput interface { + pulumi.Input + + ToCenterUserSyncProvisioningMapOutput() CenterUserSyncProvisioningMapOutput + ToCenterUserSyncProvisioningMapOutputWithContext(context.Context) CenterUserSyncProvisioningMapOutput +} + +type CenterUserSyncProvisioningMap map[string]CenterUserSyncProvisioningInput + +func (CenterUserSyncProvisioningMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterUserSyncProvisioning)(nil)).Elem() +} + +func (i CenterUserSyncProvisioningMap) ToCenterUserSyncProvisioningMapOutput() CenterUserSyncProvisioningMapOutput { + return i.ToCenterUserSyncProvisioningMapOutputWithContext(context.Background()) +} + +func (i CenterUserSyncProvisioningMap) ToCenterUserSyncProvisioningMapOutputWithContext(ctx context.Context) CenterUserSyncProvisioningMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CenterUserSyncProvisioningMapOutput) +} + +type CenterUserSyncProvisioningOutput struct{ *pulumi.OutputState } + +func (CenterUserSyncProvisioningOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CenterUserSyncProvisioning)(nil)).Elem() +} + +func (o CenterUserSyncProvisioningOutput) ToCenterUserSyncProvisioningOutput() CenterUserSyncProvisioningOutput { + return o +} + +func (o CenterUserSyncProvisioningOutput) ToCenterUserSyncProvisioningOutputWithContext(ctx context.Context) CenterUserSyncProvisioningOutput { + return o +} + +// Create time. +func (o CenterUserSyncProvisioningOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. +func (o CenterUserSyncProvisioningOutput) DeletionStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringPtrOutput { return v.DeletionStrategy }).(pulumi.StringPtrOutput) +} + +// Description. +func (o CenterUserSyncProvisioningOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. +func (o CenterUserSyncProvisioningOutput) DuplicationStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringPtrOutput { return v.DuplicationStrategy }).(pulumi.StringPtrOutput) +} + +// Identity ID for the CAM user synchronization. Valid values: +// When the PrincipalType value is Group, it is the CIC user group ID (g-********). +// When the PrincipalType value is User, it is the CIC user ID (u-********). +func (o CenterUserSyncProvisioningOutput) PrincipalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringPtrOutput { return v.PrincipalId }).(pulumi.StringPtrOutput) +} + +// The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. +func (o CenterUserSyncProvisioningOutput) PrincipalName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringOutput { return v.PrincipalName }).(pulumi.StringOutput) +} + +// Identity type for the CAM user synchronization. Valid values: +// +// User: indicates that the identity for the CAM user synchronization is a CIC user. +// Group: indicates that the identity for the CAM user synchronization is a CIC user group. +func (o CenterUserSyncProvisioningOutput) PrincipalType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringPtrOutput { return v.PrincipalType }).(pulumi.StringPtrOutput) +} + +// Status of CAM user synchronization. Value: +// * Enabled: CAM user synchronization is enabled; +// * Disabled: CAM user synchronization is not enabled. +func (o CenterUserSyncProvisioningOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Group account The name of the target account.. +func (o CenterUserSyncProvisioningOutput) TargetName() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringOutput { return v.TargetName }).(pulumi.StringOutput) +} + +// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. +func (o CenterUserSyncProvisioningOutput) TargetType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringPtrOutput { return v.TargetType }).(pulumi.StringPtrOutput) +} + +// UIN of the synchronized target account of the Tencent Cloud Organization. +func (o CenterUserSyncProvisioningOutput) TargetUin() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.IntPtrOutput { return v.TargetUin }).(pulumi.IntPtrOutput) +} + +// Update time. +func (o CenterUserSyncProvisioningOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) +} + +// User provisioning id. +func (o CenterUserSyncProvisioningOutput) UserProvisioningId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringOutput { return v.UserProvisioningId }).(pulumi.StringOutput) +} + +// Space ID. +func (o CenterUserSyncProvisioningOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *CenterUserSyncProvisioning) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type CenterUserSyncProvisioningArrayOutput struct{ *pulumi.OutputState } + +func (CenterUserSyncProvisioningArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CenterUserSyncProvisioning)(nil)).Elem() +} + +func (o CenterUserSyncProvisioningArrayOutput) ToCenterUserSyncProvisioningArrayOutput() CenterUserSyncProvisioningArrayOutput { + return o +} + +func (o CenterUserSyncProvisioningArrayOutput) ToCenterUserSyncProvisioningArrayOutputWithContext(ctx context.Context) CenterUserSyncProvisioningArrayOutput { + return o +} + +func (o CenterUserSyncProvisioningArrayOutput) Index(i pulumi.IntInput) CenterUserSyncProvisioningOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CenterUserSyncProvisioning { + return vs[0].([]*CenterUserSyncProvisioning)[vs[1].(int)] + }).(CenterUserSyncProvisioningOutput) +} + +type CenterUserSyncProvisioningMapOutput struct{ *pulumi.OutputState } + +func (CenterUserSyncProvisioningMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CenterUserSyncProvisioning)(nil)).Elem() +} + +func (o CenterUserSyncProvisioningMapOutput) ToCenterUserSyncProvisioningMapOutput() CenterUserSyncProvisioningMapOutput { + return o +} + +func (o CenterUserSyncProvisioningMapOutput) ToCenterUserSyncProvisioningMapOutputWithContext(ctx context.Context) CenterUserSyncProvisioningMapOutput { + return o +} + +func (o CenterUserSyncProvisioningMapOutput) MapIndex(k pulumi.StringInput) CenterUserSyncProvisioningOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CenterUserSyncProvisioning { + return vs[0].(map[string]*CenterUserSyncProvisioning)[vs[1].(string)] + }).(CenterUserSyncProvisioningOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserSyncProvisioningInput)(nil)).Elem(), &CenterUserSyncProvisioning{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserSyncProvisioningArrayInput)(nil)).Elem(), CenterUserSyncProvisioningArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CenterUserSyncProvisioningMapInput)(nil)).Elem(), CenterUserSyncProvisioningMap{}) + pulumi.RegisterOutputType(CenterUserSyncProvisioningOutput{}) + pulumi.RegisterOutputType(CenterUserSyncProvisioningArrayOutput{}) + pulumi.RegisterOutputType(CenterUserSyncProvisioningMapOutput{}) +} diff --git a/sdk/go/tencentcloud/identity/init.go b/sdk/go/tencentcloud/identity/init.go new file mode 100644 index 000000000..416ab19de --- /dev/null +++ b/sdk/go/tencentcloud/identity/init.go @@ -0,0 +1,100 @@ +// 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 identity + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider": + r = &CenterExternalSamlIdentityProvider{} + case "tencentcloud:Identity/centerGroup:CenterGroup": + r = &CenterGroup{} + case "tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment": + r = &CenterRoleAssignment{} + case "tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration": + r = &CenterRoleConfiguration{} + case "tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment": + r = &CenterRoleConfigurationPermissionCustomPolicyAttachment{} + case "tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment": + r = &CenterRoleConfigurationPermissionPolicyAttachment{} + case "tencentcloud:Identity/centerUser:CenterUser": + r = &CenterUser{} + case "tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment": + r = &CenterUserGroupAttachment{} + case "tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning": + r = &CenterUserSyncProvisioning{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerExternalSamlIdentityProvider", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerRoleAssignment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerRoleConfiguration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerRoleConfigurationPermissionCustomPolicyAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerRoleConfigurationPermissionPolicyAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerUser", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerUserGroupAttachment", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Identity/centerUserSyncProvisioning", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/instance/instance.go b/sdk/go/tencentcloud/instance/instance.go index d64ea6592..80f86798c 100644 --- a/sdk/go/tencentcloud/instance/instance.go +++ b/sdk/go/tencentcloud/instance/instance.go @@ -18,12 +18,220 @@ import ( // // > **NOTE:** At present, 'PREPAID' instance cannot be deleted directly and must wait it to be outdated and released automatically. // +// ## Example Usage +// +// ### Create a general POSTPAID_BY_HOUR CVM instance +// +// +// ```go +// package main +// +// 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/Images" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// images, err := Images.GetInstance(ctx, &images.GetInstanceArgs{ +// ImageTypes: []string{ +// "PUBLIC_IMAGE", +// }, +// ImageNameRegex: pulumi.StringRef("OpenCloudOS Server"), +// }, nil) +// if err != nil { +// return err +// } +// types, err := Instance.GetTypes(ctx, &instance.GetTypesArgs{ +// Filters: []instance.GetTypesFilter{ +// { +// Name: "instance-family", +// Values: []string{ +// "S1", +// "S2", +// "S3", +// "S4", +// "S5", +// }, +// }, +// }, +// CpuCoreCount: pulumi.IntRef(2), +// ExcludeSoldOut: pulumi.BoolRef(true), +// }, nil) +// if err != nil { +// return err +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// }) +// if err != nil { +// return err +// } +// // create CVM instance +// _, err = Instance.NewInstance(ctx, "example", &Instance.InstanceArgs{ +// InstanceName: pulumi.String("tf-example"), +// AvailabilityZone: pulumi.String(availabilityZone), +// ImageId: pulumi.String(images.Images[0].ImageId), +// InstanceType: pulumi.String(types.InstanceTypes[0].InstanceType), +// SystemDiskType: pulumi.String("CLOUD_PREMIUM"), +// SystemDiskSize: pulumi.Int(50), +// Hostname: pulumi.String("user"), +// ProjectId: pulumi.Int(0), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DataDisks: instance.InstanceDataDiskArray{ +// &instance.InstanceDataDiskArgs{ +// DataDiskType: pulumi.String("CLOUD_PREMIUM"), +// DataDiskSize: pulumi.Int(50), +// Encrypt: pulumi.Bool(false), +// }, +// }, +// Tags: pulumi.Map{ +// "tagKey": pulumi.Any("tagValue"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a dedicated cluster CVM instance +// +// +// ```go +// package main +// +// 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/Images" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Instance" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// images, err := Images.GetInstance(ctx, &images.GetInstanceArgs{ +// ImageTypes: []string{ +// "PUBLIC_IMAGE", +// }, +// ImageNameRegex: pulumi.StringRef("OpenCloudOS Server"), +// }, nil) +// if err != nil { +// return err +// } +// types, err := Instance.GetTypes(ctx, &instance.GetTypesArgs{ +// Filters: []instance.GetTypesFilter{ +// { +// Name: "instance-family", +// Values: []string{ +// "S1", +// "S2", +// "S3", +// "S4", +// "S5", +// }, +// }, +// }, +// CpuCoreCount: pulumi.IntRef(2), +// ExcludeSoldOut: pulumi.BoolRef(true), +// }, nil) +// if err != nil { +// return err +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// CdcId: pulumi.String("cluster-262n63e8"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create CVM instance +// _, err = Instance.NewInstance(ctx, "example", &Instance.InstanceArgs{ +// InstanceName: pulumi.String("tf-example"), +// AvailabilityZone: pulumi.String(availabilityZone), +// ImageId: pulumi.String(images.Images[0].ImageId), +// InstanceType: pulumi.String(types.InstanceTypes[0].InstanceType), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// InstanceChargeType: pulumi.String("CDCPAID"), +// SystemDiskType: pulumi.String("CLOUD_SSD"), +// SystemDiskSize: pulumi.Int(50), +// Hostname: pulumi.String("user"), +// ProjectId: pulumi.Int(0), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DataDisks: instance.InstanceDataDiskArray{ +// &instance.InstanceDataDiskArgs{ +// DataDiskType: pulumi.String("CLOUD_SSD"), +// DataDiskSize: pulumi.Int(50), +// Encrypt: pulumi.Bool(false), +// }, +// }, +// Tags: pulumi.Map{ +// "tagKey": pulumi.Any("tagValue"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // CVM instance can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Instance/instance:Instance foo ins-2qol3a80 +// $ pulumi import tencentcloud:Instance/instance:Instance example ins-2qol3a80 // ``` type Instance struct { pulumi.CustomResourceState @@ -46,6 +254,8 @@ type Instance struct { CreateTime pulumi.StringOutput `pulumi:"createTime"` // Settings for data disks. DataDisks InstanceDataDiskArrayOutput `pulumi:"dataDisks"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrOutput `pulumi:"dedicatedClusterId"` // Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. DisableApiTermination pulumi.BoolPtrOutput `pulumi:"disableApiTermination"` // Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. @@ -120,6 +330,8 @@ type Instance struct { SubnetId pulumi.StringOutput `pulumi:"subnetId"` // System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. SystemDiskId pulumi.StringOutput `pulumi:"systemDiskId"` + // Resize online. + SystemDiskResizeOnline pulumi.BoolPtrOutput `pulumi:"systemDiskResizeOnline"` // Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. SystemDiskSize pulumi.IntPtrOutput `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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. @@ -197,6 +409,8 @@ type instanceState struct { CreateTime *string `pulumi:"createTime"` // Settings for data disks. DataDisks []InstanceDataDisk `pulumi:"dataDisks"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. DisableApiTermination *bool `pulumi:"disableApiTermination"` // Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. @@ -271,6 +485,8 @@ type instanceState struct { SubnetId *string `pulumi:"subnetId"` // System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. SystemDiskId *string `pulumi:"systemDiskId"` + // Resize online. + SystemDiskResizeOnline *bool `pulumi:"systemDiskResizeOnline"` // Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. @@ -306,6 +522,8 @@ type InstanceState struct { CreateTime pulumi.StringPtrInput // Settings for data disks. DataDisks InstanceDataDiskArrayInput + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput // Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. DisableApiTermination pulumi.BoolPtrInput // Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. @@ -380,6 +598,8 @@ type InstanceState struct { SubnetId pulumi.StringPtrInput // System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. SystemDiskId pulumi.StringPtrInput + // Resize online. + SystemDiskResizeOnline pulumi.BoolPtrInput // Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. SystemDiskSize pulumi.IntPtrInput // 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. @@ -415,6 +635,8 @@ type instanceArgs struct { CdhInstanceType *string `pulumi:"cdhInstanceType"` // Settings for data disks. DataDisks []InstanceDataDisk `pulumi:"dataDisks"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. DisableApiTermination *bool `pulumi:"disableApiTermination"` // Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. @@ -479,6 +701,8 @@ type instanceArgs struct { SubnetId *string `pulumi:"subnetId"` // System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. SystemDiskId *string `pulumi:"systemDiskId"` + // Resize online. + SystemDiskResizeOnline *bool `pulumi:"systemDiskResizeOnline"` // Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. @@ -509,6 +733,8 @@ type InstanceArgs struct { CdhInstanceType pulumi.StringPtrInput // Settings for data disks. DataDisks InstanceDataDiskArrayInput + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput // Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. DisableApiTermination pulumi.BoolPtrInput // Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. @@ -573,6 +799,8 @@ type InstanceArgs struct { SubnetId pulumi.StringPtrInput // System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. SystemDiskId pulumi.StringPtrInput + // Resize online. + SystemDiskResizeOnline pulumi.BoolPtrInput // Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. SystemDiskSize pulumi.IntPtrInput // 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. @@ -719,6 +947,11 @@ func (o InstanceOutput) DataDisks() InstanceDataDiskArrayOutput { return o.ApplyT(func(v *Instance) InstanceDataDiskArrayOutput { return v.DataDisks }).(InstanceDataDiskArrayOutput) } +// Exclusive cluster id. +func (o InstanceOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. func (o InstanceOutput) DisableApiTermination() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DisableApiTermination }).(pulumi.BoolPtrOutput) @@ -895,6 +1128,11 @@ func (o InstanceOutput) SystemDiskId() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.SystemDiskId }).(pulumi.StringOutput) } +// Resize online. +func (o InstanceOutput) SystemDiskResizeOnline() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.SystemDiskResizeOnline }).(pulumi.BoolPtrOutput) +} + // Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. func (o InstanceOutput) SystemDiskSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.SystemDiskSize }).(pulumi.IntPtrOutput) diff --git a/sdk/go/tencentcloud/instance/pulumiTypes.go b/sdk/go/tencentcloud/instance/pulumiTypes.go index ca5d82449..fa23e6bd1 100644 --- a/sdk/go/tencentcloud/instance/pulumiTypes.go +++ b/sdk/go/tencentcloud/instance/pulumiTypes.go @@ -24,6 +24,8 @@ type InstanceDataDisk struct { DataDiskType string `pulumi:"dataDiskType"` // Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true. DeleteWithInstance *bool `pulumi:"deleteWithInstance"` + // Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + DeleteWithInstancePrepaid *bool `pulumi:"deleteWithInstancePrepaid"` // Decides whether the disk is encrypted. Default is `false`. Encrypt *bool `pulumi:"encrypt"` // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. @@ -52,6 +54,8 @@ type InstanceDataDiskArgs struct { DataDiskType pulumi.StringInput `pulumi:"dataDiskType"` // Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true. DeleteWithInstance pulumi.BoolPtrInput `pulumi:"deleteWithInstance"` + // Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + DeleteWithInstancePrepaid pulumi.BoolPtrInput `pulumi:"deleteWithInstancePrepaid"` // Decides whether the disk is encrypted. Default is `false`. Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. @@ -134,6 +138,11 @@ func (o InstanceDataDiskOutput) DeleteWithInstance() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstanceDataDisk) *bool { return v.DeleteWithInstance }).(pulumi.BoolPtrOutput) } +// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. +func (o InstanceDataDiskOutput) DeleteWithInstancePrepaid() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceDataDisk) *bool { return v.DeleteWithInstancePrepaid }).(pulumi.BoolPtrOutput) +} + // Decides whether the disk is encrypted. Default is `false`. func (o InstanceDataDiskOutput) Encrypt() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstanceDataDisk) *bool { return v.Encrypt }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/tencentcloud/instances/getInstance.go b/sdk/go/tencentcloud/instances/getInstance.go index 2c21e5b9d..e91ace640 100644 --- a/sdk/go/tencentcloud/instances/getInstance.go +++ b/sdk/go/tencentcloud/instances/getInstance.go @@ -120,6 +120,8 @@ func GetInstance(ctx *pulumi.Context, args *GetInstanceArgs, opts ...pulumi.Invo type GetInstanceArgs struct { // The available zone that the CVM instance locates at. AvailabilityZone *string `pulumi:"availabilityZone"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // ID of the instances to be queried. InstanceId *string `pulumi:"instanceId"` // Name of the instances to be queried. @@ -142,6 +144,8 @@ type GetInstanceArgs struct { type GetInstanceResult struct { // The available zone that the CVM instance locates at. AvailabilityZone *string `pulumi:"availabilityZone"` + // Exclusive cluster id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // ID of the instances. @@ -179,6 +183,8 @@ func GetInstanceOutput(ctx *pulumi.Context, args GetInstanceOutputArgs, opts ... type GetInstanceOutputArgs struct { // The available zone that the CVM instance locates at. AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringPtrInput `pulumi:"dedicatedClusterId"` // ID of the instances to be queried. InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` // Name of the instances to be queried. @@ -221,6 +227,11 @@ func (o GetInstanceResultOutput) AvailabilityZone() pulumi.StringPtrOutput { return o.ApplyT(func(v GetInstanceResult) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) } +// Exclusive cluster id. +func (o GetInstanceResultOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstanceResult) *string { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // The provider-assigned unique ID for this managed resource. func (o GetInstanceResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/instances/pulumiTypes.go b/sdk/go/tencentcloud/instances/pulumiTypes.go index 6a826b4b2..f5afaaa62 100644 --- a/sdk/go/tencentcloud/instances/pulumiTypes.go +++ b/sdk/go/tencentcloud/instances/pulumiTypes.go @@ -26,6 +26,8 @@ type GetInstanceInstanceList struct { CreateTime string `pulumi:"createTime"` // An information list of data disk. Each element contains the following attributes: DataDisks []GetInstanceInstanceListDataDisk `pulumi:"dataDisks"` + // Exclusive cluster id. + DedicatedClusterId string `pulumi:"dedicatedClusterId"` // Expired time of the instance. ExpiredTime string `pulumi:"expiredTime"` // ID of the image. @@ -68,6 +70,8 @@ type GetInstanceInstanceList struct { SystemDiskType string `pulumi:"systemDiskType"` // Tags of the instance. Tags map[string]interface{} `pulumi:"tags"` + // Globally unique ID of the instance. + Uuid string `pulumi:"uuid"` // ID of the vpc to be queried. VpcId string `pulumi:"vpcId"` } @@ -96,6 +100,8 @@ type GetInstanceInstanceListArgs struct { CreateTime pulumi.StringInput `pulumi:"createTime"` // An information list of data disk. Each element contains the following attributes: DataDisks GetInstanceInstanceListDataDiskArrayInput `pulumi:"dataDisks"` + // Exclusive cluster id. + DedicatedClusterId pulumi.StringInput `pulumi:"dedicatedClusterId"` // Expired time of the instance. ExpiredTime pulumi.StringInput `pulumi:"expiredTime"` // ID of the image. @@ -138,6 +144,8 @@ type GetInstanceInstanceListArgs struct { SystemDiskType pulumi.StringInput `pulumi:"systemDiskType"` // Tags of the instance. Tags pulumi.MapInput `pulumi:"tags"` + // Globally unique ID of the instance. + Uuid pulumi.StringInput `pulumi:"uuid"` // ID of the vpc to be queried. VpcId pulumi.StringInput `pulumi:"vpcId"` } @@ -223,6 +231,11 @@ func (o GetInstanceInstanceListOutput) DataDisks() GetInstanceInstanceListDataDi return o.ApplyT(func(v GetInstanceInstanceList) []GetInstanceInstanceListDataDisk { return v.DataDisks }).(GetInstanceInstanceListDataDiskArrayOutput) } +// Exclusive cluster id. +func (o GetInstanceInstanceListOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceInstanceList) string { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + // Expired time of the instance. func (o GetInstanceInstanceListOutput) ExpiredTime() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceInstanceList) string { return v.ExpiredTime }).(pulumi.StringOutput) @@ -328,6 +341,11 @@ func (o GetInstanceInstanceListOutput) Tags() pulumi.MapOutput { return o.ApplyT(func(v GetInstanceInstanceList) map[string]interface{} { return v.Tags }).(pulumi.MapOutput) } +// Globally unique ID of the instance. +func (o GetInstanceInstanceListOutput) Uuid() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceInstanceList) string { return v.Uuid }).(pulumi.StringOutput) +} + // ID of the vpc to be queried. func (o GetInstanceInstanceListOutput) VpcId() pulumi.StringOutput { return o.ApplyT(func(v GetInstanceInstanceList) string { return v.VpcId }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/invite/init.go b/sdk/go/tencentcloud/invite/init.go new file mode 100644 index 000000000..6d2a28b5d --- /dev/null +++ b/sdk/go/tencentcloud/invite/init.go @@ -0,0 +1,44 @@ +// 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 invite + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation": + r = &OrganizationMemberOperation{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "tencentcloud", + "Invite/organizationMemberOperation", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/invite/organizationMemberOperation.go b/sdk/go/tencentcloud/invite/organizationMemberOperation.go new file mode 100644 index 000000000..447d07af1 --- /dev/null +++ b/sdk/go/tencentcloud/invite/organizationMemberOperation.go @@ -0,0 +1,416 @@ +// 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 invite + +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 organization inviteOrganizationMemberOperation +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Invite" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Invite.NewOrganizationMemberOperation(ctx, "inviteOrganizationMemberOperation", &Invite.OrganizationMemberOperationArgs{ +// IsAllowQuit: pulumi.String("Allow"), +// MemberUin: pulumi.Int("xxxxxx"), +// NodeId: pulumi.Int("xxxxxx"), +// PermissionIds: pulumi.IntArray{ +// pulumi.Int(1), +// pulumi.Int(2), +// pulumi.Int(4), +// }, +// PolicyType: pulumi.String("Financial"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type OrganizationMemberOperation struct { + pulumi.CustomResourceState + + // List of supporting documents of mutual trust entities. + AuthFiles OrganizationMemberOperationAuthFileArrayOutput `pulumi:"authFiles"` + // Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + IsAllowQuit pulumi.StringPtrOutput `pulumi:"isAllowQuit"` + // Invited account Uin. + MemberUin pulumi.IntOutput `pulumi:"memberUin"` + // Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + Name pulumi.StringOutput `pulumi:"name"` + // Node ID of the member's department. + NodeId pulumi.IntOutput `pulumi:"nodeId"` + // Payer Uin. Member needs to pay on behalf of. + PayUin pulumi.StringPtrOutput `pulumi:"payUin"` + // List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + PermissionIds pulumi.IntArrayOutput `pulumi:"permissionIds"` + // Relationship strategies. Value taken: Financial. + PolicyType pulumi.StringOutput `pulumi:"policyType"` + // Name of the real-name subject of mutual trust. + RelationAuthName pulumi.StringPtrOutput `pulumi:"relationAuthName"` + // Remark. + Remark pulumi.StringPtrOutput `pulumi:"remark"` + // List of member tags. Maximum 10. + Tags OrganizationMemberOperationTagArrayOutput `pulumi:"tags"` +} + +// NewOrganizationMemberOperation registers a new resource with the given unique name, arguments, and options. +func NewOrganizationMemberOperation(ctx *pulumi.Context, + name string, args *OrganizationMemberOperationArgs, opts ...pulumi.ResourceOption) (*OrganizationMemberOperation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.MemberUin == nil { + return nil, errors.New("invalid value for required argument 'MemberUin'") + } + if args.NodeId == nil { + return nil, errors.New("invalid value for required argument 'NodeId'") + } + if args.PermissionIds == nil { + return nil, errors.New("invalid value for required argument 'PermissionIds'") + } + if args.PolicyType == nil { + return nil, errors.New("invalid value for required argument 'PolicyType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource OrganizationMemberOperation + err := ctx.RegisterResource("tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetOrganizationMemberOperation gets an existing OrganizationMemberOperation 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 GetOrganizationMemberOperation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *OrganizationMemberOperationState, opts ...pulumi.ResourceOption) (*OrganizationMemberOperation, error) { + var resource OrganizationMemberOperation + err := ctx.ReadResource("tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering OrganizationMemberOperation resources. +type organizationMemberOperationState struct { + // List of supporting documents of mutual trust entities. + AuthFiles []OrganizationMemberOperationAuthFile `pulumi:"authFiles"` + // Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + IsAllowQuit *string `pulumi:"isAllowQuit"` + // Invited account Uin. + MemberUin *int `pulumi:"memberUin"` + // Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + Name *string `pulumi:"name"` + // Node ID of the member's department. + NodeId *int `pulumi:"nodeId"` + // Payer Uin. Member needs to pay on behalf of. + PayUin *string `pulumi:"payUin"` + // List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + PermissionIds []int `pulumi:"permissionIds"` + // Relationship strategies. Value taken: Financial. + PolicyType *string `pulumi:"policyType"` + // Name of the real-name subject of mutual trust. + RelationAuthName *string `pulumi:"relationAuthName"` + // Remark. + Remark *string `pulumi:"remark"` + // List of member tags. Maximum 10. + Tags []OrganizationMemberOperationTag `pulumi:"tags"` +} + +type OrganizationMemberOperationState struct { + // List of supporting documents of mutual trust entities. + AuthFiles OrganizationMemberOperationAuthFileArrayInput + // Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + IsAllowQuit pulumi.StringPtrInput + // Invited account Uin. + MemberUin pulumi.IntPtrInput + // Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + Name pulumi.StringPtrInput + // Node ID of the member's department. + NodeId pulumi.IntPtrInput + // Payer Uin. Member needs to pay on behalf of. + PayUin pulumi.StringPtrInput + // List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + PermissionIds pulumi.IntArrayInput + // Relationship strategies. Value taken: Financial. + PolicyType pulumi.StringPtrInput + // Name of the real-name subject of mutual trust. + RelationAuthName pulumi.StringPtrInput + // Remark. + Remark pulumi.StringPtrInput + // List of member tags. Maximum 10. + Tags OrganizationMemberOperationTagArrayInput +} + +func (OrganizationMemberOperationState) ElementType() reflect.Type { + return reflect.TypeOf((*organizationMemberOperationState)(nil)).Elem() +} + +type organizationMemberOperationArgs struct { + // List of supporting documents of mutual trust entities. + AuthFiles []OrganizationMemberOperationAuthFile `pulumi:"authFiles"` + // Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + IsAllowQuit *string `pulumi:"isAllowQuit"` + // Invited account Uin. + MemberUin int `pulumi:"memberUin"` + // Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + Name *string `pulumi:"name"` + // Node ID of the member's department. + NodeId int `pulumi:"nodeId"` + // Payer Uin. Member needs to pay on behalf of. + PayUin *string `pulumi:"payUin"` + // List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + PermissionIds []int `pulumi:"permissionIds"` + // Relationship strategies. Value taken: Financial. + PolicyType string `pulumi:"policyType"` + // Name of the real-name subject of mutual trust. + RelationAuthName *string `pulumi:"relationAuthName"` + // Remark. + Remark *string `pulumi:"remark"` + // List of member tags. Maximum 10. + Tags []OrganizationMemberOperationTag `pulumi:"tags"` +} + +// The set of arguments for constructing a OrganizationMemberOperation resource. +type OrganizationMemberOperationArgs struct { + // List of supporting documents of mutual trust entities. + AuthFiles OrganizationMemberOperationAuthFileArrayInput + // Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + IsAllowQuit pulumi.StringPtrInput + // Invited account Uin. + MemberUin pulumi.IntInput + // Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + Name pulumi.StringPtrInput + // Node ID of the member's department. + NodeId pulumi.IntInput + // Payer Uin. Member needs to pay on behalf of. + PayUin pulumi.StringPtrInput + // List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + PermissionIds pulumi.IntArrayInput + // Relationship strategies. Value taken: Financial. + PolicyType pulumi.StringInput + // Name of the real-name subject of mutual trust. + RelationAuthName pulumi.StringPtrInput + // Remark. + Remark pulumi.StringPtrInput + // List of member tags. Maximum 10. + Tags OrganizationMemberOperationTagArrayInput +} + +func (OrganizationMemberOperationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*organizationMemberOperationArgs)(nil)).Elem() +} + +type OrganizationMemberOperationInput interface { + pulumi.Input + + ToOrganizationMemberOperationOutput() OrganizationMemberOperationOutput + ToOrganizationMemberOperationOutputWithContext(ctx context.Context) OrganizationMemberOperationOutput +} + +func (*OrganizationMemberOperation) ElementType() reflect.Type { + return reflect.TypeOf((**OrganizationMemberOperation)(nil)).Elem() +} + +func (i *OrganizationMemberOperation) ToOrganizationMemberOperationOutput() OrganizationMemberOperationOutput { + return i.ToOrganizationMemberOperationOutputWithContext(context.Background()) +} + +func (i *OrganizationMemberOperation) ToOrganizationMemberOperationOutputWithContext(ctx context.Context) OrganizationMemberOperationOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrganizationMemberOperationOutput) +} + +// OrganizationMemberOperationArrayInput is an input type that accepts OrganizationMemberOperationArray and OrganizationMemberOperationArrayOutput values. +// You can construct a concrete instance of `OrganizationMemberOperationArrayInput` via: +// +// OrganizationMemberOperationArray{ OrganizationMemberOperationArgs{...} } +type OrganizationMemberOperationArrayInput interface { + pulumi.Input + + ToOrganizationMemberOperationArrayOutput() OrganizationMemberOperationArrayOutput + ToOrganizationMemberOperationArrayOutputWithContext(context.Context) OrganizationMemberOperationArrayOutput +} + +type OrganizationMemberOperationArray []OrganizationMemberOperationInput + +func (OrganizationMemberOperationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrganizationMemberOperation)(nil)).Elem() +} + +func (i OrganizationMemberOperationArray) ToOrganizationMemberOperationArrayOutput() OrganizationMemberOperationArrayOutput { + return i.ToOrganizationMemberOperationArrayOutputWithContext(context.Background()) +} + +func (i OrganizationMemberOperationArray) ToOrganizationMemberOperationArrayOutputWithContext(ctx context.Context) OrganizationMemberOperationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrganizationMemberOperationArrayOutput) +} + +// OrganizationMemberOperationMapInput is an input type that accepts OrganizationMemberOperationMap and OrganizationMemberOperationMapOutput values. +// You can construct a concrete instance of `OrganizationMemberOperationMapInput` via: +// +// OrganizationMemberOperationMap{ "key": OrganizationMemberOperationArgs{...} } +type OrganizationMemberOperationMapInput interface { + pulumi.Input + + ToOrganizationMemberOperationMapOutput() OrganizationMemberOperationMapOutput + ToOrganizationMemberOperationMapOutputWithContext(context.Context) OrganizationMemberOperationMapOutput +} + +type OrganizationMemberOperationMap map[string]OrganizationMemberOperationInput + +func (OrganizationMemberOperationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrganizationMemberOperation)(nil)).Elem() +} + +func (i OrganizationMemberOperationMap) ToOrganizationMemberOperationMapOutput() OrganizationMemberOperationMapOutput { + return i.ToOrganizationMemberOperationMapOutputWithContext(context.Background()) +} + +func (i OrganizationMemberOperationMap) ToOrganizationMemberOperationMapOutputWithContext(ctx context.Context) OrganizationMemberOperationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrganizationMemberOperationMapOutput) +} + +type OrganizationMemberOperationOutput struct{ *pulumi.OutputState } + +func (OrganizationMemberOperationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OrganizationMemberOperation)(nil)).Elem() +} + +func (o OrganizationMemberOperationOutput) ToOrganizationMemberOperationOutput() OrganizationMemberOperationOutput { + return o +} + +func (o OrganizationMemberOperationOutput) ToOrganizationMemberOperationOutputWithContext(ctx context.Context) OrganizationMemberOperationOutput { + return o +} + +// List of supporting documents of mutual trust entities. +func (o OrganizationMemberOperationOutput) AuthFiles() OrganizationMemberOperationAuthFileArrayOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) OrganizationMemberOperationAuthFileArrayOutput { + return v.AuthFiles + }).(OrganizationMemberOperationAuthFileArrayOutput) +} + +// Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. +func (o OrganizationMemberOperationOutput) IsAllowQuit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.StringPtrOutput { return v.IsAllowQuit }).(pulumi.StringPtrOutput) +} + +// Invited account Uin. +func (o OrganizationMemberOperationOutput) MemberUin() pulumi.IntOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.IntOutput { return v.MemberUin }).(pulumi.IntOutput) +} + +// Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. +func (o OrganizationMemberOperationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Node ID of the member's department. +func (o OrganizationMemberOperationOutput) NodeId() pulumi.IntOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.IntOutput { return v.NodeId }).(pulumi.IntOutput) +} + +// Payer Uin. Member needs to pay on behalf of. +func (o OrganizationMemberOperationOutput) PayUin() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.StringPtrOutput { return v.PayUin }).(pulumi.StringPtrOutput) +} + +// List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. +func (o OrganizationMemberOperationOutput) PermissionIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.IntArrayOutput { return v.PermissionIds }).(pulumi.IntArrayOutput) +} + +// Relationship strategies. Value taken: Financial. +func (o OrganizationMemberOperationOutput) PolicyType() pulumi.StringOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.StringOutput { return v.PolicyType }).(pulumi.StringOutput) +} + +// Name of the real-name subject of mutual trust. +func (o OrganizationMemberOperationOutput) RelationAuthName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.StringPtrOutput { return v.RelationAuthName }).(pulumi.StringPtrOutput) +} + +// Remark. +func (o OrganizationMemberOperationOutput) Remark() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) pulumi.StringPtrOutput { return v.Remark }).(pulumi.StringPtrOutput) +} + +// List of member tags. Maximum 10. +func (o OrganizationMemberOperationOutput) Tags() OrganizationMemberOperationTagArrayOutput { + return o.ApplyT(func(v *OrganizationMemberOperation) OrganizationMemberOperationTagArrayOutput { return v.Tags }).(OrganizationMemberOperationTagArrayOutput) +} + +type OrganizationMemberOperationArrayOutput struct{ *pulumi.OutputState } + +func (OrganizationMemberOperationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OrganizationMemberOperation)(nil)).Elem() +} + +func (o OrganizationMemberOperationArrayOutput) ToOrganizationMemberOperationArrayOutput() OrganizationMemberOperationArrayOutput { + return o +} + +func (o OrganizationMemberOperationArrayOutput) ToOrganizationMemberOperationArrayOutputWithContext(ctx context.Context) OrganizationMemberOperationArrayOutput { + return o +} + +func (o OrganizationMemberOperationArrayOutput) Index(i pulumi.IntInput) OrganizationMemberOperationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationMemberOperation { + return vs[0].([]*OrganizationMemberOperation)[vs[1].(int)] + }).(OrganizationMemberOperationOutput) +} + +type OrganizationMemberOperationMapOutput struct{ *pulumi.OutputState } + +func (OrganizationMemberOperationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OrganizationMemberOperation)(nil)).Elem() +} + +func (o OrganizationMemberOperationMapOutput) ToOrganizationMemberOperationMapOutput() OrganizationMemberOperationMapOutput { + return o +} + +func (o OrganizationMemberOperationMapOutput) ToOrganizationMemberOperationMapOutputWithContext(ctx context.Context) OrganizationMemberOperationMapOutput { + return o +} + +func (o OrganizationMemberOperationMapOutput) MapIndex(k pulumi.StringInput) OrganizationMemberOperationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationMemberOperation { + return vs[0].(map[string]*OrganizationMemberOperation)[vs[1].(string)] + }).(OrganizationMemberOperationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OrganizationMemberOperationInput)(nil)).Elem(), &OrganizationMemberOperation{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrganizationMemberOperationArrayInput)(nil)).Elem(), OrganizationMemberOperationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrganizationMemberOperationMapInput)(nil)).Elem(), OrganizationMemberOperationMap{}) + pulumi.RegisterOutputType(OrganizationMemberOperationOutput{}) + pulumi.RegisterOutputType(OrganizationMemberOperationArrayOutput{}) + pulumi.RegisterOutputType(OrganizationMemberOperationMapOutput{}) +} diff --git a/sdk/go/tencentcloud/invite/pulumiTypes.go b/sdk/go/tencentcloud/invite/pulumiTypes.go new file mode 100644 index 000000000..e2f83df8f --- /dev/null +++ b/sdk/go/tencentcloud/invite/pulumiTypes.go @@ -0,0 +1,237 @@ +// 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 invite + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type OrganizationMemberOperationAuthFile struct { + // File name. + Name string `pulumi:"name"` + // File path. + Url string `pulumi:"url"` +} + +// OrganizationMemberOperationAuthFileInput is an input type that accepts OrganizationMemberOperationAuthFileArgs and OrganizationMemberOperationAuthFileOutput values. +// You can construct a concrete instance of `OrganizationMemberOperationAuthFileInput` via: +// +// OrganizationMemberOperationAuthFileArgs{...} +type OrganizationMemberOperationAuthFileInput interface { + pulumi.Input + + ToOrganizationMemberOperationAuthFileOutput() OrganizationMemberOperationAuthFileOutput + ToOrganizationMemberOperationAuthFileOutputWithContext(context.Context) OrganizationMemberOperationAuthFileOutput +} + +type OrganizationMemberOperationAuthFileArgs struct { + // File name. + Name pulumi.StringInput `pulumi:"name"` + // File path. + Url pulumi.StringInput `pulumi:"url"` +} + +func (OrganizationMemberOperationAuthFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OrganizationMemberOperationAuthFile)(nil)).Elem() +} + +func (i OrganizationMemberOperationAuthFileArgs) ToOrganizationMemberOperationAuthFileOutput() OrganizationMemberOperationAuthFileOutput { + return i.ToOrganizationMemberOperationAuthFileOutputWithContext(context.Background()) +} + +func (i OrganizationMemberOperationAuthFileArgs) ToOrganizationMemberOperationAuthFileOutputWithContext(ctx context.Context) OrganizationMemberOperationAuthFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrganizationMemberOperationAuthFileOutput) +} + +// OrganizationMemberOperationAuthFileArrayInput is an input type that accepts OrganizationMemberOperationAuthFileArray and OrganizationMemberOperationAuthFileArrayOutput values. +// You can construct a concrete instance of `OrganizationMemberOperationAuthFileArrayInput` via: +// +// OrganizationMemberOperationAuthFileArray{ OrganizationMemberOperationAuthFileArgs{...} } +type OrganizationMemberOperationAuthFileArrayInput interface { + pulumi.Input + + ToOrganizationMemberOperationAuthFileArrayOutput() OrganizationMemberOperationAuthFileArrayOutput + ToOrganizationMemberOperationAuthFileArrayOutputWithContext(context.Context) OrganizationMemberOperationAuthFileArrayOutput +} + +type OrganizationMemberOperationAuthFileArray []OrganizationMemberOperationAuthFileInput + +func (OrganizationMemberOperationAuthFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OrganizationMemberOperationAuthFile)(nil)).Elem() +} + +func (i OrganizationMemberOperationAuthFileArray) ToOrganizationMemberOperationAuthFileArrayOutput() OrganizationMemberOperationAuthFileArrayOutput { + return i.ToOrganizationMemberOperationAuthFileArrayOutputWithContext(context.Background()) +} + +func (i OrganizationMemberOperationAuthFileArray) ToOrganizationMemberOperationAuthFileArrayOutputWithContext(ctx context.Context) OrganizationMemberOperationAuthFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrganizationMemberOperationAuthFileArrayOutput) +} + +type OrganizationMemberOperationAuthFileOutput struct{ *pulumi.OutputState } + +func (OrganizationMemberOperationAuthFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OrganizationMemberOperationAuthFile)(nil)).Elem() +} + +func (o OrganizationMemberOperationAuthFileOutput) ToOrganizationMemberOperationAuthFileOutput() OrganizationMemberOperationAuthFileOutput { + return o +} + +func (o OrganizationMemberOperationAuthFileOutput) ToOrganizationMemberOperationAuthFileOutputWithContext(ctx context.Context) OrganizationMemberOperationAuthFileOutput { + return o +} + +// File name. +func (o OrganizationMemberOperationAuthFileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v OrganizationMemberOperationAuthFile) string { return v.Name }).(pulumi.StringOutput) +} + +// File path. +func (o OrganizationMemberOperationAuthFileOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v OrganizationMemberOperationAuthFile) string { return v.Url }).(pulumi.StringOutput) +} + +type OrganizationMemberOperationAuthFileArrayOutput struct{ *pulumi.OutputState } + +func (OrganizationMemberOperationAuthFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OrganizationMemberOperationAuthFile)(nil)).Elem() +} + +func (o OrganizationMemberOperationAuthFileArrayOutput) ToOrganizationMemberOperationAuthFileArrayOutput() OrganizationMemberOperationAuthFileArrayOutput { + return o +} + +func (o OrganizationMemberOperationAuthFileArrayOutput) ToOrganizationMemberOperationAuthFileArrayOutputWithContext(ctx context.Context) OrganizationMemberOperationAuthFileArrayOutput { + return o +} + +func (o OrganizationMemberOperationAuthFileArrayOutput) Index(i pulumi.IntInput) OrganizationMemberOperationAuthFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OrganizationMemberOperationAuthFile { + return vs[0].([]OrganizationMemberOperationAuthFile)[vs[1].(int)] + }).(OrganizationMemberOperationAuthFileOutput) +} + +type OrganizationMemberOperationTag struct { + // Tag key. + TagKey string `pulumi:"tagKey"` + // Tag value. + TagValue string `pulumi:"tagValue"` +} + +// OrganizationMemberOperationTagInput is an input type that accepts OrganizationMemberOperationTagArgs and OrganizationMemberOperationTagOutput values. +// You can construct a concrete instance of `OrganizationMemberOperationTagInput` via: +// +// OrganizationMemberOperationTagArgs{...} +type OrganizationMemberOperationTagInput interface { + pulumi.Input + + ToOrganizationMemberOperationTagOutput() OrganizationMemberOperationTagOutput + ToOrganizationMemberOperationTagOutputWithContext(context.Context) OrganizationMemberOperationTagOutput +} + +type OrganizationMemberOperationTagArgs struct { + // Tag key. + TagKey pulumi.StringInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringInput `pulumi:"tagValue"` +} + +func (OrganizationMemberOperationTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OrganizationMemberOperationTag)(nil)).Elem() +} + +func (i OrganizationMemberOperationTagArgs) ToOrganizationMemberOperationTagOutput() OrganizationMemberOperationTagOutput { + return i.ToOrganizationMemberOperationTagOutputWithContext(context.Background()) +} + +func (i OrganizationMemberOperationTagArgs) ToOrganizationMemberOperationTagOutputWithContext(ctx context.Context) OrganizationMemberOperationTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrganizationMemberOperationTagOutput) +} + +// OrganizationMemberOperationTagArrayInput is an input type that accepts OrganizationMemberOperationTagArray and OrganizationMemberOperationTagArrayOutput values. +// You can construct a concrete instance of `OrganizationMemberOperationTagArrayInput` via: +// +// OrganizationMemberOperationTagArray{ OrganizationMemberOperationTagArgs{...} } +type OrganizationMemberOperationTagArrayInput interface { + pulumi.Input + + ToOrganizationMemberOperationTagArrayOutput() OrganizationMemberOperationTagArrayOutput + ToOrganizationMemberOperationTagArrayOutputWithContext(context.Context) OrganizationMemberOperationTagArrayOutput +} + +type OrganizationMemberOperationTagArray []OrganizationMemberOperationTagInput + +func (OrganizationMemberOperationTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]OrganizationMemberOperationTag)(nil)).Elem() +} + +func (i OrganizationMemberOperationTagArray) ToOrganizationMemberOperationTagArrayOutput() OrganizationMemberOperationTagArrayOutput { + return i.ToOrganizationMemberOperationTagArrayOutputWithContext(context.Background()) +} + +func (i OrganizationMemberOperationTagArray) ToOrganizationMemberOperationTagArrayOutputWithContext(ctx context.Context) OrganizationMemberOperationTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OrganizationMemberOperationTagArrayOutput) +} + +type OrganizationMemberOperationTagOutput struct{ *pulumi.OutputState } + +func (OrganizationMemberOperationTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OrganizationMemberOperationTag)(nil)).Elem() +} + +func (o OrganizationMemberOperationTagOutput) ToOrganizationMemberOperationTagOutput() OrganizationMemberOperationTagOutput { + return o +} + +func (o OrganizationMemberOperationTagOutput) ToOrganizationMemberOperationTagOutputWithContext(ctx context.Context) OrganizationMemberOperationTagOutput { + return o +} + +// Tag key. +func (o OrganizationMemberOperationTagOutput) TagKey() pulumi.StringOutput { + return o.ApplyT(func(v OrganizationMemberOperationTag) string { return v.TagKey }).(pulumi.StringOutput) +} + +// Tag value. +func (o OrganizationMemberOperationTagOutput) TagValue() pulumi.StringOutput { + return o.ApplyT(func(v OrganizationMemberOperationTag) string { return v.TagValue }).(pulumi.StringOutput) +} + +type OrganizationMemberOperationTagArrayOutput struct{ *pulumi.OutputState } + +func (OrganizationMemberOperationTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]OrganizationMemberOperationTag)(nil)).Elem() +} + +func (o OrganizationMemberOperationTagArrayOutput) ToOrganizationMemberOperationTagArrayOutput() OrganizationMemberOperationTagArrayOutput { + return o +} + +func (o OrganizationMemberOperationTagArrayOutput) ToOrganizationMemberOperationTagArrayOutputWithContext(ctx context.Context) OrganizationMemberOperationTagArrayOutput { + return o +} + +func (o OrganizationMemberOperationTagArrayOutput) Index(i pulumi.IntInput) OrganizationMemberOperationTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) OrganizationMemberOperationTag { + return vs[0].([]OrganizationMemberOperationTag)[vs[1].(int)] + }).(OrganizationMemberOperationTagOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OrganizationMemberOperationAuthFileInput)(nil)).Elem(), OrganizationMemberOperationAuthFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrganizationMemberOperationAuthFileArrayInput)(nil)).Elem(), OrganizationMemberOperationAuthFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrganizationMemberOperationTagInput)(nil)).Elem(), OrganizationMemberOperationTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OrganizationMemberOperationTagArrayInput)(nil)).Elem(), OrganizationMemberOperationTagArray{}) + pulumi.RegisterOutputType(OrganizationMemberOperationAuthFileOutput{}) + pulumi.RegisterOutputType(OrganizationMemberOperationAuthFileArrayOutput{}) + pulumi.RegisterOutputType(OrganizationMemberOperationTagOutput{}) + pulumi.RegisterOutputType(OrganizationMemberOperationTagArrayOutput{}) +} diff --git a/sdk/go/tencentcloud/kubernetes/addonConfig.go b/sdk/go/tencentcloud/kubernetes/addonConfig.go new file mode 100644 index 000000000..84eb66dc9 --- /dev/null +++ b/sdk/go/tencentcloud/kubernetes/addonConfig.go @@ -0,0 +1,291 @@ +// 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" +) + +// Provide a resource to configure addon that kubernetes comes with. +// +// ## Example Usage +type AddonConfig struct { + pulumi.CustomResourceState + + // Name of addon. + AddonName pulumi.StringOutput `pulumi:"addonName"` + // Version of addon. + AddonVersion pulumi.StringOutput `pulumi:"addonVersion"` + // ID of cluster. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // Status of addon. + Phase pulumi.StringOutput `pulumi:"phase"` + // Params of addon, base64 encoded json format. + RawValues pulumi.StringOutput `pulumi:"rawValues"` + // Reason of addon failed. + Reason pulumi.StringOutput `pulumi:"reason"` +} + +// NewAddonConfig registers a new resource with the given unique name, arguments, and options. +func NewAddonConfig(ctx *pulumi.Context, + name string, args *AddonConfigArgs, opts ...pulumi.ResourceOption) (*AddonConfig, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AddonName == nil { + return nil, errors.New("invalid value for required argument 'AddonName'") + } + if args.ClusterId == nil { + return nil, errors.New("invalid value for required argument 'ClusterId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AddonConfig + err := ctx.RegisterResource("tencentcloud:Kubernetes/addonConfig:AddonConfig", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAddonConfig gets an existing AddonConfig 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 GetAddonConfig(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AddonConfigState, opts ...pulumi.ResourceOption) (*AddonConfig, error) { + var resource AddonConfig + err := ctx.ReadResource("tencentcloud:Kubernetes/addonConfig:AddonConfig", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AddonConfig resources. +type addonConfigState struct { + // Name of addon. + AddonName *string `pulumi:"addonName"` + // Version of addon. + AddonVersion *string `pulumi:"addonVersion"` + // ID of cluster. + ClusterId *string `pulumi:"clusterId"` + // Status of addon. + Phase *string `pulumi:"phase"` + // Params of addon, base64 encoded json format. + RawValues *string `pulumi:"rawValues"` + // Reason of addon failed. + Reason *string `pulumi:"reason"` +} + +type AddonConfigState struct { + // Name of addon. + AddonName pulumi.StringPtrInput + // Version of addon. + AddonVersion pulumi.StringPtrInput + // ID of cluster. + ClusterId pulumi.StringPtrInput + // Status of addon. + Phase pulumi.StringPtrInput + // Params of addon, base64 encoded json format. + RawValues pulumi.StringPtrInput + // Reason of addon failed. + Reason pulumi.StringPtrInput +} + +func (AddonConfigState) ElementType() reflect.Type { + return reflect.TypeOf((*addonConfigState)(nil)).Elem() +} + +type addonConfigArgs struct { + // Name of addon. + AddonName string `pulumi:"addonName"` + // Version of addon. + AddonVersion *string `pulumi:"addonVersion"` + // ID of cluster. + ClusterId string `pulumi:"clusterId"` + // Params of addon, base64 encoded json format. + RawValues *string `pulumi:"rawValues"` +} + +// The set of arguments for constructing a AddonConfig resource. +type AddonConfigArgs struct { + // Name of addon. + AddonName pulumi.StringInput + // Version of addon. + AddonVersion pulumi.StringPtrInput + // ID of cluster. + ClusterId pulumi.StringInput + // Params of addon, base64 encoded json format. + RawValues pulumi.StringPtrInput +} + +func (AddonConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*addonConfigArgs)(nil)).Elem() +} + +type AddonConfigInput interface { + pulumi.Input + + ToAddonConfigOutput() AddonConfigOutput + ToAddonConfigOutputWithContext(ctx context.Context) AddonConfigOutput +} + +func (*AddonConfig) ElementType() reflect.Type { + return reflect.TypeOf((**AddonConfig)(nil)).Elem() +} + +func (i *AddonConfig) ToAddonConfigOutput() AddonConfigOutput { + return i.ToAddonConfigOutputWithContext(context.Background()) +} + +func (i *AddonConfig) ToAddonConfigOutputWithContext(ctx context.Context) AddonConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AddonConfigOutput) +} + +// AddonConfigArrayInput is an input type that accepts AddonConfigArray and AddonConfigArrayOutput values. +// You can construct a concrete instance of `AddonConfigArrayInput` via: +// +// AddonConfigArray{ AddonConfigArgs{...} } +type AddonConfigArrayInput interface { + pulumi.Input + + ToAddonConfigArrayOutput() AddonConfigArrayOutput + ToAddonConfigArrayOutputWithContext(context.Context) AddonConfigArrayOutput +} + +type AddonConfigArray []AddonConfigInput + +func (AddonConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AddonConfig)(nil)).Elem() +} + +func (i AddonConfigArray) ToAddonConfigArrayOutput() AddonConfigArrayOutput { + return i.ToAddonConfigArrayOutputWithContext(context.Background()) +} + +func (i AddonConfigArray) ToAddonConfigArrayOutputWithContext(ctx context.Context) AddonConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AddonConfigArrayOutput) +} + +// AddonConfigMapInput is an input type that accepts AddonConfigMap and AddonConfigMapOutput values. +// You can construct a concrete instance of `AddonConfigMapInput` via: +// +// AddonConfigMap{ "key": AddonConfigArgs{...} } +type AddonConfigMapInput interface { + pulumi.Input + + ToAddonConfigMapOutput() AddonConfigMapOutput + ToAddonConfigMapOutputWithContext(context.Context) AddonConfigMapOutput +} + +type AddonConfigMap map[string]AddonConfigInput + +func (AddonConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AddonConfig)(nil)).Elem() +} + +func (i AddonConfigMap) ToAddonConfigMapOutput() AddonConfigMapOutput { + return i.ToAddonConfigMapOutputWithContext(context.Background()) +} + +func (i AddonConfigMap) ToAddonConfigMapOutputWithContext(ctx context.Context) AddonConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AddonConfigMapOutput) +} + +type AddonConfigOutput struct{ *pulumi.OutputState } + +func (AddonConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AddonConfig)(nil)).Elem() +} + +func (o AddonConfigOutput) ToAddonConfigOutput() AddonConfigOutput { + return o +} + +func (o AddonConfigOutput) ToAddonConfigOutputWithContext(ctx context.Context) AddonConfigOutput { + return o +} + +// Name of addon. +func (o AddonConfigOutput) AddonName() pulumi.StringOutput { + return o.ApplyT(func(v *AddonConfig) pulumi.StringOutput { return v.AddonName }).(pulumi.StringOutput) +} + +// Version of addon. +func (o AddonConfigOutput) AddonVersion() pulumi.StringOutput { + return o.ApplyT(func(v *AddonConfig) pulumi.StringOutput { return v.AddonVersion }).(pulumi.StringOutput) +} + +// ID of cluster. +func (o AddonConfigOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *AddonConfig) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// Status of addon. +func (o AddonConfigOutput) Phase() pulumi.StringOutput { + return o.ApplyT(func(v *AddonConfig) pulumi.StringOutput { return v.Phase }).(pulumi.StringOutput) +} + +// Params of addon, base64 encoded json format. +func (o AddonConfigOutput) RawValues() pulumi.StringOutput { + return o.ApplyT(func(v *AddonConfig) pulumi.StringOutput { return v.RawValues }).(pulumi.StringOutput) +} + +// Reason of addon failed. +func (o AddonConfigOutput) Reason() pulumi.StringOutput { + return o.ApplyT(func(v *AddonConfig) pulumi.StringOutput { return v.Reason }).(pulumi.StringOutput) +} + +type AddonConfigArrayOutput struct{ *pulumi.OutputState } + +func (AddonConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AddonConfig)(nil)).Elem() +} + +func (o AddonConfigArrayOutput) ToAddonConfigArrayOutput() AddonConfigArrayOutput { + return o +} + +func (o AddonConfigArrayOutput) ToAddonConfigArrayOutputWithContext(ctx context.Context) AddonConfigArrayOutput { + return o +} + +func (o AddonConfigArrayOutput) Index(i pulumi.IntInput) AddonConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AddonConfig { + return vs[0].([]*AddonConfig)[vs[1].(int)] + }).(AddonConfigOutput) +} + +type AddonConfigMapOutput struct{ *pulumi.OutputState } + +func (AddonConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AddonConfig)(nil)).Elem() +} + +func (o AddonConfigMapOutput) ToAddonConfigMapOutput() AddonConfigMapOutput { + return o +} + +func (o AddonConfigMapOutput) ToAddonConfigMapOutputWithContext(ctx context.Context) AddonConfigMapOutput { + return o +} + +func (o AddonConfigMapOutput) MapIndex(k pulumi.StringInput) AddonConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AddonConfig { + return vs[0].(map[string]*AddonConfig)[vs[1].(string)] + }).(AddonConfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AddonConfigInput)(nil)).Elem(), &AddonConfig{}) + pulumi.RegisterInputType(reflect.TypeOf((*AddonConfigArrayInput)(nil)).Elem(), AddonConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AddonConfigMapInput)(nil)).Elem(), AddonConfigMap{}) + pulumi.RegisterOutputType(AddonConfigOutput{}) + pulumi.RegisterOutputType(AddonConfigArrayOutput{}) + pulumi.RegisterOutputType(AddonConfigMapOutput{}) +} diff --git a/sdk/go/tencentcloud/kubernetes/cluster.go b/sdk/go/tencentcloud/kubernetes/cluster.go index 9cd72da58..f82bb581b 100644 --- a/sdk/go/tencentcloud/kubernetes/cluster.go +++ b/sdk/go/tencentcloud/kubernetes/cluster.go @@ -235,6 +235,59 @@ import ( // ``` // // +// ### Create a CDC scenario cluster +// +// +// ```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.NewCluster(ctx, "cdcCluster", &Kubernetes.ClusterArgs{ +// CdcId: pulumi.String("cluster-xxxxx"), +// ClusterCidr: pulumi.String("192.168.0.0/16"), +// ClusterDeployType: pulumi.String("INDEPENDENT_CLUSTER"), +// ClusterDesc: pulumi.String("test cluster desc"), +// ClusterLevel: pulumi.String("L20"), +// ClusterMaxPodNum: pulumi.Int(64), +// ClusterMaxServiceNum: pulumi.Int(1024), +// ClusterName: pulumi.String("test-cdc"), +// ClusterOs: pulumi.String("tlinux3.1x86_64"), +// ClusterVersion: pulumi.String("1.30.0"), +// ContainerRuntime: pulumi.String("containerd"), +// ExistInstances: kubernetes.ClusterExistInstanceArray{ +// &kubernetes.ClusterExistInstanceArgs{ +// InstancesPara: &kubernetes.ClusterExistInstanceInstancesParaArgs{ +// InstanceIds: pulumi.StringArray{ +// pulumi.String("ins-eeijdk16"), +// pulumi.String("ins-84ku5rba"), +// pulumi.String("ins-8oa3im2s"), +// }, +// }, +// NodeRole: pulumi.String("MASTER_ETCD"), +// }, +// }, +// PreStartUserScript: pulumi.String("aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw="), +// RuntimeVersion: pulumi.String("1.6.9"), +// VpcId: pulumi.String("vpc-xxxxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // tke cluster can be imported, e.g. @@ -253,6 +306,8 @@ type Cluster struct { AutoUpgradeClusterLevel pulumi.BoolPtrOutput `pulumi:"autoUpgradeClusterLevel"` // The number of basic pods. valid when enable_customized_pod_cidr=true. BasePodNum pulumi.IntPtrOutput `pulumi:"basePodNum"` + // CDC ID. + CdcId pulumi.StringPtrOutput `pulumi:"cdcId"` // The certificate used for access. CertificationAuthority pulumi.StringOutput `pulumi:"certificationAuthority"` // Claim expired seconds to recycle ENI. This field can only set when field `networkType` is 'VPC-CNI'. `claimExpiredSeconds` must greater or equal than 300 and less than 15768000. @@ -329,6 +384,8 @@ type Cluster struct { GlobeDesiredPodNum pulumi.IntPtrOutput `pulumi:"globeDesiredPodNum"` // Indicates whether to ignore the cluster cidr conflict error. Default is false. IgnoreClusterCidrConflict pulumi.BoolPtrOutput `pulumi:"ignoreClusterCidrConflict"` + // Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + IgnoreServiceCidrConflict pulumi.BoolOutput `pulumi:"ignoreServiceCidrConflict"` // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode pulumi.BoolPtrOutput `pulumi:"isNonStaticIpMode"` // Kubernetes config. @@ -359,6 +416,8 @@ type Cluster struct { Password pulumi.StringOutput `pulumi:"password"` // The Intranet address used for access. PgwEndpoint pulumi.StringOutput `pulumi:"pgwEndpoint"` + // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript pulumi.StringPtrOutput `pulumi:"preStartUserScript"` // Project ID, default value is 0. ProjectId pulumi.IntPtrOutput `pulumi:"projectId"` // Container Runtime version. @@ -426,6 +485,8 @@ type clusterState struct { AutoUpgradeClusterLevel *bool `pulumi:"autoUpgradeClusterLevel"` // The number of basic pods. valid when enable_customized_pod_cidr=true. BasePodNum *int `pulumi:"basePodNum"` + // CDC ID. + CdcId *string `pulumi:"cdcId"` // The certificate used for access. CertificationAuthority *string `pulumi:"certificationAuthority"` // Claim expired seconds to recycle ENI. This field can only set when field `networkType` is 'VPC-CNI'. `claimExpiredSeconds` must greater or equal than 300 and less than 15768000. @@ -502,6 +563,8 @@ type clusterState struct { GlobeDesiredPodNum *int `pulumi:"globeDesiredPodNum"` // Indicates whether to ignore the cluster cidr conflict error. Default is false. IgnoreClusterCidrConflict *bool `pulumi:"ignoreClusterCidrConflict"` + // Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + IgnoreServiceCidrConflict *bool `pulumi:"ignoreServiceCidrConflict"` // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode *bool `pulumi:"isNonStaticIpMode"` // Kubernetes config. @@ -532,6 +595,8 @@ type clusterState struct { Password *string `pulumi:"password"` // The Intranet address used for access. PgwEndpoint *string `pulumi:"pgwEndpoint"` + // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript *string `pulumi:"preStartUserScript"` // Project ID, default value is 0. ProjectId *int `pulumi:"projectId"` // Container Runtime version. @@ -567,6 +632,8 @@ type ClusterState struct { AutoUpgradeClusterLevel pulumi.BoolPtrInput // The number of basic pods. valid when enable_customized_pod_cidr=true. BasePodNum pulumi.IntPtrInput + // CDC ID. + CdcId pulumi.StringPtrInput // The certificate used for access. CertificationAuthority pulumi.StringPtrInput // Claim expired seconds to recycle ENI. This field can only set when field `networkType` is 'VPC-CNI'. `claimExpiredSeconds` must greater or equal than 300 and less than 15768000. @@ -643,6 +710,8 @@ type ClusterState struct { GlobeDesiredPodNum pulumi.IntPtrInput // Indicates whether to ignore the cluster cidr conflict error. Default is false. IgnoreClusterCidrConflict pulumi.BoolPtrInput + // Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + IgnoreServiceCidrConflict pulumi.BoolPtrInput // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode pulumi.BoolPtrInput // Kubernetes config. @@ -673,6 +742,8 @@ type ClusterState struct { Password pulumi.StringPtrInput // The Intranet address used for access. PgwEndpoint pulumi.StringPtrInput + // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript pulumi.StringPtrInput // Project ID, default value is 0. ProjectId pulumi.IntPtrInput // Container Runtime version. @@ -712,6 +783,8 @@ type clusterArgs struct { AutoUpgradeClusterLevel *bool `pulumi:"autoUpgradeClusterLevel"` // The number of basic pods. valid when enable_customized_pod_cidr=true. BasePodNum *int `pulumi:"basePodNum"` + // CDC ID. + CdcId *string `pulumi:"cdcId"` // Claim expired seconds to recycle ENI. This field can only set when field `networkType` is 'VPC-CNI'. `claimExpiredSeconds` must greater or equal than 300 and less than 15768000. ClaimExpiredSeconds *int `pulumi:"claimExpiredSeconds"` // Specify Cluster Audit config. NOTE: Please make sure your TKE CamRole have permission to access CLS service. @@ -776,6 +849,8 @@ type clusterArgs struct { GlobeDesiredPodNum *int `pulumi:"globeDesiredPodNum"` // Indicates whether to ignore the cluster cidr conflict error. Default is false. IgnoreClusterCidrConflict *bool `pulumi:"ignoreClusterCidrConflict"` + // Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + IgnoreServiceCidrConflict *bool `pulumi:"ignoreServiceCidrConflict"` // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode *bool `pulumi:"isNonStaticIpMode"` // Cluster kube-proxy mode, the available values include: 'kube-proxy-bpf'. Default is not set.When set to kube-proxy-bpf, cluster version greater than 1.14 and with Tencent Linux 2.4 is required. @@ -798,6 +873,8 @@ type clusterArgs struct { NodeNameType *string `pulumi:"nodeNameType"` // Global config effective for all node pools. NodePoolGlobalConfigs []ClusterNodePoolGlobalConfig `pulumi:"nodePoolGlobalConfigs"` + // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript *string `pulumi:"preStartUserScript"` // Project ID, default value is 0. ProjectId *int `pulumi:"projectId"` // Container Runtime version. @@ -828,6 +905,8 @@ type ClusterArgs struct { AutoUpgradeClusterLevel pulumi.BoolPtrInput // The number of basic pods. valid when enable_customized_pod_cidr=true. BasePodNum pulumi.IntPtrInput + // CDC ID. + CdcId pulumi.StringPtrInput // Claim expired seconds to recycle ENI. This field can only set when field `networkType` is 'VPC-CNI'. `claimExpiredSeconds` must greater or equal than 300 and less than 15768000. ClaimExpiredSeconds pulumi.IntPtrInput // Specify Cluster Audit config. NOTE: Please make sure your TKE CamRole have permission to access CLS service. @@ -892,6 +971,8 @@ type ClusterArgs struct { GlobeDesiredPodNum pulumi.IntPtrInput // Indicates whether to ignore the cluster cidr conflict error. Default is false. IgnoreClusterCidrConflict pulumi.BoolPtrInput + // Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + IgnoreServiceCidrConflict pulumi.BoolPtrInput // Indicates whether non-static ip mode is enabled. Default is false. IsNonStaticIpMode pulumi.BoolPtrInput // Cluster kube-proxy mode, the available values include: 'kube-proxy-bpf'. Default is not set.When set to kube-proxy-bpf, cluster version greater than 1.14 and with Tencent Linux 2.4 is required. @@ -914,6 +995,8 @@ type ClusterArgs struct { NodeNameType pulumi.StringPtrInput // Global config effective for all node pools. NodePoolGlobalConfigs ClusterNodePoolGlobalConfigArrayInput + // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript pulumi.StringPtrInput // Project ID, default value is 0. ProjectId pulumi.IntPtrInput // Container Runtime version. @@ -1041,6 +1124,11 @@ func (o ClusterOutput) BasePodNum() pulumi.IntPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.BasePodNum }).(pulumi.IntPtrOutput) } +// CDC ID. +func (o ClusterOutput) CdcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.CdcId }).(pulumi.StringPtrOutput) +} + // The certificate used for access. func (o ClusterOutput) CertificationAuthority() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.CertificationAuthority }).(pulumi.StringOutput) @@ -1228,6 +1316,11 @@ func (o ClusterOutput) IgnoreClusterCidrConflict() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.IgnoreClusterCidrConflict }).(pulumi.BoolPtrOutput) } +// Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. +func (o ClusterOutput) IgnoreServiceCidrConflict() pulumi.BoolOutput { + return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.IgnoreServiceCidrConflict }).(pulumi.BoolOutput) +} + // Indicates whether non-static ip mode is enabled. Default is false. func (o ClusterOutput) IsNonStaticIpMode() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.IsNonStaticIpMode }).(pulumi.BoolPtrOutput) @@ -1300,6 +1393,11 @@ func (o ClusterOutput) PgwEndpoint() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.PgwEndpoint }).(pulumi.StringOutput) } +// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +func (o ClusterOutput) PreStartUserScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.PreStartUserScript }).(pulumi.StringPtrOutput) +} + // Project ID, default value is 0. func (o ClusterOutput) ProjectId() pulumi.IntPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.ProjectId }).(pulumi.IntPtrOutput) diff --git a/sdk/go/tencentcloud/kubernetes/clusterAttachment.go b/sdk/go/tencentcloud/kubernetes/clusterAttachment.go index c3b3aadbc..cf5a2aa24 100644 --- a/sdk/go/tencentcloud/kubernetes/clusterAttachment.go +++ b/sdk/go/tencentcloud/kubernetes/clusterAttachment.go @@ -14,6 +14,8 @@ import ( // Provide a resource to attach an existing cvm to kubernetes cluster. // +// > **NOTE:** Use `unschedulable` to set whether the join node participates in the schedule. The `isSchedule` of 'worker_config' and 'worker_config_overrides' was deprecated. +// // ## Example Usage // // @@ -151,6 +153,8 @@ type ClusterAttachment struct { ClusterId pulumi.StringOutput `pulumi:"clusterId"` // 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.StringPtrOutput `pulumi:"hostname"` + // ID of Node image. + ImageId pulumi.StringOutput `pulumi:"imageId"` // ID of the CVM instance, this cvm will reinstall the system. InstanceId pulumi.StringOutput `pulumi:"instanceId"` // The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. @@ -163,7 +167,7 @@ type ClusterAttachment struct { SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` // State of the node. State pulumi.StringOutput `pulumi:"state"` - // Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + // Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. Unschedulable pulumi.IntPtrOutput `pulumi:"unschedulable"` // Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. WorkerConfig ClusterAttachmentWorkerConfigPtrOutput `pulumi:"workerConfig"` @@ -218,6 +222,8 @@ type clusterAttachmentState struct { ClusterId *string `pulumi:"clusterId"` // 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 Node image. + ImageId *string `pulumi:"imageId"` // ID of the CVM instance, this cvm will reinstall the system. InstanceId *string `pulumi:"instanceId"` // The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. @@ -230,7 +236,7 @@ type clusterAttachmentState struct { SecurityGroups []string `pulumi:"securityGroups"` // State of the node. State *string `pulumi:"state"` - // Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + // Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. Unschedulable *int `pulumi:"unschedulable"` // Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. WorkerConfig *ClusterAttachmentWorkerConfig `pulumi:"workerConfig"` @@ -243,6 +249,8 @@ type ClusterAttachmentState struct { ClusterId pulumi.StringPtrInput // 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 + // ID of Node image. + ImageId pulumi.StringPtrInput // ID of the CVM instance, this cvm will reinstall the system. InstanceId pulumi.StringPtrInput // The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. @@ -255,7 +263,7 @@ type ClusterAttachmentState struct { SecurityGroups pulumi.StringArrayInput // State of the node. State pulumi.StringPtrInput - // Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + // Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. Unschedulable pulumi.IntPtrInput // Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. WorkerConfig ClusterAttachmentWorkerConfigPtrInput @@ -272,6 +280,8 @@ type clusterAttachmentArgs struct { ClusterId string `pulumi:"clusterId"` // 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 Node image. + ImageId *string `pulumi:"imageId"` // ID of the CVM instance, this cvm will reinstall the system. InstanceId string `pulumi:"instanceId"` // The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. @@ -280,7 +290,7 @@ type clusterAttachmentArgs struct { Labels map[string]interface{} `pulumi:"labels"` // Password to access, should be set if `keyIds` not set. Password *string `pulumi:"password"` - // Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + // Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. Unschedulable *int `pulumi:"unschedulable"` // Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. WorkerConfig *ClusterAttachmentWorkerConfig `pulumi:"workerConfig"` @@ -294,6 +304,8 @@ type ClusterAttachmentArgs struct { ClusterId pulumi.StringInput // 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 + // ID of Node image. + ImageId pulumi.StringPtrInput // ID of the CVM instance, this cvm will reinstall the system. InstanceId pulumi.StringInput // The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. @@ -302,7 +314,7 @@ type ClusterAttachmentArgs struct { Labels pulumi.MapInput // Password to access, should be set if `keyIds` not set. Password pulumi.StringPtrInput - // Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + // Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. Unschedulable pulumi.IntPtrInput // Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. WorkerConfig ClusterAttachmentWorkerConfigPtrInput @@ -407,6 +419,11 @@ func (o ClusterAttachmentOutput) Hostname() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterAttachment) pulumi.StringPtrOutput { return v.Hostname }).(pulumi.StringPtrOutput) } +// ID of Node image. +func (o ClusterAttachmentOutput) ImageId() pulumi.StringOutput { + return o.ApplyT(func(v *ClusterAttachment) pulumi.StringOutput { return v.ImageId }).(pulumi.StringOutput) +} + // ID of the CVM instance, this cvm will reinstall the system. func (o ClusterAttachmentOutput) InstanceId() pulumi.StringOutput { return o.ApplyT(func(v *ClusterAttachment) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) @@ -437,7 +454,7 @@ func (o ClusterAttachmentOutput) State() pulumi.StringOutput { return o.ApplyT(func(v *ClusterAttachment) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) } -// Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. +// Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. func (o ClusterAttachmentOutput) Unschedulable() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterAttachment) pulumi.IntPtrOutput { return v.Unschedulable }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/tencentcloud/kubernetes/healthCheckPolicy.go b/sdk/go/tencentcloud/kubernetes/healthCheckPolicy.go new file mode 100644 index 000000000..0e692afa1 --- /dev/null +++ b/sdk/go/tencentcloud/kubernetes/healthCheckPolicy.go @@ -0,0 +1,300 @@ +// 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 kubernetesHealthCheckPolicy +// +// ## 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.NewHealthCheckPolicy(ctx, "kubernetesHealthCheckPolicy", &Kubernetes.HealthCheckPolicyArgs{ +// ClusterId: pulumi.String("cls-xxxxx"), +// Rules: kubernetes.HealthCheckPolicyRuleArray{ +// &kubernetes.HealthCheckPolicyRuleArgs{ +// AutoRepairEnabled: pulumi.Bool(true), +// Enabled: pulumi.Bool(true), +// Name: pulumi.String("OOMKilling"), +// }, +// &kubernetes.HealthCheckPolicyRuleArgs{ +// AutoRepairEnabled: pulumi.Bool(true), +// Enabled: pulumi.Bool(true), +// Name: pulumi.String("KubeletUnhealthy"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// tke kubernetes_health_check_policy can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy kubernetes_health_check_policy cls-xxxxx#healthcheckpolicyname +// ``` +type HealthCheckPolicy struct { + pulumi.CustomResourceState + + // ID of the cluster. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // Health Check Policy Name. + Name pulumi.StringOutput `pulumi:"name"` + // Health check policy rule list. + Rules HealthCheckPolicyRuleArrayOutput `pulumi:"rules"` +} + +// NewHealthCheckPolicy registers a new resource with the given unique name, arguments, and options. +func NewHealthCheckPolicy(ctx *pulumi.Context, + name string, args *HealthCheckPolicyArgs, opts ...pulumi.ResourceOption) (*HealthCheckPolicy, 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.Rules == nil { + return nil, errors.New("invalid value for required argument 'Rules'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource HealthCheckPolicy + err := ctx.RegisterResource("tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetHealthCheckPolicy gets an existing HealthCheckPolicy 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 GetHealthCheckPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *HealthCheckPolicyState, opts ...pulumi.ResourceOption) (*HealthCheckPolicy, error) { + var resource HealthCheckPolicy + err := ctx.ReadResource("tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering HealthCheckPolicy resources. +type healthCheckPolicyState struct { + // ID of the cluster. + ClusterId *string `pulumi:"clusterId"` + // Health Check Policy Name. + Name *string `pulumi:"name"` + // Health check policy rule list. + Rules []HealthCheckPolicyRule `pulumi:"rules"` +} + +type HealthCheckPolicyState struct { + // ID of the cluster. + ClusterId pulumi.StringPtrInput + // Health Check Policy Name. + Name pulumi.StringPtrInput + // Health check policy rule list. + Rules HealthCheckPolicyRuleArrayInput +} + +func (HealthCheckPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*healthCheckPolicyState)(nil)).Elem() +} + +type healthCheckPolicyArgs struct { + // ID of the cluster. + ClusterId string `pulumi:"clusterId"` + // Health Check Policy Name. + Name *string `pulumi:"name"` + // Health check policy rule list. + Rules []HealthCheckPolicyRule `pulumi:"rules"` +} + +// The set of arguments for constructing a HealthCheckPolicy resource. +type HealthCheckPolicyArgs struct { + // ID of the cluster. + ClusterId pulumi.StringInput + // Health Check Policy Name. + Name pulumi.StringPtrInput + // Health check policy rule list. + Rules HealthCheckPolicyRuleArrayInput +} + +func (HealthCheckPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*healthCheckPolicyArgs)(nil)).Elem() +} + +type HealthCheckPolicyInput interface { + pulumi.Input + + ToHealthCheckPolicyOutput() HealthCheckPolicyOutput + ToHealthCheckPolicyOutputWithContext(ctx context.Context) HealthCheckPolicyOutput +} + +func (*HealthCheckPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**HealthCheckPolicy)(nil)).Elem() +} + +func (i *HealthCheckPolicy) ToHealthCheckPolicyOutput() HealthCheckPolicyOutput { + return i.ToHealthCheckPolicyOutputWithContext(context.Background()) +} + +func (i *HealthCheckPolicy) ToHealthCheckPolicyOutputWithContext(ctx context.Context) HealthCheckPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(HealthCheckPolicyOutput) +} + +// HealthCheckPolicyArrayInput is an input type that accepts HealthCheckPolicyArray and HealthCheckPolicyArrayOutput values. +// You can construct a concrete instance of `HealthCheckPolicyArrayInput` via: +// +// HealthCheckPolicyArray{ HealthCheckPolicyArgs{...} } +type HealthCheckPolicyArrayInput interface { + pulumi.Input + + ToHealthCheckPolicyArrayOutput() HealthCheckPolicyArrayOutput + ToHealthCheckPolicyArrayOutputWithContext(context.Context) HealthCheckPolicyArrayOutput +} + +type HealthCheckPolicyArray []HealthCheckPolicyInput + +func (HealthCheckPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HealthCheckPolicy)(nil)).Elem() +} + +func (i HealthCheckPolicyArray) ToHealthCheckPolicyArrayOutput() HealthCheckPolicyArrayOutput { + return i.ToHealthCheckPolicyArrayOutputWithContext(context.Background()) +} + +func (i HealthCheckPolicyArray) ToHealthCheckPolicyArrayOutputWithContext(ctx context.Context) HealthCheckPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HealthCheckPolicyArrayOutput) +} + +// HealthCheckPolicyMapInput is an input type that accepts HealthCheckPolicyMap and HealthCheckPolicyMapOutput values. +// You can construct a concrete instance of `HealthCheckPolicyMapInput` via: +// +// HealthCheckPolicyMap{ "key": HealthCheckPolicyArgs{...} } +type HealthCheckPolicyMapInput interface { + pulumi.Input + + ToHealthCheckPolicyMapOutput() HealthCheckPolicyMapOutput + ToHealthCheckPolicyMapOutputWithContext(context.Context) HealthCheckPolicyMapOutput +} + +type HealthCheckPolicyMap map[string]HealthCheckPolicyInput + +func (HealthCheckPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HealthCheckPolicy)(nil)).Elem() +} + +func (i HealthCheckPolicyMap) ToHealthCheckPolicyMapOutput() HealthCheckPolicyMapOutput { + return i.ToHealthCheckPolicyMapOutputWithContext(context.Background()) +} + +func (i HealthCheckPolicyMap) ToHealthCheckPolicyMapOutputWithContext(ctx context.Context) HealthCheckPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(HealthCheckPolicyMapOutput) +} + +type HealthCheckPolicyOutput struct{ *pulumi.OutputState } + +func (HealthCheckPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HealthCheckPolicy)(nil)).Elem() +} + +func (o HealthCheckPolicyOutput) ToHealthCheckPolicyOutput() HealthCheckPolicyOutput { + return o +} + +func (o HealthCheckPolicyOutput) ToHealthCheckPolicyOutputWithContext(ctx context.Context) HealthCheckPolicyOutput { + return o +} + +// ID of the cluster. +func (o HealthCheckPolicyOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *HealthCheckPolicy) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// Health Check Policy Name. +func (o HealthCheckPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *HealthCheckPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Health check policy rule list. +func (o HealthCheckPolicyOutput) Rules() HealthCheckPolicyRuleArrayOutput { + return o.ApplyT(func(v *HealthCheckPolicy) HealthCheckPolicyRuleArrayOutput { return v.Rules }).(HealthCheckPolicyRuleArrayOutput) +} + +type HealthCheckPolicyArrayOutput struct{ *pulumi.OutputState } + +func (HealthCheckPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HealthCheckPolicy)(nil)).Elem() +} + +func (o HealthCheckPolicyArrayOutput) ToHealthCheckPolicyArrayOutput() HealthCheckPolicyArrayOutput { + return o +} + +func (o HealthCheckPolicyArrayOutput) ToHealthCheckPolicyArrayOutputWithContext(ctx context.Context) HealthCheckPolicyArrayOutput { + return o +} + +func (o HealthCheckPolicyArrayOutput) Index(i pulumi.IntInput) HealthCheckPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *HealthCheckPolicy { + return vs[0].([]*HealthCheckPolicy)[vs[1].(int)] + }).(HealthCheckPolicyOutput) +} + +type HealthCheckPolicyMapOutput struct{ *pulumi.OutputState } + +func (HealthCheckPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HealthCheckPolicy)(nil)).Elem() +} + +func (o HealthCheckPolicyMapOutput) ToHealthCheckPolicyMapOutput() HealthCheckPolicyMapOutput { + return o +} + +func (o HealthCheckPolicyMapOutput) ToHealthCheckPolicyMapOutputWithContext(ctx context.Context) HealthCheckPolicyMapOutput { + return o +} + +func (o HealthCheckPolicyMapOutput) MapIndex(k pulumi.StringInput) HealthCheckPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *HealthCheckPolicy { + return vs[0].(map[string]*HealthCheckPolicy)[vs[1].(string)] + }).(HealthCheckPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckPolicyInput)(nil)).Elem(), &HealthCheckPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckPolicyArrayInput)(nil)).Elem(), HealthCheckPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckPolicyMapInput)(nil)).Elem(), HealthCheckPolicyMap{}) + pulumi.RegisterOutputType(HealthCheckPolicyOutput{}) + pulumi.RegisterOutputType(HealthCheckPolicyArrayOutput{}) + pulumi.RegisterOutputType(HealthCheckPolicyMapOutput{}) +} diff --git a/sdk/go/tencentcloud/kubernetes/init.go b/sdk/go/tencentcloud/kubernetes/init.go index 227d8f5df..617093206 100644 --- a/sdk/go/tencentcloud/kubernetes/init.go +++ b/sdk/go/tencentcloud/kubernetes/init.go @@ -25,6 +25,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Addon{} case "tencentcloud:Kubernetes/addonAttachment:AddonAttachment": r = &AddonAttachment{} + case "tencentcloud:Kubernetes/addonConfig:AddonConfig": + r = &AddonConfig{} case "tencentcloud:Kubernetes/authAttachment:AuthAttachment": r = &AuthAttachment{} case "tencentcloud:Kubernetes/backupStorageLocation:BackupStorageLocation": @@ -37,6 +39,10 @@ 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/healthCheckPolicy:HealthCheckPolicy": + r = &HealthCheckPolicy{} + case "tencentcloud:Kubernetes/logConfig:LogConfig": + r = &LogConfig{} case "tencentcloud:Kubernetes/nativeNodePool:NativeNodePool": r = &NativeNodePool{} case "tencentcloud:Kubernetes/nodePool:NodePool": @@ -68,6 +74,11 @@ func init() { "Kubernetes/addonAttachment", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Kubernetes/addonConfig", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Kubernetes/authAttachment", @@ -98,6 +109,16 @@ func init() { "Kubernetes/encryptionProtection", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Kubernetes/healthCheckPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Kubernetes/logConfig", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Kubernetes/nativeNodePool", diff --git a/sdk/go/tencentcloud/kubernetes/logConfig.go b/sdk/go/tencentcloud/kubernetes/logConfig.go new file mode 100644 index 000000000..7659a26b6 --- /dev/null +++ b/sdk/go/tencentcloud/kubernetes/logConfig.go @@ -0,0 +1,549 @@ +// 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 kubernetesLogConfig +// +// ## Example Usage +// +// ### Create a cls log config +// +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "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/Availability" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// vpcOne, err := Vpc.GetSubnets(ctx, &vpc.GetSubnetsArgs{ +// IsDefault: pulumi.BoolRef(true), +// AvailabilityZone: pulumi.StringRef("ap-guangzhou-3"), +// }, nil) +// if err != nil { +// return err +// } +// firstVpcId := vpcOne.InstanceLists[0].VpcId +// _ := vpcOne.InstanceLists[0].SubnetId +// gz, err := Availability.GetZonesByProduct(ctx, &availability.GetZonesByProductArgs{ +// Name: pulumi.StringRef("ap-guangzhou-3"), +// Product: "ckafka", +// }, nil) +// if err != nil { +// return err +// } +// _ := gz.Zones[0].Id +// cfg := config.New(ctx, "") +// exampleClusterCidr := "10.31.0.0/16" +// if param := cfg.Get("exampleClusterCidr"); param != "" { +// exampleClusterCidr = param +// } +// example, err := Kubernetes.NewCluster(ctx, "example", &Kubernetes.ClusterArgs{ +// VpcId: pulumi.String(firstVpcId), +// ClusterCidr: pulumi.String(exampleClusterCidr), +// ClusterMaxPodNum: pulumi.Int(32), +// ClusterName: pulumi.String("tf_example_cluster"), +// ClusterDesc: pulumi.String("example for tke cluster"), +// ClusterMaxServiceNum: pulumi.Int(32), +// ClusterInternet: pulumi.Bool(false), +// ClusterVersion: pulumi.String("1.22.5"), +// ClusterOs: pulumi.String("tlinux2.2(tkernel3)x86_64"), +// ClusterDeployType: pulumi.String("MANAGED_CLUSTER"), +// LogAgent: &kubernetes.ClusterLogAgentArgs{ +// Enabled: pulumi.Bool(true), +// }, +// }) +// if err != nil { +// return err +// } +// logset, err := Cls.NewLogset(ctx, "logset", &Cls.LogsetArgs{ +// LogsetName: pulumi.String("tf-test-example"), +// Tags: pulumi.Map{ +// "createdBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "apiVersion": "cls.cloud.tencent.com/v1", +// "kind": "LogConfig", +// "metadata": map[string]interface{}{ +// "name": "tf-test-cls", +// }, +// "spec": map[string]interface{}{ +// "clsDetail": map[string]interface{}{ +// "extractRule": map[string]interface{}{ +// "backtracking": "0", +// "isGBK": "false", +// "jsonStandard": "false", +// "unMatchUpload": "false", +// }, +// "indexs": []map[string]interface{}{ +// map[string]interface{}{ +// "indexName": "namespace", +// }, +// map[string]interface{}{ +// "indexName": "pod_name", +// }, +// map[string]interface{}{ +// "indexName": "container_name", +// }, +// }, +// "logFormat": "default", +// "logType": "minimalist_log", +// "maxSplitPartitions": 0, +// "region": "ap-guangzhou", +// "storageType": "", +// }, +// "inputDetail": map[string]interface{}{ +// "containerStdout": map[string]interface{}{ +// "metadataContainer": []string{ +// "namespace", +// "pod_name", +// "pod_ip", +// "pod_uid", +// "container_id", +// "container_name", +// "image_name", +// "cluster_id", +// }, +// "nsLabelSelector": "", +// "workloads": []map[string]interface{}{ +// map[string]interface{}{ +// "kind": "deployment", +// "name": "testlog1", +// "namespace": "default", +// }, +// }, +// }, +// "type": "container_stdout", +// }, +// }, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = Kubernetes.NewLogConfig(ctx, "kubernetesLogConfigCls", &Kubernetes.LogConfigArgs{ +// LogConfigName: pulumi.String("tf-test-cls"), +// ClusterId: example.ID(), +// LogsetId: logset.ID(), +// LogConfig: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a ckafka log config +// +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Ckafka" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleInstance, err := Ckafka.NewInstance(ctx, "exampleInstance", &Ckafka.InstanceArgs{ +// InstanceName: pulumi.String("ckafka-instance-postpaid"), +// ZoneId: pulumi.Any(local.Zone_id), +// VpcId: pulumi.Any(local.First_vpc_id), +// SubnetId: pulumi.Any(local.First_subnet_id), +// MsgRetentionTime: pulumi.Int(1300), +// KafkaVersion: pulumi.String("1.1.1"), +// DiskSize: pulumi.Int(500), +// BandWidth: pulumi.Int(20), +// DiskType: pulumi.String("CLOUD_BASIC"), +// Partition: pulumi.Int(400), +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// Config: &ckafka.InstanceConfigArgs{ +// AutoCreateTopicEnable: pulumi.Bool(true), +// DefaultNumPartitions: pulumi.Int(3), +// DefaultReplicationFactor: pulumi.Int(3), +// }, +// DynamicRetentionConfig: &ckafka.InstanceDynamicRetentionConfigArgs{ +// Enable: pulumi.Int(1), +// }, +// }) +// if err != nil { +// return err +// } +// exampleTopic, err := Ckafka.NewTopic(ctx, "exampleTopic", &Ckafka.TopicArgs{ +// InstanceId: exampleInstance.ID(), +// TopicName: pulumi.String("tmp"), +// Note: pulumi.String("topic note"), +// ReplicaNum: pulumi.Int(2), +// PartitionNum: pulumi.Int(1), +// CleanUpPolicy: pulumi.String("delete"), +// SyncReplicaMinNum: pulumi.Int(1), +// UncleanLeaderElectionEnable: pulumi.Bool(false), +// Retention: pulumi.Int(60000), +// }) +// if err != nil { +// return err +// } +// ckafkaTopic := exampleTopic.TopicName +// _, err = Kubernetes.NewLogConfig(ctx, "kubernetesLogConfigCkafka", &Kubernetes.LogConfigArgs{ +// LogConfigName: pulumi.String("tf-test-ckafka"), +// ClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Example.Id), +// LogsetId: pulumi.Any(tencentcloud_cls_logset.Logset.Id), +// LogConfig: ckafkaTopic.ApplyT(func(ckafkaTopic string) (pulumi.String, error) { +// var _zero pulumi.String +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "apiVersion": "cls.cloud.tencent.com/v1", +// "kind": "LogConfig", +// "metadata": map[string]interface{}{ +// "name": "tf-test-ckafka", +// }, +// "spec": map[string]interface{}{ +// "inputDetail": map[string]interface{}{ +// "containerStdout": map[string]interface{}{ +// "allContainers": true, +// "namespace": "default", +// "nsLabelSelector": "", +// }, +// "type": "container_stdout", +// }, +// "kafkaDetail": map[string]interface{}{ +// "brokers": "172.16.0.30:9092", +// "extractRule": nil, +// "instanceId": "", +// "kafkaType": "SelfBuildKafka", +// "logType": "minimalist_log", +// "messageKey": map[string]interface{}{ +// "value": "", +// "valueFrom": map[string]interface{}{ +// "fieldRef": map[string]interface{}{ +// "fieldPath": "", +// }, +// }, +// }, +// "metadata": nil, +// "timestampFormat": "double", +// "timestampKey": "", +// "topic": ckafkaTopic, +// }, +// }, +// }) +// if err != nil { +// return _zero, err +// } +// json0 := string(tmpJSON0) +// return pulumi.String(json0), nil +// }).(pulumi.StringOutput), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type LogConfig struct { + pulumi.CustomResourceState + + // Cluster ID. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // The current cluster type supports tke and eks, default is tke. + ClusterType pulumi.StringPtrOutput `pulumi:"clusterType"` + // JSON expression of log collection configuration. + LogConfig pulumi.StringOutput `pulumi:"logConfig"` + // Log config name. + LogConfigName pulumi.StringOutput `pulumi:"logConfigName"` + // CLS log set ID. + LogsetId pulumi.StringPtrOutput `pulumi:"logsetId"` +} + +// NewLogConfig registers a new resource with the given unique name, arguments, and options. +func NewLogConfig(ctx *pulumi.Context, + name string, args *LogConfigArgs, opts ...pulumi.ResourceOption) (*LogConfig, 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.LogConfig == nil { + return nil, errors.New("invalid value for required argument 'LogConfig'") + } + if args.LogConfigName == nil { + return nil, errors.New("invalid value for required argument 'LogConfigName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource LogConfig + err := ctx.RegisterResource("tencentcloud:Kubernetes/logConfig:LogConfig", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLogConfig gets an existing LogConfig 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 GetLogConfig(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LogConfigState, opts ...pulumi.ResourceOption) (*LogConfig, error) { + var resource LogConfig + err := ctx.ReadResource("tencentcloud:Kubernetes/logConfig:LogConfig", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LogConfig resources. +type logConfigState struct { + // Cluster ID. + ClusterId *string `pulumi:"clusterId"` + // The current cluster type supports tke and eks, default is tke. + ClusterType *string `pulumi:"clusterType"` + // JSON expression of log collection configuration. + LogConfig *string `pulumi:"logConfig"` + // Log config name. + LogConfigName *string `pulumi:"logConfigName"` + // CLS log set ID. + LogsetId *string `pulumi:"logsetId"` +} + +type LogConfigState struct { + // Cluster ID. + ClusterId pulumi.StringPtrInput + // The current cluster type supports tke and eks, default is tke. + ClusterType pulumi.StringPtrInput + // JSON expression of log collection configuration. + LogConfig pulumi.StringPtrInput + // Log config name. + LogConfigName pulumi.StringPtrInput + // CLS log set ID. + LogsetId pulumi.StringPtrInput +} + +func (LogConfigState) ElementType() reflect.Type { + return reflect.TypeOf((*logConfigState)(nil)).Elem() +} + +type logConfigArgs struct { + // Cluster ID. + ClusterId string `pulumi:"clusterId"` + // The current cluster type supports tke and eks, default is tke. + ClusterType *string `pulumi:"clusterType"` + // JSON expression of log collection configuration. + LogConfig string `pulumi:"logConfig"` + // Log config name. + LogConfigName string `pulumi:"logConfigName"` + // CLS log set ID. + LogsetId *string `pulumi:"logsetId"` +} + +// The set of arguments for constructing a LogConfig resource. +type LogConfigArgs struct { + // Cluster ID. + ClusterId pulumi.StringInput + // The current cluster type supports tke and eks, default is tke. + ClusterType pulumi.StringPtrInput + // JSON expression of log collection configuration. + LogConfig pulumi.StringInput + // Log config name. + LogConfigName pulumi.StringInput + // CLS log set ID. + LogsetId pulumi.StringPtrInput +} + +func (LogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*logConfigArgs)(nil)).Elem() +} + +type LogConfigInput interface { + pulumi.Input + + ToLogConfigOutput() LogConfigOutput + ToLogConfigOutputWithContext(ctx context.Context) LogConfigOutput +} + +func (*LogConfig) ElementType() reflect.Type { + return reflect.TypeOf((**LogConfig)(nil)).Elem() +} + +func (i *LogConfig) ToLogConfigOutput() LogConfigOutput { + return i.ToLogConfigOutputWithContext(context.Background()) +} + +func (i *LogConfig) ToLogConfigOutputWithContext(ctx context.Context) LogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogConfigOutput) +} + +// LogConfigArrayInput is an input type that accepts LogConfigArray and LogConfigArrayOutput values. +// You can construct a concrete instance of `LogConfigArrayInput` via: +// +// LogConfigArray{ LogConfigArgs{...} } +type LogConfigArrayInput interface { + pulumi.Input + + ToLogConfigArrayOutput() LogConfigArrayOutput + ToLogConfigArrayOutputWithContext(context.Context) LogConfigArrayOutput +} + +type LogConfigArray []LogConfigInput + +func (LogConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogConfig)(nil)).Elem() +} + +func (i LogConfigArray) ToLogConfigArrayOutput() LogConfigArrayOutput { + return i.ToLogConfigArrayOutputWithContext(context.Background()) +} + +func (i LogConfigArray) ToLogConfigArrayOutputWithContext(ctx context.Context) LogConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogConfigArrayOutput) +} + +// LogConfigMapInput is an input type that accepts LogConfigMap and LogConfigMapOutput values. +// You can construct a concrete instance of `LogConfigMapInput` via: +// +// LogConfigMap{ "key": LogConfigArgs{...} } +type LogConfigMapInput interface { + pulumi.Input + + ToLogConfigMapOutput() LogConfigMapOutput + ToLogConfigMapOutputWithContext(context.Context) LogConfigMapOutput +} + +type LogConfigMap map[string]LogConfigInput + +func (LogConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogConfig)(nil)).Elem() +} + +func (i LogConfigMap) ToLogConfigMapOutput() LogConfigMapOutput { + return i.ToLogConfigMapOutputWithContext(context.Background()) +} + +func (i LogConfigMap) ToLogConfigMapOutputWithContext(ctx context.Context) LogConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogConfigMapOutput) +} + +type LogConfigOutput struct{ *pulumi.OutputState } + +func (LogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogConfig)(nil)).Elem() +} + +func (o LogConfigOutput) ToLogConfigOutput() LogConfigOutput { + return o +} + +func (o LogConfigOutput) ToLogConfigOutputWithContext(ctx context.Context) LogConfigOutput { + return o +} + +// Cluster ID. +func (o LogConfigOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *LogConfig) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// The current cluster type supports tke and eks, default is tke. +func (o LogConfigOutput) ClusterType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogConfig) pulumi.StringPtrOutput { return v.ClusterType }).(pulumi.StringPtrOutput) +} + +// JSON expression of log collection configuration. +func (o LogConfigOutput) LogConfig() pulumi.StringOutput { + return o.ApplyT(func(v *LogConfig) pulumi.StringOutput { return v.LogConfig }).(pulumi.StringOutput) +} + +// Log config name. +func (o LogConfigOutput) LogConfigName() pulumi.StringOutput { + return o.ApplyT(func(v *LogConfig) pulumi.StringOutput { return v.LogConfigName }).(pulumi.StringOutput) +} + +// CLS log set ID. +func (o LogConfigOutput) LogsetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogConfig) pulumi.StringPtrOutput { return v.LogsetId }).(pulumi.StringPtrOutput) +} + +type LogConfigArrayOutput struct{ *pulumi.OutputState } + +func (LogConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogConfig)(nil)).Elem() +} + +func (o LogConfigArrayOutput) ToLogConfigArrayOutput() LogConfigArrayOutput { + return o +} + +func (o LogConfigArrayOutput) ToLogConfigArrayOutputWithContext(ctx context.Context) LogConfigArrayOutput { + return o +} + +func (o LogConfigArrayOutput) Index(i pulumi.IntInput) LogConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LogConfig { + return vs[0].([]*LogConfig)[vs[1].(int)] + }).(LogConfigOutput) +} + +type LogConfigMapOutput struct{ *pulumi.OutputState } + +func (LogConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogConfig)(nil)).Elem() +} + +func (o LogConfigMapOutput) ToLogConfigMapOutput() LogConfigMapOutput { + return o +} + +func (o LogConfigMapOutput) ToLogConfigMapOutputWithContext(ctx context.Context) LogConfigMapOutput { + return o +} + +func (o LogConfigMapOutput) MapIndex(k pulumi.StringInput) LogConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LogConfig { + return vs[0].(map[string]*LogConfig)[vs[1].(string)] + }).(LogConfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LogConfigInput)(nil)).Elem(), &LogConfig{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogConfigArrayInput)(nil)).Elem(), LogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogConfigMapInput)(nil)).Elem(), LogConfigMap{}) + pulumi.RegisterOutputType(LogConfigOutput{}) + pulumi.RegisterOutputType(LogConfigArrayOutput{}) + pulumi.RegisterOutputType(LogConfigMapOutput{}) +} diff --git a/sdk/go/tencentcloud/kubernetes/pulumiTypes.go b/sdk/go/tencentcloud/kubernetes/pulumiTypes.go index 2bc2072e4..8b9c514d5 100644 --- a/sdk/go/tencentcloud/kubernetes/pulumiTypes.go +++ b/sdk/go/tencentcloud/kubernetes/pulumiTypes.go @@ -24,7 +24,9 @@ type ClusterAttachmentWorkerConfig struct { ExtraArgs []string `pulumi:"extraArgs"` // GPU driver parameters. GpuArgs *ClusterAttachmentWorkerConfigGpuArgs `pulumi:"gpuArgs"` - // Indicate to schedule the adding node or not. Default is true. + // This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + // + // Deprecated: This argument was deprecated, use `unschedulable` instead. IsSchedule *bool `pulumi:"isSchedule"` // Mount target. Default is not mounting. MountTarget *string `pulumi:"mountTarget"` @@ -56,7 +58,9 @@ type ClusterAttachmentWorkerConfigArgs struct { ExtraArgs pulumi.StringArrayInput `pulumi:"extraArgs"` // GPU driver parameters. GpuArgs ClusterAttachmentWorkerConfigGpuArgsPtrInput `pulumi:"gpuArgs"` - // Indicate to schedule the adding node or not. Default is true. + // This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + // + // Deprecated: This argument was deprecated, use `unschedulable` instead. IsSchedule pulumi.BoolPtrInput `pulumi:"isSchedule"` // Mount target. Default is not mounting. MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` @@ -168,7 +172,9 @@ func (o ClusterAttachmentWorkerConfigOutput) GpuArgs() ClusterAttachmentWorkerCo return o.ApplyT(func(v ClusterAttachmentWorkerConfig) *ClusterAttachmentWorkerConfigGpuArgs { return v.GpuArgs }).(ClusterAttachmentWorkerConfigGpuArgsPtrOutput) } -// Indicate to schedule the adding node or not. Default is true. +// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. +// +// Deprecated: This argument was deprecated, use `unschedulable` instead. func (o ClusterAttachmentWorkerConfigOutput) IsSchedule() pulumi.BoolPtrOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfig) *bool { return v.IsSchedule }).(pulumi.BoolPtrOutput) } @@ -262,7 +268,9 @@ func (o ClusterAttachmentWorkerConfigPtrOutput) GpuArgs() ClusterAttachmentWorke }).(ClusterAttachmentWorkerConfigGpuArgsPtrOutput) } -// Indicate to schedule the adding node or not. Default is true. +// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. +// +// Deprecated: This argument was deprecated, use `unschedulable` instead. func (o ClusterAttachmentWorkerConfigPtrOutput) IsSchedule() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfig) *bool { if v == nil { @@ -662,19 +670,31 @@ type ClusterAttachmentWorkerConfigOverrides struct { DataDisks []ClusterAttachmentWorkerConfigOverridesDataDisk `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`. + // This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. DockerGraphPath *string `pulumi:"dockerGraphPath"` - // Custom parameter information related to the node. This is a white-list parameter. + // This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. ExtraArgs []string `pulumi:"extraArgs"` // GPU driver parameters. GpuArgs *ClusterAttachmentWorkerConfigOverridesGpuArgs `pulumi:"gpuArgs"` - // Indicate to schedule the adding node or not. Default is true. + // This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + // + // Deprecated: This argument was deprecated, use `unschedulable` instead. IsSchedule *bool `pulumi:"isSchedule"` - // Mount target. Default is not mounting. + // This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. MountTarget *string `pulumi:"mountTarget"` - // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + // This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. PreStartUserScript *string `pulumi:"preStartUserScript"` - // Base64-encoded User Data text, the length limit is 16KB. + // This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. UserData *string `pulumi:"userData"` } @@ -694,19 +714,31 @@ type ClusterAttachmentWorkerConfigOverridesArgs struct { DataDisks ClusterAttachmentWorkerConfigOverridesDataDiskArrayInput `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`. + // This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. DockerGraphPath pulumi.StringPtrInput `pulumi:"dockerGraphPath"` - // Custom parameter information related to the node. This is a white-list parameter. + // This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. ExtraArgs pulumi.StringArrayInput `pulumi:"extraArgs"` // GPU driver parameters. GpuArgs ClusterAttachmentWorkerConfigOverridesGpuArgsPtrInput `pulumi:"gpuArgs"` - // Indicate to schedule the adding node or not. Default is true. + // This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + // + // Deprecated: This argument was deprecated, use `unschedulable` instead. IsSchedule pulumi.BoolPtrInput `pulumi:"isSchedule"` - // Mount target. Default is not mounting. + // This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` - // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + // This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. PreStartUserScript pulumi.StringPtrInput `pulumi:"preStartUserScript"` - // Base64-encoded User Data text, the length limit is 16KB. + // This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. + // + // Deprecated: This argument was no longer supported by TencentCloud TKE. UserData pulumi.StringPtrInput `pulumi:"userData"` } @@ -799,12 +831,16 @@ func (o ClusterAttachmentWorkerConfigOverridesOutput) DesiredPodNum() pulumi.Int return o.ApplyT(func(v ClusterAttachmentWorkerConfigOverrides) *int { return v.DesiredPodNum }).(pulumi.IntPtrOutput) } -// Docker graph path. Default is `/var/lib/docker`. +// This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesOutput) DockerGraphPath() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfigOverrides) *string { return v.DockerGraphPath }).(pulumi.StringPtrOutput) } -// Custom parameter information related to the node. This is a white-list parameter. +// This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesOutput) ExtraArgs() pulumi.StringArrayOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfigOverrides) []string { return v.ExtraArgs }).(pulumi.StringArrayOutput) } @@ -816,22 +852,30 @@ func (o ClusterAttachmentWorkerConfigOverridesOutput) GpuArgs() ClusterAttachmen }).(ClusterAttachmentWorkerConfigOverridesGpuArgsPtrOutput) } -// Indicate to schedule the adding node or not. Default is true. +// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. +// +// Deprecated: This argument was deprecated, use `unschedulable` instead. func (o ClusterAttachmentWorkerConfigOverridesOutput) IsSchedule() pulumi.BoolPtrOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfigOverrides) *bool { return v.IsSchedule }).(pulumi.BoolPtrOutput) } -// Mount target. Default is not mounting. +// This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesOutput) MountTarget() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfigOverrides) *string { return v.MountTarget }).(pulumi.StringPtrOutput) } -// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +// This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesOutput) PreStartUserScript() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfigOverrides) *string { return v.PreStartUserScript }).(pulumi.StringPtrOutput) } -// Base64-encoded User Data text, the length limit is 16KB. +// This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterAttachmentWorkerConfigOverrides) *string { return v.UserData }).(pulumi.StringPtrOutput) } @@ -880,7 +924,9 @@ func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) DesiredPodNum() pulumi. }).(pulumi.IntPtrOutput) } -// Docker graph path. Default is `/var/lib/docker`. +// This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) DockerGraphPath() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfigOverrides) *string { if v == nil { @@ -890,7 +936,9 @@ func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) DockerGraphPath() pulum }).(pulumi.StringPtrOutput) } -// Custom parameter information related to the node. This is a white-list parameter. +// This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) ExtraArgs() pulumi.StringArrayOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfigOverrides) []string { if v == nil { @@ -910,7 +958,9 @@ func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) GpuArgs() ClusterAttach }).(ClusterAttachmentWorkerConfigOverridesGpuArgsPtrOutput) } -// Indicate to schedule the adding node or not. Default is true. +// This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. +// +// Deprecated: This argument was deprecated, use `unschedulable` instead. func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) IsSchedule() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfigOverrides) *bool { if v == nil { @@ -920,7 +970,9 @@ func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) IsSchedule() pulumi.Boo }).(pulumi.BoolPtrOutput) } -// Mount target. Default is not mounting. +// This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) MountTarget() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfigOverrides) *string { if v == nil { @@ -930,7 +982,9 @@ func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) MountTarget() pulumi.St }).(pulumi.StringPtrOutput) } -// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +// This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) PreStartUserScript() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfigOverrides) *string { if v == nil { @@ -940,7 +994,9 @@ func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) PreStartUserScript() pu }).(pulumi.StringPtrOutput) } -// Base64-encoded User Data text, the length limit is 16KB. +// This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. +// +// Deprecated: This argument was no longer supported by TencentCloud TKE. func (o ClusterAttachmentWorkerConfigOverridesPtrOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterAttachmentWorkerConfigOverrides) *string { if v == nil { @@ -4034,6 +4090,121 @@ func (o EncryptionProtectionKmsConfigurationPtrOutput) KmsRegion() pulumi.String }).(pulumi.StringPtrOutput) } +type HealthCheckPolicyRule struct { + // Enable repair or not. + AutoRepairEnabled bool `pulumi:"autoRepairEnabled"` + // Enable detection of this project or not. + Enabled bool `pulumi:"enabled"` + // Health check rule details. + Name string `pulumi:"name"` +} + +// HealthCheckPolicyRuleInput is an input type that accepts HealthCheckPolicyRuleArgs and HealthCheckPolicyRuleOutput values. +// You can construct a concrete instance of `HealthCheckPolicyRuleInput` via: +// +// HealthCheckPolicyRuleArgs{...} +type HealthCheckPolicyRuleInput interface { + pulumi.Input + + ToHealthCheckPolicyRuleOutput() HealthCheckPolicyRuleOutput + ToHealthCheckPolicyRuleOutputWithContext(context.Context) HealthCheckPolicyRuleOutput +} + +type HealthCheckPolicyRuleArgs struct { + // Enable repair or not. + AutoRepairEnabled pulumi.BoolInput `pulumi:"autoRepairEnabled"` + // Enable detection of this project or not. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Health check rule details. + Name pulumi.StringInput `pulumi:"name"` +} + +func (HealthCheckPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HealthCheckPolicyRule)(nil)).Elem() +} + +func (i HealthCheckPolicyRuleArgs) ToHealthCheckPolicyRuleOutput() HealthCheckPolicyRuleOutput { + return i.ToHealthCheckPolicyRuleOutputWithContext(context.Background()) +} + +func (i HealthCheckPolicyRuleArgs) ToHealthCheckPolicyRuleOutputWithContext(ctx context.Context) HealthCheckPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(HealthCheckPolicyRuleOutput) +} + +// HealthCheckPolicyRuleArrayInput is an input type that accepts HealthCheckPolicyRuleArray and HealthCheckPolicyRuleArrayOutput values. +// You can construct a concrete instance of `HealthCheckPolicyRuleArrayInput` via: +// +// HealthCheckPolicyRuleArray{ HealthCheckPolicyRuleArgs{...} } +type HealthCheckPolicyRuleArrayInput interface { + pulumi.Input + + ToHealthCheckPolicyRuleArrayOutput() HealthCheckPolicyRuleArrayOutput + ToHealthCheckPolicyRuleArrayOutputWithContext(context.Context) HealthCheckPolicyRuleArrayOutput +} + +type HealthCheckPolicyRuleArray []HealthCheckPolicyRuleInput + +func (HealthCheckPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HealthCheckPolicyRule)(nil)).Elem() +} + +func (i HealthCheckPolicyRuleArray) ToHealthCheckPolicyRuleArrayOutput() HealthCheckPolicyRuleArrayOutput { + return i.ToHealthCheckPolicyRuleArrayOutputWithContext(context.Background()) +} + +func (i HealthCheckPolicyRuleArray) ToHealthCheckPolicyRuleArrayOutputWithContext(ctx context.Context) HealthCheckPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HealthCheckPolicyRuleArrayOutput) +} + +type HealthCheckPolicyRuleOutput struct{ *pulumi.OutputState } + +func (HealthCheckPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HealthCheckPolicyRule)(nil)).Elem() +} + +func (o HealthCheckPolicyRuleOutput) ToHealthCheckPolicyRuleOutput() HealthCheckPolicyRuleOutput { + return o +} + +func (o HealthCheckPolicyRuleOutput) ToHealthCheckPolicyRuleOutputWithContext(ctx context.Context) HealthCheckPolicyRuleOutput { + return o +} + +// Enable repair or not. +func (o HealthCheckPolicyRuleOutput) AutoRepairEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v HealthCheckPolicyRule) bool { return v.AutoRepairEnabled }).(pulumi.BoolOutput) +} + +// Enable detection of this project or not. +func (o HealthCheckPolicyRuleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v HealthCheckPolicyRule) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// Health check rule details. +func (o HealthCheckPolicyRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v HealthCheckPolicyRule) string { return v.Name }).(pulumi.StringOutput) +} + +type HealthCheckPolicyRuleArrayOutput struct{ *pulumi.OutputState } + +func (HealthCheckPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HealthCheckPolicyRule)(nil)).Elem() +} + +func (o HealthCheckPolicyRuleArrayOutput) ToHealthCheckPolicyRuleArrayOutput() HealthCheckPolicyRuleArrayOutput { + return o +} + +func (o HealthCheckPolicyRuleArrayOutput) ToHealthCheckPolicyRuleArrayOutputWithContext(ctx context.Context) HealthCheckPolicyRuleArrayOutput { + return o +} + +func (o HealthCheckPolicyRuleArrayOutput) Index(i pulumi.IntInput) HealthCheckPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HealthCheckPolicyRule { + return vs[0].([]HealthCheckPolicyRule)[vs[1].(int)] + }).(HealthCheckPolicyRuleOutput) +} + type NativeNodePoolAnnotation struct { // Name in the map table. Name string `pulumi:"name"` @@ -6250,6 +6421,8 @@ type NodePoolAutoScalingConfig struct { 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"` + // Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + InstanceNameStyle *string `pulumi:"instanceNameStyle"` // 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`. @@ -6314,6 +6487,8 @@ type NodePoolAutoScalingConfigArgs struct { 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"` + // Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + InstanceNameStyle pulumi.StringPtrInput `pulumi:"instanceNameStyle"` // 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`. @@ -6479,6 +6654,11 @@ func (o NodePoolAutoScalingConfigOutput) InstanceName() pulumi.StringPtrOutput { return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceName }).(pulumi.StringPtrOutput) } +// Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigOutput) InstanceNameStyle() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceNameStyle }).(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) @@ -6685,6 +6865,16 @@ func (o NodePoolAutoScalingConfigPtrOutput) InstanceName() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } +// Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigPtrOutput) InstanceNameStyle() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.InstanceNameStyle + }).(pulumi.StringPtrOutput) +} + // Specified types of CVM instance. func (o NodePoolAutoScalingConfigPtrOutput) InstanceType() pulumi.StringPtrOutput { return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { @@ -7711,6 +7901,8 @@ func (o NodePoolTaintArrayOutput) Index(i pulumi.IntInput) NodePoolTaintOutput { type ScaleWorkerDataDisk 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`. @@ -7735,6 +7927,8 @@ type ScaleWorkerDataDiskInput interface { type ScaleWorkerDataDiskArgs 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`. @@ -7801,6 +7995,11 @@ func (o ScaleWorkerDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { return o.ApplyT(func(v ScaleWorkerDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) } +// The name of the device or partition to mount. +func (o ScaleWorkerDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) +} + // 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) @@ -8063,7 +8262,7 @@ type ScaleWorkerWorkerConfig struct { CamRoleName *string `pulumi:"camRoleName"` // Number of cvm. Count *int `pulumi:"count"` - // Configurations of data disk. + // Configurations of cvm 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"` @@ -8131,7 +8330,7 @@ type ScaleWorkerWorkerConfigArgs struct { CamRoleName pulumi.StringPtrInput `pulumi:"camRoleName"` // Number of cvm. Count pulumi.IntPtrInput `pulumi:"count"` - // Configurations of data disk. + // Configurations of cvm 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"` @@ -8276,7 +8475,7 @@ func (o ScaleWorkerWorkerConfigOutput) Count() pulumi.IntPtrOutput { return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.Count }).(pulumi.IntPtrOutput) } -// Configurations of data disk. +// Configurations of cvm data disk. func (o ScaleWorkerWorkerConfigOutput) DataDisks() ScaleWorkerWorkerConfigDataDiskArrayOutput { return o.ApplyT(func(v ScaleWorkerWorkerConfig) []ScaleWorkerWorkerConfigDataDisk { return v.DataDisks }).(ScaleWorkerWorkerConfigDataDiskArrayOutput) } @@ -8455,7 +8654,7 @@ func (o ScaleWorkerWorkerConfigPtrOutput) Count() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// Configurations of data disk. +// Configurations of cvm data disk. func (o ScaleWorkerWorkerConfigPtrOutput) DataDisks() ScaleWorkerWorkerConfigDataDiskArrayOutput { return o.ApplyT(func(v *ScaleWorkerWorkerConfig) []ScaleWorkerWorkerConfigDataDisk { if v == nil { @@ -8687,8 +8886,12 @@ func (o ScaleWorkerWorkerConfigPtrOutput) UserData() pulumi.StringPtrOutput { type ScaleWorkerWorkerConfigDataDisk struct { // Indicate whether to auto format and mount or not. Default is `false`. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` // The name of the device or partition to mount. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. DiskPartition *string `pulumi:"diskPartition"` // Volume of disk in GB. Default is `0`. DiskSize *int `pulumi:"diskSize"` @@ -8697,10 +8900,14 @@ type ScaleWorkerWorkerConfigDataDisk struct { // Indicates whether to encrypt data disk, default `false`. Encrypt *bool `pulumi:"encrypt"` // File system, e.g. `ext3/ext4/xfs`. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. 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. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. MountTarget *string `pulumi:"mountTarget"` // Data disk snapshot ID. SnapshotId *string `pulumi:"snapshotId"` @@ -8719,8 +8926,12 @@ type ScaleWorkerWorkerConfigDataDiskInput interface { type ScaleWorkerWorkerConfigDataDiskArgs struct { // Indicate whether to auto format and mount or not. Default is `false`. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` // The name of the device or partition to mount. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` // Volume of disk in GB. Default is `0`. DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` @@ -8729,10 +8940,14 @@ type ScaleWorkerWorkerConfigDataDiskArgs struct { // Indicates whether to encrypt data disk, default `false`. Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` // File system, e.g. `ext3/ext4/xfs`. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. 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. + // + // Deprecated: This argument was deprecated, use `dataDisk` instead. MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` // Data disk snapshot ID. SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` @@ -8790,11 +9005,15 @@ func (o ScaleWorkerWorkerConfigDataDiskOutput) ToScaleWorkerWorkerConfigDataDisk } // Indicate whether to auto format and mount or not. Default is `false`. +// +// Deprecated: This argument was deprecated, use `dataDisk` instead. 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. +// +// Deprecated: This argument was deprecated, use `dataDisk` instead. func (o ScaleWorkerWorkerConfigDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) } @@ -8815,6 +9034,8 @@ func (o ScaleWorkerWorkerConfigDataDiskOutput) Encrypt() pulumi.BoolPtrOutput { } // File system, e.g. `ext3/ext4/xfs`. +// +// Deprecated: This argument was deprecated, use `dataDisk` instead. func (o ScaleWorkerWorkerConfigDataDiskOutput) FileSystem() pulumi.StringPtrOutput { return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) } @@ -8825,6 +9046,8 @@ func (o ScaleWorkerWorkerConfigDataDiskOutput) KmsKeyId() pulumi.StringPtrOutput } // Mount target. +// +// Deprecated: This argument was deprecated, use `dataDisk` instead. func (o ScaleWorkerWorkerConfigDataDiskOutput) MountTarget() pulumi.StringPtrOutput { return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) } @@ -15350,6 +15573,8 @@ func (o GetClusterNodePoolsNodePoolSetTaintArrayOutput) Index(i pulumi.IntInput) } type GetClustersList struct { + // CDC ID. + CdcId string `pulumi:"cdcId"` // The certificate used for access. CertificationAuthority string `pulumi:"certificationAuthority"` // The expired seconds to recycle ENI. @@ -15440,6 +15665,8 @@ type GetClustersListInput interface { } type GetClustersListArgs struct { + // CDC ID. + CdcId pulumi.StringInput `pulumi:"cdcId"` // The certificate used for access. CertificationAuthority pulumi.StringInput `pulumi:"certificationAuthority"` // The expired seconds to recycle ENI. @@ -15569,6 +15796,11 @@ func (o GetClustersListOutput) ToGetClustersListOutputWithContext(ctx context.Co return o } +// CDC ID. +func (o GetClustersListOutput) CdcId() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersList) string { return v.CdcId }).(pulumi.StringOutput) +} + // The certificate used for access. func (o GetClustersListOutput) CertificationAuthority() pulumi.StringOutput { return o.ApplyT(func(v GetClustersList) string { return v.CertificationAuthority }).(pulumi.StringOutput) @@ -16067,6 +16299,8 @@ 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((*HealthCheckPolicyRuleInput)(nil)).Elem(), HealthCheckPolicyRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckPolicyRuleArrayInput)(nil)).Elem(), HealthCheckPolicyRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolAnnotationInput)(nil)).Elem(), NativeNodePoolAnnotationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolAnnotationArrayInput)(nil)).Elem(), NativeNodePoolAnnotationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolLabelInput)(nil)).Elem(), NativeNodePoolLabelArgs{}) @@ -16263,6 +16497,8 @@ func init() { pulumi.RegisterOutputType(ClusterWorkerInstancesListArrayOutput{}) pulumi.RegisterOutputType(EncryptionProtectionKmsConfigurationOutput{}) pulumi.RegisterOutputType(EncryptionProtectionKmsConfigurationPtrOutput{}) + pulumi.RegisterOutputType(HealthCheckPolicyRuleOutput{}) + pulumi.RegisterOutputType(HealthCheckPolicyRuleArrayOutput{}) pulumi.RegisterOutputType(NativeNodePoolAnnotationOutput{}) pulumi.RegisterOutputType(NativeNodePoolAnnotationArrayOutput{}) pulumi.RegisterOutputType(NativeNodePoolLabelOutput{}) diff --git a/sdk/go/tencentcloud/kubernetes/scaleWorker.go b/sdk/go/tencentcloud/kubernetes/scaleWorker.go index 4f0ce20a4..50ef879fa 100644 --- a/sdk/go/tencentcloud/kubernetes/scaleWorker.go +++ b/sdk/go/tencentcloud/kubernetes/scaleWorker.go @@ -47,7 +47,7 @@ import ( // if param := cfg.Get("scaleInstanceType"); param != "" { // scaleInstanceType = param // } -// _, err := Kubernetes.NewScaleWorker(ctx, "testScale", &Kubernetes.ScaleWorkerArgs{ +// _, err := Kubernetes.NewScaleWorker(ctx, "example", &Kubernetes.ScaleWorkerArgs{ // ClusterId: pulumi.String("cls-godovr32"), // DesiredPodNum: pulumi.Int(16), // Labels: pulumi.Map{ @@ -115,7 +115,7 @@ import ( // if param := cfg.Get("scaleInstanceType"); param != "" { // scaleInstanceType = param // } -// _, err := Kubernetes.NewScaleWorker(ctx, "testScale", &Kubernetes.ScaleWorkerArgs{ +// _, err := Kubernetes.NewScaleWorker(ctx, "example", &Kubernetes.ScaleWorkerArgs{ // ClusterId: pulumi.String("cls-godovr32"), // ExtraArgs: pulumi.StringArray{ // pulumi.String("root-dir=/var/lib/kubelet"), @@ -161,14 +161,14 @@ import ( // tke scale worker can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx +// $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker example cls-mij6c2pq#ins-n6esjkdi,ins-9h3rdxt8,ins-qretqeas // ``` type ScaleWorker struct { pulumi.CustomResourceState // ID of the cluster. ClusterId pulumi.StringOutput `pulumi:"clusterId"` - // Configurations of data disk. + // Configurations of tke data disk. DataDisks ScaleWorkerDataDiskArrayOutput `pulumi:"dataDisks"` // Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. DesiredPodNum pulumi.IntPtrOutput `pulumi:"desiredPodNum"` @@ -232,7 +232,7 @@ func GetScaleWorker(ctx *pulumi.Context, type scaleWorkerState struct { // ID of the cluster. ClusterId *string `pulumi:"clusterId"` - // Configurations of data disk. + // Configurations of tke data disk. DataDisks []ScaleWorkerDataDisk `pulumi:"dataDisks"` // Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. DesiredPodNum *int `pulumi:"desiredPodNum"` @@ -261,7 +261,7 @@ type scaleWorkerState struct { type ScaleWorkerState struct { // ID of the cluster. ClusterId pulumi.StringPtrInput - // Configurations of data disk. + // Configurations of tke data disk. DataDisks ScaleWorkerDataDiskArrayInput // Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. DesiredPodNum pulumi.IntPtrInput @@ -294,7 +294,7 @@ func (ScaleWorkerState) ElementType() reflect.Type { type scaleWorkerArgs struct { // ID of the cluster. ClusterId string `pulumi:"clusterId"` - // Configurations of data disk. + // Configurations of tke data disk. DataDisks []ScaleWorkerDataDisk `pulumi:"dataDisks"` // Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. DesiredPodNum *int `pulumi:"desiredPodNum"` @@ -322,7 +322,7 @@ type scaleWorkerArgs struct { type ScaleWorkerArgs struct { // ID of the cluster. ClusterId pulumi.StringInput - // Configurations of data disk. + // Configurations of tke data disk. DataDisks ScaleWorkerDataDiskArrayInput // Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. DesiredPodNum pulumi.IntPtrInput @@ -438,7 +438,7 @@ func (o ScaleWorkerOutput) ClusterId() pulumi.StringOutput { return o.ApplyT(func(v *ScaleWorker) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) } -// Configurations of data disk. +// Configurations of tke data disk. func (o ScaleWorkerOutput) DataDisks() ScaleWorkerDataDiskArrayOutput { return o.ApplyT(func(v *ScaleWorker) ScaleWorkerDataDiskArrayOutput { return v.DataDisks }).(ScaleWorkerDataDiskArrayOutput) } diff --git a/sdk/go/tencentcloud/lite/getHbaseInstances.go b/sdk/go/tencentcloud/lite/getHbaseInstances.go new file mode 100644 index 000000000..8548af972 --- /dev/null +++ b/sdk/go/tencentcloud/lite/getHbaseInstances.go @@ -0,0 +1,174 @@ +// 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 lite + +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 emr liteHbaseInstances +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Lite" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Lite.GetHbaseInstances(ctx, &lite.GetHbaseInstancesArgs{ +// DisplayStrategy: "clusterList", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetHbaseInstances(ctx *pulumi.Context, args *GetHbaseInstancesArgs, opts ...pulumi.InvokeOption) (*GetHbaseInstancesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetHbaseInstancesResult + err := ctx.Invoke("tencentcloud:Lite/getHbaseInstances:getHbaseInstances", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getHbaseInstances. +type GetHbaseInstancesArgs struct { + // Sort by OrderField in ascending or descending order. Value range: + // * 0: indicates the descending order; + // * 1: indicates the ascending order; + // The default value is 0. + Asc *int `pulumi:"asc"` + // Cluster filtering policy. Value range: + // * clusterList: Query the list of clusters except the destroyed cluster; + // * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + DisplayStrategy string `pulumi:"displayStrategy"` + // Custom query. + Filters []GetHbaseInstancesFilter `pulumi:"filters"` + // Sorting field. Value range: + // * clusterId: Sorting by instance ID; + // * addTime: sorted by instance creation time; + // * status: sorted by the status code of the instance. + OrderField *string `pulumi:"orderField"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getHbaseInstances. +type GetHbaseInstancesResult struct { + Asc *int `pulumi:"asc"` + DisplayStrategy string `pulumi:"displayStrategy"` + Filters []GetHbaseInstancesFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Cluster instance list. + InstanceLists []GetHbaseInstancesInstanceList `pulumi:"instanceLists"` + OrderField *string `pulumi:"orderField"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetHbaseInstancesOutput(ctx *pulumi.Context, args GetHbaseInstancesOutputArgs, opts ...pulumi.InvokeOption) GetHbaseInstancesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetHbaseInstancesResult, error) { + args := v.(GetHbaseInstancesArgs) + r, err := GetHbaseInstances(ctx, &args, opts...) + var s GetHbaseInstancesResult + if r != nil { + s = *r + } + return s, err + }).(GetHbaseInstancesResultOutput) +} + +// A collection of arguments for invoking getHbaseInstances. +type GetHbaseInstancesOutputArgs struct { + // Sort by OrderField in ascending or descending order. Value range: + // * 0: indicates the descending order; + // * 1: indicates the ascending order; + // The default value is 0. + Asc pulumi.IntPtrInput `pulumi:"asc"` + // Cluster filtering policy. Value range: + // * clusterList: Query the list of clusters except the destroyed cluster; + // * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + DisplayStrategy pulumi.StringInput `pulumi:"displayStrategy"` + // Custom query. + Filters GetHbaseInstancesFilterArrayInput `pulumi:"filters"` + // Sorting field. Value range: + // * clusterId: Sorting by instance ID; + // * addTime: sorted by instance creation time; + // * status: sorted by the status code of the instance. + OrderField pulumi.StringPtrInput `pulumi:"orderField"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetHbaseInstancesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesArgs)(nil)).Elem() +} + +// A collection of values returned by getHbaseInstances. +type GetHbaseInstancesResultOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesResult)(nil)).Elem() +} + +func (o GetHbaseInstancesResultOutput) ToGetHbaseInstancesResultOutput() GetHbaseInstancesResultOutput { + return o +} + +func (o GetHbaseInstancesResultOutput) ToGetHbaseInstancesResultOutputWithContext(ctx context.Context) GetHbaseInstancesResultOutput { + return o +} + +func (o GetHbaseInstancesResultOutput) Asc() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetHbaseInstancesResult) *int { return v.Asc }).(pulumi.IntPtrOutput) +} + +func (o GetHbaseInstancesResultOutput) DisplayStrategy() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesResult) string { return v.DisplayStrategy }).(pulumi.StringOutput) +} + +func (o GetHbaseInstancesResultOutput) Filters() GetHbaseInstancesFilterArrayOutput { + return o.ApplyT(func(v GetHbaseInstancesResult) []GetHbaseInstancesFilter { return v.Filters }).(GetHbaseInstancesFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetHbaseInstancesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Cluster instance list. +func (o GetHbaseInstancesResultOutput) InstanceLists() GetHbaseInstancesInstanceListArrayOutput { + return o.ApplyT(func(v GetHbaseInstancesResult) []GetHbaseInstancesInstanceList { return v.InstanceLists }).(GetHbaseInstancesInstanceListArrayOutput) +} + +func (o GetHbaseInstancesResultOutput) OrderField() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetHbaseInstancesResult) *string { return v.OrderField }).(pulumi.StringPtrOutput) +} + +func (o GetHbaseInstancesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetHbaseInstancesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetHbaseInstancesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/lite/hbaseInstance.go b/sdk/go/tencentcloud/lite/hbaseInstance.go new file mode 100644 index 000000000..b2d2630c2 --- /dev/null +++ b/sdk/go/tencentcloud/lite/hbaseInstance.go @@ -0,0 +1,380 @@ +// 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 lite + +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 emr liteHbaseInstance +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Lite" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Lite.NewHbaseInstance(ctx, "liteHbaseInstance", &Lite.HbaseInstanceArgs{ +// DiskSize: pulumi.Int(100), +// DiskType: pulumi.String("CLOUD_HSSD"), +// InstanceName: pulumi.String("tf-test"), +// NodeType: pulumi.String("8C32G"), +// PayMode: pulumi.Int(0), +// Tags: lite.HbaseInstanceTagArray{ +// &lite.HbaseInstanceTagArgs{ +// TagKey: pulumi.String("test"), +// TagValue: pulumi.String("test"), +// }, +// }, +// ZoneSettings: lite.HbaseInstanceZoneSettingArray{ +// &lite.HbaseInstanceZoneSettingArgs{ +// NodeNum: pulumi.Int(3), +// VpcSettings: &lite.HbaseInstanceZoneSettingVpcSettingsArgs{ +// SubnetId: pulumi.String("subnet-xxxxxx"), +// VpcId: pulumi.String("vpc-xxxxxx"), +// }, +// Zone: pulumi.String("ap-shanghai-2"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// emr lite_hbase_instance can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Lite/hbaseInstance:HbaseInstance lite_hbase_instance lite_hbase_instance_id +// ``` +type HbaseInstance struct { + pulumi.CustomResourceState + + // Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + DiskSize pulumi.IntOutput `pulumi:"diskSize"` + // Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + DiskType pulumi.StringOutput `pulumi:"diskType"` + // Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + InstanceName pulumi.StringOutput `pulumi:"instanceName"` + // Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + NodeType pulumi.StringOutput `pulumi:"nodeType"` + // Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + PayMode pulumi.IntOutput `pulumi:"payMode"` + // List of tags to bind to the instance. + Tags HbaseInstanceTagArrayOutput `pulumi:"tags"` + // Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + ZoneSettings HbaseInstanceZoneSettingArrayOutput `pulumi:"zoneSettings"` +} + +// NewHbaseInstance registers a new resource with the given unique name, arguments, and options. +func NewHbaseInstance(ctx *pulumi.Context, + name string, args *HbaseInstanceArgs, opts ...pulumi.ResourceOption) (*HbaseInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DiskSize == nil { + return nil, errors.New("invalid value for required argument 'DiskSize'") + } + if args.DiskType == nil { + return nil, errors.New("invalid value for required argument 'DiskType'") + } + if args.InstanceName == nil { + return nil, errors.New("invalid value for required argument 'InstanceName'") + } + if args.NodeType == nil { + return nil, errors.New("invalid value for required argument 'NodeType'") + } + if args.PayMode == nil { + return nil, errors.New("invalid value for required argument 'PayMode'") + } + if args.ZoneSettings == nil { + return nil, errors.New("invalid value for required argument 'ZoneSettings'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource HbaseInstance + err := ctx.RegisterResource("tencentcloud:Lite/hbaseInstance:HbaseInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetHbaseInstance gets an existing HbaseInstance 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 GetHbaseInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *HbaseInstanceState, opts ...pulumi.ResourceOption) (*HbaseInstance, error) { + var resource HbaseInstance + err := ctx.ReadResource("tencentcloud:Lite/hbaseInstance:HbaseInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering HbaseInstance resources. +type hbaseInstanceState struct { + // Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + DiskSize *int `pulumi:"diskSize"` + // Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + DiskType *string `pulumi:"diskType"` + // Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + InstanceName *string `pulumi:"instanceName"` + // Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + NodeType *string `pulumi:"nodeType"` + // Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + PayMode *int `pulumi:"payMode"` + // List of tags to bind to the instance. + Tags []HbaseInstanceTag `pulumi:"tags"` + // Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + ZoneSettings []HbaseInstanceZoneSetting `pulumi:"zoneSettings"` +} + +type HbaseInstanceState struct { + // Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + DiskSize pulumi.IntPtrInput + // Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + DiskType pulumi.StringPtrInput + // Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + InstanceName pulumi.StringPtrInput + // Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + NodeType pulumi.StringPtrInput + // Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + PayMode pulumi.IntPtrInput + // List of tags to bind to the instance. + Tags HbaseInstanceTagArrayInput + // Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + ZoneSettings HbaseInstanceZoneSettingArrayInput +} + +func (HbaseInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*hbaseInstanceState)(nil)).Elem() +} + +type hbaseInstanceArgs struct { + // Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + DiskSize int `pulumi:"diskSize"` + // Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + DiskType string `pulumi:"diskType"` + // Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + InstanceName string `pulumi:"instanceName"` + // Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + NodeType string `pulumi:"nodeType"` + // Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + PayMode int `pulumi:"payMode"` + // List of tags to bind to the instance. + Tags []HbaseInstanceTag `pulumi:"tags"` + // Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + ZoneSettings []HbaseInstanceZoneSetting `pulumi:"zoneSettings"` +} + +// The set of arguments for constructing a HbaseInstance resource. +type HbaseInstanceArgs struct { + // Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + DiskSize pulumi.IntInput + // Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + DiskType pulumi.StringInput + // Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + InstanceName pulumi.StringInput + // Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + NodeType pulumi.StringInput + // Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + PayMode pulumi.IntInput + // List of tags to bind to the instance. + Tags HbaseInstanceTagArrayInput + // Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + ZoneSettings HbaseInstanceZoneSettingArrayInput +} + +func (HbaseInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*hbaseInstanceArgs)(nil)).Elem() +} + +type HbaseInstanceInput interface { + pulumi.Input + + ToHbaseInstanceOutput() HbaseInstanceOutput + ToHbaseInstanceOutputWithContext(ctx context.Context) HbaseInstanceOutput +} + +func (*HbaseInstance) ElementType() reflect.Type { + return reflect.TypeOf((**HbaseInstance)(nil)).Elem() +} + +func (i *HbaseInstance) ToHbaseInstanceOutput() HbaseInstanceOutput { + return i.ToHbaseInstanceOutputWithContext(context.Background()) +} + +func (i *HbaseInstance) ToHbaseInstanceOutputWithContext(ctx context.Context) HbaseInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceOutput) +} + +// HbaseInstanceArrayInput is an input type that accepts HbaseInstanceArray and HbaseInstanceArrayOutput values. +// You can construct a concrete instance of `HbaseInstanceArrayInput` via: +// +// HbaseInstanceArray{ HbaseInstanceArgs{...} } +type HbaseInstanceArrayInput interface { + pulumi.Input + + ToHbaseInstanceArrayOutput() HbaseInstanceArrayOutput + ToHbaseInstanceArrayOutputWithContext(context.Context) HbaseInstanceArrayOutput +} + +type HbaseInstanceArray []HbaseInstanceInput + +func (HbaseInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HbaseInstance)(nil)).Elem() +} + +func (i HbaseInstanceArray) ToHbaseInstanceArrayOutput() HbaseInstanceArrayOutput { + return i.ToHbaseInstanceArrayOutputWithContext(context.Background()) +} + +func (i HbaseInstanceArray) ToHbaseInstanceArrayOutputWithContext(ctx context.Context) HbaseInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceArrayOutput) +} + +// HbaseInstanceMapInput is an input type that accepts HbaseInstanceMap and HbaseInstanceMapOutput values. +// You can construct a concrete instance of `HbaseInstanceMapInput` via: +// +// HbaseInstanceMap{ "key": HbaseInstanceArgs{...} } +type HbaseInstanceMapInput interface { + pulumi.Input + + ToHbaseInstanceMapOutput() HbaseInstanceMapOutput + ToHbaseInstanceMapOutputWithContext(context.Context) HbaseInstanceMapOutput +} + +type HbaseInstanceMap map[string]HbaseInstanceInput + +func (HbaseInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HbaseInstance)(nil)).Elem() +} + +func (i HbaseInstanceMap) ToHbaseInstanceMapOutput() HbaseInstanceMapOutput { + return i.ToHbaseInstanceMapOutputWithContext(context.Background()) +} + +func (i HbaseInstanceMap) ToHbaseInstanceMapOutputWithContext(ctx context.Context) HbaseInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceMapOutput) +} + +type HbaseInstanceOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HbaseInstance)(nil)).Elem() +} + +func (o HbaseInstanceOutput) ToHbaseInstanceOutput() HbaseInstanceOutput { + return o +} + +func (o HbaseInstanceOutput) ToHbaseInstanceOutputWithContext(ctx context.Context) HbaseInstanceOutput { + return o +} + +// Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. +func (o HbaseInstanceOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v *HbaseInstance) pulumi.IntOutput { return v.DiskSize }).(pulumi.IntOutput) +} + +// Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. +func (o HbaseInstanceOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v *HbaseInstance) pulumi.StringOutput { return v.DiskType }).(pulumi.StringOutput) +} + +// Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. +func (o HbaseInstanceOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v *HbaseInstance) pulumi.StringOutput { return v.InstanceName }).(pulumi.StringOutput) +} + +// Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. +func (o HbaseInstanceOutput) NodeType() pulumi.StringOutput { + return o.ApplyT(func(v *HbaseInstance) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) +} + +// Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. +func (o HbaseInstanceOutput) PayMode() pulumi.IntOutput { + return o.ApplyT(func(v *HbaseInstance) pulumi.IntOutput { return v.PayMode }).(pulumi.IntOutput) +} + +// List of tags to bind to the instance. +func (o HbaseInstanceOutput) Tags() HbaseInstanceTagArrayOutput { + return o.ApplyT(func(v *HbaseInstance) HbaseInstanceTagArrayOutput { return v.Tags }).(HbaseInstanceTagArrayOutput) +} + +// Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. +func (o HbaseInstanceOutput) ZoneSettings() HbaseInstanceZoneSettingArrayOutput { + return o.ApplyT(func(v *HbaseInstance) HbaseInstanceZoneSettingArrayOutput { return v.ZoneSettings }).(HbaseInstanceZoneSettingArrayOutput) +} + +type HbaseInstanceArrayOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HbaseInstance)(nil)).Elem() +} + +func (o HbaseInstanceArrayOutput) ToHbaseInstanceArrayOutput() HbaseInstanceArrayOutput { + return o +} + +func (o HbaseInstanceArrayOutput) ToHbaseInstanceArrayOutputWithContext(ctx context.Context) HbaseInstanceArrayOutput { + return o +} + +func (o HbaseInstanceArrayOutput) Index(i pulumi.IntInput) HbaseInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *HbaseInstance { + return vs[0].([]*HbaseInstance)[vs[1].(int)] + }).(HbaseInstanceOutput) +} + +type HbaseInstanceMapOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HbaseInstance)(nil)).Elem() +} + +func (o HbaseInstanceMapOutput) ToHbaseInstanceMapOutput() HbaseInstanceMapOutput { + return o +} + +func (o HbaseInstanceMapOutput) ToHbaseInstanceMapOutputWithContext(ctx context.Context) HbaseInstanceMapOutput { + return o +} + +func (o HbaseInstanceMapOutput) MapIndex(k pulumi.StringInput) HbaseInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *HbaseInstance { + return vs[0].(map[string]*HbaseInstance)[vs[1].(string)] + }).(HbaseInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceInput)(nil)).Elem(), &HbaseInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceArrayInput)(nil)).Elem(), HbaseInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceMapInput)(nil)).Elem(), HbaseInstanceMap{}) + pulumi.RegisterOutputType(HbaseInstanceOutput{}) + pulumi.RegisterOutputType(HbaseInstanceArrayOutput{}) + pulumi.RegisterOutputType(HbaseInstanceMapOutput{}) +} diff --git a/sdk/go/tencentcloud/lite/init.go b/sdk/go/tencentcloud/lite/init.go new file mode 100644 index 000000000..81c8291bc --- /dev/null +++ b/sdk/go/tencentcloud/lite/init.go @@ -0,0 +1,44 @@ +// 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 lite + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "tencentcloud:Lite/hbaseInstance:HbaseInstance": + r = &HbaseInstance{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "tencentcloud", + "Lite/hbaseInstance", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/lite/pulumiTypes.go b/sdk/go/tencentcloud/lite/pulumiTypes.go new file mode 100644 index 000000000..6db8a9f00 --- /dev/null +++ b/sdk/go/tencentcloud/lite/pulumiTypes.go @@ -0,0 +1,989 @@ +// 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 lite + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type HbaseInstanceTag struct { + // Tag key. + TagKey *string `pulumi:"tagKey"` + // Tag value. + TagValue *string `pulumi:"tagValue"` +} + +// HbaseInstanceTagInput is an input type that accepts HbaseInstanceTagArgs and HbaseInstanceTagOutput values. +// You can construct a concrete instance of `HbaseInstanceTagInput` via: +// +// HbaseInstanceTagArgs{...} +type HbaseInstanceTagInput interface { + pulumi.Input + + ToHbaseInstanceTagOutput() HbaseInstanceTagOutput + ToHbaseInstanceTagOutputWithContext(context.Context) HbaseInstanceTagOutput +} + +type HbaseInstanceTagArgs struct { + // Tag key. + TagKey pulumi.StringPtrInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringPtrInput `pulumi:"tagValue"` +} + +func (HbaseInstanceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HbaseInstanceTag)(nil)).Elem() +} + +func (i HbaseInstanceTagArgs) ToHbaseInstanceTagOutput() HbaseInstanceTagOutput { + return i.ToHbaseInstanceTagOutputWithContext(context.Background()) +} + +func (i HbaseInstanceTagArgs) ToHbaseInstanceTagOutputWithContext(ctx context.Context) HbaseInstanceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceTagOutput) +} + +// HbaseInstanceTagArrayInput is an input type that accepts HbaseInstanceTagArray and HbaseInstanceTagArrayOutput values. +// You can construct a concrete instance of `HbaseInstanceTagArrayInput` via: +// +// HbaseInstanceTagArray{ HbaseInstanceTagArgs{...} } +type HbaseInstanceTagArrayInput interface { + pulumi.Input + + ToHbaseInstanceTagArrayOutput() HbaseInstanceTagArrayOutput + ToHbaseInstanceTagArrayOutputWithContext(context.Context) HbaseInstanceTagArrayOutput +} + +type HbaseInstanceTagArray []HbaseInstanceTagInput + +func (HbaseInstanceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HbaseInstanceTag)(nil)).Elem() +} + +func (i HbaseInstanceTagArray) ToHbaseInstanceTagArrayOutput() HbaseInstanceTagArrayOutput { + return i.ToHbaseInstanceTagArrayOutputWithContext(context.Background()) +} + +func (i HbaseInstanceTagArray) ToHbaseInstanceTagArrayOutputWithContext(ctx context.Context) HbaseInstanceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceTagArrayOutput) +} + +type HbaseInstanceTagOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HbaseInstanceTag)(nil)).Elem() +} + +func (o HbaseInstanceTagOutput) ToHbaseInstanceTagOutput() HbaseInstanceTagOutput { + return o +} + +func (o HbaseInstanceTagOutput) ToHbaseInstanceTagOutputWithContext(ctx context.Context) HbaseInstanceTagOutput { + return o +} + +// Tag key. +func (o HbaseInstanceTagOutput) TagKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v HbaseInstanceTag) *string { return v.TagKey }).(pulumi.StringPtrOutput) +} + +// Tag value. +func (o HbaseInstanceTagOutput) TagValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v HbaseInstanceTag) *string { return v.TagValue }).(pulumi.StringPtrOutput) +} + +type HbaseInstanceTagArrayOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HbaseInstanceTag)(nil)).Elem() +} + +func (o HbaseInstanceTagArrayOutput) ToHbaseInstanceTagArrayOutput() HbaseInstanceTagArrayOutput { + return o +} + +func (o HbaseInstanceTagArrayOutput) ToHbaseInstanceTagArrayOutputWithContext(ctx context.Context) HbaseInstanceTagArrayOutput { + return o +} + +func (o HbaseInstanceTagArrayOutput) Index(i pulumi.IntInput) HbaseInstanceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HbaseInstanceTag { + return vs[0].([]HbaseInstanceTag)[vs[1].(int)] + }).(HbaseInstanceTagOutput) +} + +type HbaseInstanceZoneSetting struct { + // Number of nodes. + NodeNum int `pulumi:"nodeNum"` + // Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + VpcSettings HbaseInstanceZoneSettingVpcSettings `pulumi:"vpcSettings"` + // The availability zone to which the instance belongs, such as ap-guangzhou-1. + Zone string `pulumi:"zone"` +} + +// HbaseInstanceZoneSettingInput is an input type that accepts HbaseInstanceZoneSettingArgs and HbaseInstanceZoneSettingOutput values. +// You can construct a concrete instance of `HbaseInstanceZoneSettingInput` via: +// +// HbaseInstanceZoneSettingArgs{...} +type HbaseInstanceZoneSettingInput interface { + pulumi.Input + + ToHbaseInstanceZoneSettingOutput() HbaseInstanceZoneSettingOutput + ToHbaseInstanceZoneSettingOutputWithContext(context.Context) HbaseInstanceZoneSettingOutput +} + +type HbaseInstanceZoneSettingArgs struct { + // Number of nodes. + NodeNum pulumi.IntInput `pulumi:"nodeNum"` + // Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + VpcSettings HbaseInstanceZoneSettingVpcSettingsInput `pulumi:"vpcSettings"` + // The availability zone to which the instance belongs, such as ap-guangzhou-1. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (HbaseInstanceZoneSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HbaseInstanceZoneSetting)(nil)).Elem() +} + +func (i HbaseInstanceZoneSettingArgs) ToHbaseInstanceZoneSettingOutput() HbaseInstanceZoneSettingOutput { + return i.ToHbaseInstanceZoneSettingOutputWithContext(context.Background()) +} + +func (i HbaseInstanceZoneSettingArgs) ToHbaseInstanceZoneSettingOutputWithContext(ctx context.Context) HbaseInstanceZoneSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceZoneSettingOutput) +} + +// HbaseInstanceZoneSettingArrayInput is an input type that accepts HbaseInstanceZoneSettingArray and HbaseInstanceZoneSettingArrayOutput values. +// You can construct a concrete instance of `HbaseInstanceZoneSettingArrayInput` via: +// +// HbaseInstanceZoneSettingArray{ HbaseInstanceZoneSettingArgs{...} } +type HbaseInstanceZoneSettingArrayInput interface { + pulumi.Input + + ToHbaseInstanceZoneSettingArrayOutput() HbaseInstanceZoneSettingArrayOutput + ToHbaseInstanceZoneSettingArrayOutputWithContext(context.Context) HbaseInstanceZoneSettingArrayOutput +} + +type HbaseInstanceZoneSettingArray []HbaseInstanceZoneSettingInput + +func (HbaseInstanceZoneSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HbaseInstanceZoneSetting)(nil)).Elem() +} + +func (i HbaseInstanceZoneSettingArray) ToHbaseInstanceZoneSettingArrayOutput() HbaseInstanceZoneSettingArrayOutput { + return i.ToHbaseInstanceZoneSettingArrayOutputWithContext(context.Background()) +} + +func (i HbaseInstanceZoneSettingArray) ToHbaseInstanceZoneSettingArrayOutputWithContext(ctx context.Context) HbaseInstanceZoneSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceZoneSettingArrayOutput) +} + +type HbaseInstanceZoneSettingOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceZoneSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HbaseInstanceZoneSetting)(nil)).Elem() +} + +func (o HbaseInstanceZoneSettingOutput) ToHbaseInstanceZoneSettingOutput() HbaseInstanceZoneSettingOutput { + return o +} + +func (o HbaseInstanceZoneSettingOutput) ToHbaseInstanceZoneSettingOutputWithContext(ctx context.Context) HbaseInstanceZoneSettingOutput { + return o +} + +// Number of nodes. +func (o HbaseInstanceZoneSettingOutput) NodeNum() pulumi.IntOutput { + return o.ApplyT(func(v HbaseInstanceZoneSetting) int { return v.NodeNum }).(pulumi.IntOutput) +} + +// Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. +func (o HbaseInstanceZoneSettingOutput) VpcSettings() HbaseInstanceZoneSettingVpcSettingsOutput { + return o.ApplyT(func(v HbaseInstanceZoneSetting) HbaseInstanceZoneSettingVpcSettings { return v.VpcSettings }).(HbaseInstanceZoneSettingVpcSettingsOutput) +} + +// The availability zone to which the instance belongs, such as ap-guangzhou-1. +func (o HbaseInstanceZoneSettingOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v HbaseInstanceZoneSetting) string { return v.Zone }).(pulumi.StringOutput) +} + +type HbaseInstanceZoneSettingArrayOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceZoneSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HbaseInstanceZoneSetting)(nil)).Elem() +} + +func (o HbaseInstanceZoneSettingArrayOutput) ToHbaseInstanceZoneSettingArrayOutput() HbaseInstanceZoneSettingArrayOutput { + return o +} + +func (o HbaseInstanceZoneSettingArrayOutput) ToHbaseInstanceZoneSettingArrayOutputWithContext(ctx context.Context) HbaseInstanceZoneSettingArrayOutput { + return o +} + +func (o HbaseInstanceZoneSettingArrayOutput) Index(i pulumi.IntInput) HbaseInstanceZoneSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HbaseInstanceZoneSetting { + return vs[0].([]HbaseInstanceZoneSetting)[vs[1].(int)] + }).(HbaseInstanceZoneSettingOutput) +} + +type HbaseInstanceZoneSettingVpcSettings struct { + // Subnet ID. + SubnetId string `pulumi:"subnetId"` + // VPC ID. + VpcId string `pulumi:"vpcId"` +} + +// HbaseInstanceZoneSettingVpcSettingsInput is an input type that accepts HbaseInstanceZoneSettingVpcSettingsArgs and HbaseInstanceZoneSettingVpcSettingsOutput values. +// You can construct a concrete instance of `HbaseInstanceZoneSettingVpcSettingsInput` via: +// +// HbaseInstanceZoneSettingVpcSettingsArgs{...} +type HbaseInstanceZoneSettingVpcSettingsInput interface { + pulumi.Input + + ToHbaseInstanceZoneSettingVpcSettingsOutput() HbaseInstanceZoneSettingVpcSettingsOutput + ToHbaseInstanceZoneSettingVpcSettingsOutputWithContext(context.Context) HbaseInstanceZoneSettingVpcSettingsOutput +} + +type HbaseInstanceZoneSettingVpcSettingsArgs struct { + // Subnet ID. + SubnetId pulumi.StringInput `pulumi:"subnetId"` + // VPC ID. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (HbaseInstanceZoneSettingVpcSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HbaseInstanceZoneSettingVpcSettings)(nil)).Elem() +} + +func (i HbaseInstanceZoneSettingVpcSettingsArgs) ToHbaseInstanceZoneSettingVpcSettingsOutput() HbaseInstanceZoneSettingVpcSettingsOutput { + return i.ToHbaseInstanceZoneSettingVpcSettingsOutputWithContext(context.Background()) +} + +func (i HbaseInstanceZoneSettingVpcSettingsArgs) ToHbaseInstanceZoneSettingVpcSettingsOutputWithContext(ctx context.Context) HbaseInstanceZoneSettingVpcSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(HbaseInstanceZoneSettingVpcSettingsOutput) +} + +type HbaseInstanceZoneSettingVpcSettingsOutput struct{ *pulumi.OutputState } + +func (HbaseInstanceZoneSettingVpcSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HbaseInstanceZoneSettingVpcSettings)(nil)).Elem() +} + +func (o HbaseInstanceZoneSettingVpcSettingsOutput) ToHbaseInstanceZoneSettingVpcSettingsOutput() HbaseInstanceZoneSettingVpcSettingsOutput { + return o +} + +func (o HbaseInstanceZoneSettingVpcSettingsOutput) ToHbaseInstanceZoneSettingVpcSettingsOutputWithContext(ctx context.Context) HbaseInstanceZoneSettingVpcSettingsOutput { + return o +} + +// Subnet ID. +func (o HbaseInstanceZoneSettingVpcSettingsOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v HbaseInstanceZoneSettingVpcSettings) string { return v.SubnetId }).(pulumi.StringOutput) +} + +// VPC ID. +func (o HbaseInstanceZoneSettingVpcSettingsOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v HbaseInstanceZoneSettingVpcSettings) string { return v.VpcId }).(pulumi.StringOutput) +} + +type GetHbaseInstancesFilter struct { + // Field name. + Name string `pulumi:"name"` + // Filter field value. + Values []string `pulumi:"values"` +} + +// GetHbaseInstancesFilterInput is an input type that accepts GetHbaseInstancesFilterArgs and GetHbaseInstancesFilterOutput values. +// You can construct a concrete instance of `GetHbaseInstancesFilterInput` via: +// +// GetHbaseInstancesFilterArgs{...} +type GetHbaseInstancesFilterInput interface { + pulumi.Input + + ToGetHbaseInstancesFilterOutput() GetHbaseInstancesFilterOutput + ToGetHbaseInstancesFilterOutputWithContext(context.Context) GetHbaseInstancesFilterOutput +} + +type GetHbaseInstancesFilterArgs struct { + // Field name. + Name pulumi.StringInput `pulumi:"name"` + // Filter field value. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetHbaseInstancesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesFilter)(nil)).Elem() +} + +func (i GetHbaseInstancesFilterArgs) ToGetHbaseInstancesFilterOutput() GetHbaseInstancesFilterOutput { + return i.ToGetHbaseInstancesFilterOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesFilterArgs) ToGetHbaseInstancesFilterOutputWithContext(ctx context.Context) GetHbaseInstancesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesFilterOutput) +} + +// GetHbaseInstancesFilterArrayInput is an input type that accepts GetHbaseInstancesFilterArray and GetHbaseInstancesFilterArrayOutput values. +// You can construct a concrete instance of `GetHbaseInstancesFilterArrayInput` via: +// +// GetHbaseInstancesFilterArray{ GetHbaseInstancesFilterArgs{...} } +type GetHbaseInstancesFilterArrayInput interface { + pulumi.Input + + ToGetHbaseInstancesFilterArrayOutput() GetHbaseInstancesFilterArrayOutput + ToGetHbaseInstancesFilterArrayOutputWithContext(context.Context) GetHbaseInstancesFilterArrayOutput +} + +type GetHbaseInstancesFilterArray []GetHbaseInstancesFilterInput + +func (GetHbaseInstancesFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesFilter)(nil)).Elem() +} + +func (i GetHbaseInstancesFilterArray) ToGetHbaseInstancesFilterArrayOutput() GetHbaseInstancesFilterArrayOutput { + return i.ToGetHbaseInstancesFilterArrayOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesFilterArray) ToGetHbaseInstancesFilterArrayOutputWithContext(ctx context.Context) GetHbaseInstancesFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesFilterArrayOutput) +} + +type GetHbaseInstancesFilterOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesFilter)(nil)).Elem() +} + +func (o GetHbaseInstancesFilterOutput) ToGetHbaseInstancesFilterOutput() GetHbaseInstancesFilterOutput { + return o +} + +func (o GetHbaseInstancesFilterOutput) ToGetHbaseInstancesFilterOutputWithContext(ctx context.Context) GetHbaseInstancesFilterOutput { + return o +} + +// Field name. +func (o GetHbaseInstancesFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Filter field value. +func (o GetHbaseInstancesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetHbaseInstancesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetHbaseInstancesFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesFilter)(nil)).Elem() +} + +func (o GetHbaseInstancesFilterArrayOutput) ToGetHbaseInstancesFilterArrayOutput() GetHbaseInstancesFilterArrayOutput { + return o +} + +func (o GetHbaseInstancesFilterArrayOutput) ToGetHbaseInstancesFilterArrayOutputWithContext(ctx context.Context) GetHbaseInstancesFilterArrayOutput { + return o +} + +func (o GetHbaseInstancesFilterArrayOutput) Index(i pulumi.IntInput) GetHbaseInstancesFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetHbaseInstancesFilter { + return vs[0].([]GetHbaseInstancesFilter)[vs[1].(int)] + }).(GetHbaseInstancesFilterOutput) +} + +type GetHbaseInstancesInstanceList struct { + // Creation time. + AddTime string `pulumi:"addTime"` + // User APP ID. + AppId int `pulumi:"appId"` + // Cluster Instance String ID. + ClusterId string `pulumi:"clusterId"` + // Cluster Instance name. + ClusterName string `pulumi:"clusterName"` + // Cluster Instance Digital ID. + Id int `pulumi:"id"` + // Cluster charging type. 0 means charging by volume, 1 means annual and monthly. + PayMode int `pulumi:"payMode"` + // Region ID. + RegionId int `pulumi:"regionId"` + // Status code, please refer to the StatusDesc. + Status int `pulumi:"status"` + // State description. + StatusDesc string `pulumi:"statusDesc"` + // Subnet ID. + SubnetId int `pulumi:"subnetId"` + // List of tags. + Tags []GetHbaseInstancesInstanceListTag `pulumi:"tags"` + // VPC ID. + VpcId int `pulumi:"vpcId"` + // Primary Availability Zone Name. + Zone string `pulumi:"zone"` + // Primary Availability Zone ID. + ZoneId int `pulumi:"zoneId"` + // Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50. + ZoneSettings []GetHbaseInstancesInstanceListZoneSetting `pulumi:"zoneSettings"` +} + +// GetHbaseInstancesInstanceListInput is an input type that accepts GetHbaseInstancesInstanceListArgs and GetHbaseInstancesInstanceListOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListInput` via: +// +// GetHbaseInstancesInstanceListArgs{...} +type GetHbaseInstancesInstanceListInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListOutput() GetHbaseInstancesInstanceListOutput + ToGetHbaseInstancesInstanceListOutputWithContext(context.Context) GetHbaseInstancesInstanceListOutput +} + +type GetHbaseInstancesInstanceListArgs struct { + // Creation time. + AddTime pulumi.StringInput `pulumi:"addTime"` + // User APP ID. + AppId pulumi.IntInput `pulumi:"appId"` + // Cluster Instance String ID. + ClusterId pulumi.StringInput `pulumi:"clusterId"` + // Cluster Instance name. + ClusterName pulumi.StringInput `pulumi:"clusterName"` + // Cluster Instance Digital ID. + Id pulumi.IntInput `pulumi:"id"` + // Cluster charging type. 0 means charging by volume, 1 means annual and monthly. + PayMode pulumi.IntInput `pulumi:"payMode"` + // Region ID. + RegionId pulumi.IntInput `pulumi:"regionId"` + // Status code, please refer to the StatusDesc. + Status pulumi.IntInput `pulumi:"status"` + // State description. + StatusDesc pulumi.StringInput `pulumi:"statusDesc"` + // Subnet ID. + SubnetId pulumi.IntInput `pulumi:"subnetId"` + // List of tags. + Tags GetHbaseInstancesInstanceListTagArrayInput `pulumi:"tags"` + // VPC ID. + VpcId pulumi.IntInput `pulumi:"vpcId"` + // Primary Availability Zone Name. + Zone pulumi.StringInput `pulumi:"zone"` + // Primary Availability Zone ID. + ZoneId pulumi.IntInput `pulumi:"zoneId"` + // Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50. + ZoneSettings GetHbaseInstancesInstanceListZoneSettingArrayInput `pulumi:"zoneSettings"` +} + +func (GetHbaseInstancesInstanceListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceList)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListArgs) ToGetHbaseInstancesInstanceListOutput() GetHbaseInstancesInstanceListOutput { + return i.ToGetHbaseInstancesInstanceListOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListArgs) ToGetHbaseInstancesInstanceListOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListOutput) +} + +// GetHbaseInstancesInstanceListArrayInput is an input type that accepts GetHbaseInstancesInstanceListArray and GetHbaseInstancesInstanceListArrayOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListArrayInput` via: +// +// GetHbaseInstancesInstanceListArray{ GetHbaseInstancesInstanceListArgs{...} } +type GetHbaseInstancesInstanceListArrayInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListArrayOutput() GetHbaseInstancesInstanceListArrayOutput + ToGetHbaseInstancesInstanceListArrayOutputWithContext(context.Context) GetHbaseInstancesInstanceListArrayOutput +} + +type GetHbaseInstancesInstanceListArray []GetHbaseInstancesInstanceListInput + +func (GetHbaseInstancesInstanceListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceList)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListArray) ToGetHbaseInstancesInstanceListArrayOutput() GetHbaseInstancesInstanceListArrayOutput { + return i.ToGetHbaseInstancesInstanceListArrayOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListArray) ToGetHbaseInstancesInstanceListArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListArrayOutput) +} + +type GetHbaseInstancesInstanceListOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceList)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListOutput) ToGetHbaseInstancesInstanceListOutput() GetHbaseInstancesInstanceListOutput { + return o +} + +func (o GetHbaseInstancesInstanceListOutput) ToGetHbaseInstancesInstanceListOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListOutput { + return o +} + +// Creation time. +func (o GetHbaseInstancesInstanceListOutput) AddTime() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) string { return v.AddTime }).(pulumi.StringOutput) +} + +// User APP ID. +func (o GetHbaseInstancesInstanceListOutput) AppId() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.AppId }).(pulumi.IntOutput) +} + +// Cluster Instance String ID. +func (o GetHbaseInstancesInstanceListOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) string { return v.ClusterId }).(pulumi.StringOutput) +} + +// Cluster Instance name. +func (o GetHbaseInstancesInstanceListOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) string { return v.ClusterName }).(pulumi.StringOutput) +} + +// Cluster Instance Digital ID. +func (o GetHbaseInstancesInstanceListOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.Id }).(pulumi.IntOutput) +} + +// Cluster charging type. 0 means charging by volume, 1 means annual and monthly. +func (o GetHbaseInstancesInstanceListOutput) PayMode() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.PayMode }).(pulumi.IntOutput) +} + +// Region ID. +func (o GetHbaseInstancesInstanceListOutput) RegionId() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.RegionId }).(pulumi.IntOutput) +} + +// Status code, please refer to the StatusDesc. +func (o GetHbaseInstancesInstanceListOutput) Status() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.Status }).(pulumi.IntOutput) +} + +// State description. +func (o GetHbaseInstancesInstanceListOutput) StatusDesc() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) string { return v.StatusDesc }).(pulumi.StringOutput) +} + +// Subnet ID. +func (o GetHbaseInstancesInstanceListOutput) SubnetId() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.SubnetId }).(pulumi.IntOutput) +} + +// List of tags. +func (o GetHbaseInstancesInstanceListOutput) Tags() GetHbaseInstancesInstanceListTagArrayOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) []GetHbaseInstancesInstanceListTag { return v.Tags }).(GetHbaseInstancesInstanceListTagArrayOutput) +} + +// VPC ID. +func (o GetHbaseInstancesInstanceListOutput) VpcId() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.VpcId }).(pulumi.IntOutput) +} + +// Primary Availability Zone Name. +func (o GetHbaseInstancesInstanceListOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) string { return v.Zone }).(pulumi.StringOutput) +} + +// Primary Availability Zone ID. +func (o GetHbaseInstancesInstanceListOutput) ZoneId() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) int { return v.ZoneId }).(pulumi.IntOutput) +} + +// Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50. +func (o GetHbaseInstancesInstanceListOutput) ZoneSettings() GetHbaseInstancesInstanceListZoneSettingArrayOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceList) []GetHbaseInstancesInstanceListZoneSetting { + return v.ZoneSettings + }).(GetHbaseInstancesInstanceListZoneSettingArrayOutput) +} + +type GetHbaseInstancesInstanceListArrayOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceList)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListArrayOutput) ToGetHbaseInstancesInstanceListArrayOutput() GetHbaseInstancesInstanceListArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListArrayOutput) ToGetHbaseInstancesInstanceListArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListArrayOutput) Index(i pulumi.IntInput) GetHbaseInstancesInstanceListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetHbaseInstancesInstanceList { + return vs[0].([]GetHbaseInstancesInstanceList)[vs[1].(int)] + }).(GetHbaseInstancesInstanceListOutput) +} + +type GetHbaseInstancesInstanceListTag struct { + // Tag key. + TagKey *string `pulumi:"tagKey"` + // Tag value. + TagValue *string `pulumi:"tagValue"` +} + +// GetHbaseInstancesInstanceListTagInput is an input type that accepts GetHbaseInstancesInstanceListTagArgs and GetHbaseInstancesInstanceListTagOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListTagInput` via: +// +// GetHbaseInstancesInstanceListTagArgs{...} +type GetHbaseInstancesInstanceListTagInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListTagOutput() GetHbaseInstancesInstanceListTagOutput + ToGetHbaseInstancesInstanceListTagOutputWithContext(context.Context) GetHbaseInstancesInstanceListTagOutput +} + +type GetHbaseInstancesInstanceListTagArgs struct { + // Tag key. + TagKey pulumi.StringPtrInput `pulumi:"tagKey"` + // Tag value. + TagValue pulumi.StringPtrInput `pulumi:"tagValue"` +} + +func (GetHbaseInstancesInstanceListTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceListTag)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListTagArgs) ToGetHbaseInstancesInstanceListTagOutput() GetHbaseInstancesInstanceListTagOutput { + return i.ToGetHbaseInstancesInstanceListTagOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListTagArgs) ToGetHbaseInstancesInstanceListTagOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListTagOutput) +} + +// GetHbaseInstancesInstanceListTagArrayInput is an input type that accepts GetHbaseInstancesInstanceListTagArray and GetHbaseInstancesInstanceListTagArrayOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListTagArrayInput` via: +// +// GetHbaseInstancesInstanceListTagArray{ GetHbaseInstancesInstanceListTagArgs{...} } +type GetHbaseInstancesInstanceListTagArrayInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListTagArrayOutput() GetHbaseInstancesInstanceListTagArrayOutput + ToGetHbaseInstancesInstanceListTagArrayOutputWithContext(context.Context) GetHbaseInstancesInstanceListTagArrayOutput +} + +type GetHbaseInstancesInstanceListTagArray []GetHbaseInstancesInstanceListTagInput + +func (GetHbaseInstancesInstanceListTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceListTag)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListTagArray) ToGetHbaseInstancesInstanceListTagArrayOutput() GetHbaseInstancesInstanceListTagArrayOutput { + return i.ToGetHbaseInstancesInstanceListTagArrayOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListTagArray) ToGetHbaseInstancesInstanceListTagArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListTagArrayOutput) +} + +type GetHbaseInstancesInstanceListTagOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceListTag)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListTagOutput) ToGetHbaseInstancesInstanceListTagOutput() GetHbaseInstancesInstanceListTagOutput { + return o +} + +func (o GetHbaseInstancesInstanceListTagOutput) ToGetHbaseInstancesInstanceListTagOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListTagOutput { + return o +} + +// Tag key. +func (o GetHbaseInstancesInstanceListTagOutput) TagKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceListTag) *string { return v.TagKey }).(pulumi.StringPtrOutput) +} + +// Tag value. +func (o GetHbaseInstancesInstanceListTagOutput) TagValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceListTag) *string { return v.TagValue }).(pulumi.StringPtrOutput) +} + +type GetHbaseInstancesInstanceListTagArrayOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceListTag)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListTagArrayOutput) ToGetHbaseInstancesInstanceListTagArrayOutput() GetHbaseInstancesInstanceListTagArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListTagArrayOutput) ToGetHbaseInstancesInstanceListTagArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListTagArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListTagArrayOutput) Index(i pulumi.IntInput) GetHbaseInstancesInstanceListTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetHbaseInstancesInstanceListTag { + return vs[0].([]GetHbaseInstancesInstanceListTag)[vs[1].(int)] + }).(GetHbaseInstancesInstanceListTagOutput) +} + +type GetHbaseInstancesInstanceListZoneSetting struct { + // Number of nodes. + NodeNum int `pulumi:"nodeNum"` + // Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + VpcSettings []GetHbaseInstancesInstanceListZoneSettingVpcSetting `pulumi:"vpcSettings"` + // Primary Availability Zone Name. + Zone string `pulumi:"zone"` +} + +// GetHbaseInstancesInstanceListZoneSettingInput is an input type that accepts GetHbaseInstancesInstanceListZoneSettingArgs and GetHbaseInstancesInstanceListZoneSettingOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListZoneSettingInput` via: +// +// GetHbaseInstancesInstanceListZoneSettingArgs{...} +type GetHbaseInstancesInstanceListZoneSettingInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListZoneSettingOutput() GetHbaseInstancesInstanceListZoneSettingOutput + ToGetHbaseInstancesInstanceListZoneSettingOutputWithContext(context.Context) GetHbaseInstancesInstanceListZoneSettingOutput +} + +type GetHbaseInstancesInstanceListZoneSettingArgs struct { + // Number of nodes. + NodeNum pulumi.IntInput `pulumi:"nodeNum"` + // Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + VpcSettings GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayInput `pulumi:"vpcSettings"` + // Primary Availability Zone Name. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetHbaseInstancesInstanceListZoneSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSetting)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListZoneSettingArgs) ToGetHbaseInstancesInstanceListZoneSettingOutput() GetHbaseInstancesInstanceListZoneSettingOutput { + return i.ToGetHbaseInstancesInstanceListZoneSettingOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListZoneSettingArgs) ToGetHbaseInstancesInstanceListZoneSettingOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListZoneSettingOutput) +} + +// GetHbaseInstancesInstanceListZoneSettingArrayInput is an input type that accepts GetHbaseInstancesInstanceListZoneSettingArray and GetHbaseInstancesInstanceListZoneSettingArrayOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListZoneSettingArrayInput` via: +// +// GetHbaseInstancesInstanceListZoneSettingArray{ GetHbaseInstancesInstanceListZoneSettingArgs{...} } +type GetHbaseInstancesInstanceListZoneSettingArrayInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListZoneSettingArrayOutput() GetHbaseInstancesInstanceListZoneSettingArrayOutput + ToGetHbaseInstancesInstanceListZoneSettingArrayOutputWithContext(context.Context) GetHbaseInstancesInstanceListZoneSettingArrayOutput +} + +type GetHbaseInstancesInstanceListZoneSettingArray []GetHbaseInstancesInstanceListZoneSettingInput + +func (GetHbaseInstancesInstanceListZoneSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceListZoneSetting)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListZoneSettingArray) ToGetHbaseInstancesInstanceListZoneSettingArrayOutput() GetHbaseInstancesInstanceListZoneSettingArrayOutput { + return i.ToGetHbaseInstancesInstanceListZoneSettingArrayOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListZoneSettingArray) ToGetHbaseInstancesInstanceListZoneSettingArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListZoneSettingArrayOutput) +} + +type GetHbaseInstancesInstanceListZoneSettingOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListZoneSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSetting)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListZoneSettingOutput) ToGetHbaseInstancesInstanceListZoneSettingOutput() GetHbaseInstancesInstanceListZoneSettingOutput { + return o +} + +func (o GetHbaseInstancesInstanceListZoneSettingOutput) ToGetHbaseInstancesInstanceListZoneSettingOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingOutput { + return o +} + +// Number of nodes. +func (o GetHbaseInstancesInstanceListZoneSettingOutput) NodeNum() pulumi.IntOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceListZoneSetting) int { return v.NodeNum }).(pulumi.IntOutput) +} + +// Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. +func (o GetHbaseInstancesInstanceListZoneSettingOutput) VpcSettings() GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceListZoneSetting) []GetHbaseInstancesInstanceListZoneSettingVpcSetting { + return v.VpcSettings + }).(GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput) +} + +// Primary Availability Zone Name. +func (o GetHbaseInstancesInstanceListZoneSettingOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceListZoneSetting) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetHbaseInstancesInstanceListZoneSettingArrayOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListZoneSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceListZoneSetting)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListZoneSettingArrayOutput) ToGetHbaseInstancesInstanceListZoneSettingArrayOutput() GetHbaseInstancesInstanceListZoneSettingArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListZoneSettingArrayOutput) ToGetHbaseInstancesInstanceListZoneSettingArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListZoneSettingArrayOutput) Index(i pulumi.IntInput) GetHbaseInstancesInstanceListZoneSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetHbaseInstancesInstanceListZoneSetting { + return vs[0].([]GetHbaseInstancesInstanceListZoneSetting)[vs[1].(int)] + }).(GetHbaseInstancesInstanceListZoneSettingOutput) +} + +type GetHbaseInstancesInstanceListZoneSettingVpcSetting struct { + // Subnet ID. + SubnetId string `pulumi:"subnetId"` + // VPC ID. + VpcId string `pulumi:"vpcId"` +} + +// GetHbaseInstancesInstanceListZoneSettingVpcSettingInput is an input type that accepts GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs and GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListZoneSettingVpcSettingInput` via: +// +// GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs{...} +type GetHbaseInstancesInstanceListZoneSettingVpcSettingInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListZoneSettingVpcSettingOutput() GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput + ToGetHbaseInstancesInstanceListZoneSettingVpcSettingOutputWithContext(context.Context) GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput +} + +type GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs struct { + // Subnet ID. + SubnetId pulumi.StringInput `pulumi:"subnetId"` + // VPC ID. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSettingVpcSetting)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingOutput() GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput { + return i.ToGetHbaseInstancesInstanceListZoneSettingVpcSettingOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput) +} + +// GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayInput is an input type that accepts GetHbaseInstancesInstanceListZoneSettingVpcSettingArray and GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput values. +// You can construct a concrete instance of `GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayInput` via: +// +// GetHbaseInstancesInstanceListZoneSettingVpcSettingArray{ GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs{...} } +type GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayInput interface { + pulumi.Input + + ToGetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput() GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput + ToGetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutputWithContext(context.Context) GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput +} + +type GetHbaseInstancesInstanceListZoneSettingVpcSettingArray []GetHbaseInstancesInstanceListZoneSettingVpcSettingInput + +func (GetHbaseInstancesInstanceListZoneSettingVpcSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceListZoneSettingVpcSetting)(nil)).Elem() +} + +func (i GetHbaseInstancesInstanceListZoneSettingVpcSettingArray) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput() GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput { + return i.ToGetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutputWithContext(context.Background()) +} + +func (i GetHbaseInstancesInstanceListZoneSettingVpcSettingArray) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput) +} + +type GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSettingVpcSetting)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingOutput() GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput { + return o +} + +func (o GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput { + return o +} + +// Subnet ID. +func (o GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceListZoneSettingVpcSetting) string { return v.SubnetId }).(pulumi.StringOutput) +} + +// VPC ID. +func (o GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v GetHbaseInstancesInstanceListZoneSettingVpcSetting) string { return v.VpcId }).(pulumi.StringOutput) +} + +type GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput struct{ *pulumi.OutputState } + +func (GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetHbaseInstancesInstanceListZoneSettingVpcSetting)(nil)).Elem() +} + +func (o GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput() GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput) ToGetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutputWithContext(ctx context.Context) GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput { + return o +} + +func (o GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput) Index(i pulumi.IntInput) GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetHbaseInstancesInstanceListZoneSettingVpcSetting { + return vs[0].([]GetHbaseInstancesInstanceListZoneSettingVpcSetting)[vs[1].(int)] + }).(GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceTagInput)(nil)).Elem(), HbaseInstanceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceTagArrayInput)(nil)).Elem(), HbaseInstanceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceZoneSettingInput)(nil)).Elem(), HbaseInstanceZoneSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceZoneSettingArrayInput)(nil)).Elem(), HbaseInstanceZoneSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HbaseInstanceZoneSettingVpcSettingsInput)(nil)).Elem(), HbaseInstanceZoneSettingVpcSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesFilterInput)(nil)).Elem(), GetHbaseInstancesFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesFilterArrayInput)(nil)).Elem(), GetHbaseInstancesFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListInput)(nil)).Elem(), GetHbaseInstancesInstanceListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListArrayInput)(nil)).Elem(), GetHbaseInstancesInstanceListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListTagInput)(nil)).Elem(), GetHbaseInstancesInstanceListTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListTagArrayInput)(nil)).Elem(), GetHbaseInstancesInstanceListTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSettingInput)(nil)).Elem(), GetHbaseInstancesInstanceListZoneSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSettingArrayInput)(nil)).Elem(), GetHbaseInstancesInstanceListZoneSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSettingVpcSettingInput)(nil)).Elem(), GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayInput)(nil)).Elem(), GetHbaseInstancesInstanceListZoneSettingVpcSettingArray{}) + pulumi.RegisterOutputType(HbaseInstanceTagOutput{}) + pulumi.RegisterOutputType(HbaseInstanceTagArrayOutput{}) + pulumi.RegisterOutputType(HbaseInstanceZoneSettingOutput{}) + pulumi.RegisterOutputType(HbaseInstanceZoneSettingArrayOutput{}) + pulumi.RegisterOutputType(HbaseInstanceZoneSettingVpcSettingsOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesFilterOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesFilterArrayOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListArrayOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListTagOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListTagArrayOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListZoneSettingOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListZoneSettingArrayOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListZoneSettingVpcSettingOutput{}) + pulumi.RegisterOutputType(GetHbaseInstancesInstanceListZoneSettingVpcSettingArrayOutput{}) +} diff --git a/sdk/go/tencentcloud/mongodb/instance.go b/sdk/go/tencentcloud/mongodb/instance.go index fec39b49c..8c4328f70 100644 --- a/sdk/go/tencentcloud/mongodb/instance.go +++ b/sdk/go/tencentcloud/mongodb/instance.go @@ -85,6 +85,12 @@ type Instance struct { InstanceName pulumi.StringOutput `pulumi:"instanceName"` // Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). MachineType pulumi.StringOutput `pulumi:"machineType"` + // Maintenance window end time. + // - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + // - The end time must be based on the start time backwards. + MaintenanceEnd pulumi.StringOutput `pulumi:"maintenanceEnd"` + // Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + MaintenanceStart pulumi.StringOutput `pulumi:"maintenanceStart"` // Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. Memory pulumi.IntOutput `pulumi:"memory"` // The number of nodes in each replica set. Default value: 3. @@ -196,6 +202,12 @@ type instanceState struct { InstanceName *string `pulumi:"instanceName"` // Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). MachineType *string `pulumi:"machineType"` + // Maintenance window end time. + // - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + // - The end time must be based on the start time backwards. + MaintenanceEnd *string `pulumi:"maintenanceEnd"` + // Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + MaintenanceStart *string `pulumi:"maintenanceStart"` // Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. Memory *int `pulumi:"memory"` // The number of nodes in each replica set. Default value: 3. @@ -253,6 +265,12 @@ type InstanceState struct { InstanceName pulumi.StringPtrInput // Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). MachineType pulumi.StringPtrInput + // Maintenance window end time. + // - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + // - The end time must be based on the start time backwards. + MaintenanceEnd pulumi.StringPtrInput + // Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + MaintenanceStart pulumi.StringPtrInput // Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. Memory pulumi.IntPtrInput // The number of nodes in each replica set. Default value: 3. @@ -312,6 +330,12 @@ type instanceArgs struct { InstanceName string `pulumi:"instanceName"` // Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). MachineType string `pulumi:"machineType"` + // Maintenance window end time. + // - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + // - The end time must be based on the start time backwards. + MaintenanceEnd *string `pulumi:"maintenanceEnd"` + // Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + MaintenanceStart *string `pulumi:"maintenanceStart"` // Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. Memory int `pulumi:"memory"` // The number of nodes in each replica set. Default value: 3. @@ -360,6 +384,12 @@ type InstanceArgs struct { InstanceName pulumi.StringInput // Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). MachineType pulumi.StringInput + // Maintenance window end time. + // - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + // - The end time must be based on the start time backwards. + MaintenanceEnd pulumi.StringPtrInput + // Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + MaintenanceStart pulumi.StringPtrInput // Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. Memory pulumi.IntInput // The number of nodes in each replica set. Default value: 3. @@ -525,6 +555,18 @@ func (o InstanceOutput) MachineType() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MachineType }).(pulumi.StringOutput) } +// Maintenance window end time. +// - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. +// - The end time must be based on the start time backwards. +func (o InstanceOutput) MaintenanceEnd() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MaintenanceEnd }).(pulumi.StringOutput) +} + +// Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. +func (o InstanceOutput) MaintenanceStart() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MaintenanceStart }).(pulumi.StringOutput) +} + // Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. func (o InstanceOutput) Memory() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.Memory }).(pulumi.IntOutput) diff --git a/sdk/go/tencentcloud/monitor/getTmpInstances.go b/sdk/go/tencentcloud/monitor/getTmpInstances.go new file mode 100644 index 000000000..2396f9c5a --- /dev/null +++ b/sdk/go/tencentcloud/monitor/getTmpInstances.go @@ -0,0 +1,235 @@ +// 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 monitor + +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 monitor tmp instances +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Monitor.GetTmpInstances(ctx, &monitor.GetTmpInstancesArgs{ +// InstanceIds: []string{ +// "prom-xxxxxx", +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetTmpInstances(ctx *pulumi.Context, args *GetTmpInstancesArgs, opts ...pulumi.InvokeOption) (*GetTmpInstancesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetTmpInstancesResult + err := ctx.Invoke("tencentcloud:Monitor/getTmpInstances:getTmpInstances", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTmpInstances. +type GetTmpInstancesArgs struct { + // Filter according to instance charge type. + // - 2: Prepaid; + // - 3: Postpaid by hour. + InstanceChargeType *int `pulumi:"instanceChargeType"` + // Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + InstanceIds []string `pulumi:"instanceIds"` + // Filter according to instance name. + InstanceName *string `pulumi:"instanceName"` + // Filter according to instance status. + // - 1: Creating; + // - 2: In operation; + // - 3: Abnormal; + // - 4: Reconstruction; + // - 5: Destruction; + // - 6: Stopped taking; + // - 8: Suspension of service due to arrears; + // - 9: Service has been suspended due to arrears. + InstanceStatuses []int `pulumi:"instanceStatuses"` + // Filter according to ipv4 address. + Ipv4Addresses []string `pulumi:"ipv4Addresses"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + TagFilters []GetTmpInstancesTagFilter `pulumi:"tagFilters"` + // Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + Zones []string `pulumi:"zones"` +} + +// A collection of values returned by getTmpInstances. +type GetTmpInstancesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Instance charge type. + // - 2: Prepaid; + // - 3: Postpaid by hour. + InstanceChargeType *int `pulumi:"instanceChargeType"` + InstanceIds []string `pulumi:"instanceIds"` + // Instance name. + InstanceName *string `pulumi:"instanceName"` + // Instance details list. + InstanceSets []GetTmpInstancesInstanceSet `pulumi:"instanceSets"` + // Filter according to instance status. + // - 1: Creating; + // - 2: In operation; + // - 3: Abnormal; + // - 4: Reconstruction; + // - 5: Destruction; + // - 6: Stopped taking; + // - 8: Suspension of service due to arrears; + // - 9: Service has been suspended due to arrears. + InstanceStatuses []int `pulumi:"instanceStatuses"` + // IPV4 address. + Ipv4Addresses []string `pulumi:"ipv4Addresses"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + TagFilters []GetTmpInstancesTagFilter `pulumi:"tagFilters"` + Zones []string `pulumi:"zones"` +} + +func GetTmpInstancesOutput(ctx *pulumi.Context, args GetTmpInstancesOutputArgs, opts ...pulumi.InvokeOption) GetTmpInstancesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetTmpInstancesResult, error) { + args := v.(GetTmpInstancesArgs) + r, err := GetTmpInstances(ctx, &args, opts...) + var s GetTmpInstancesResult + if r != nil { + s = *r + } + return s, err + }).(GetTmpInstancesResultOutput) +} + +// A collection of arguments for invoking getTmpInstances. +type GetTmpInstancesOutputArgs struct { + // Filter according to instance charge type. + // - 2: Prepaid; + // - 3: Postpaid by hour. + InstanceChargeType pulumi.IntPtrInput `pulumi:"instanceChargeType"` + // Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"` + // Filter according to instance name. + InstanceName pulumi.StringPtrInput `pulumi:"instanceName"` + // Filter according to instance status. + // - 1: Creating; + // - 2: In operation; + // - 3: Abnormal; + // - 4: Reconstruction; + // - 5: Destruction; + // - 6: Stopped taking; + // - 8: Suspension of service due to arrears; + // - 9: Service has been suspended due to arrears. + InstanceStatuses pulumi.IntArrayInput `pulumi:"instanceStatuses"` + // Filter according to ipv4 address. + Ipv4Addresses pulumi.StringArrayInput `pulumi:"ipv4Addresses"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + TagFilters GetTmpInstancesTagFilterArrayInput `pulumi:"tagFilters"` + // Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + Zones pulumi.StringArrayInput `pulumi:"zones"` +} + +func (GetTmpInstancesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesArgs)(nil)).Elem() +} + +// A collection of values returned by getTmpInstances. +type GetTmpInstancesResultOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesResult)(nil)).Elem() +} + +func (o GetTmpInstancesResultOutput) ToGetTmpInstancesResultOutput() GetTmpInstancesResultOutput { + return o +} + +func (o GetTmpInstancesResultOutput) ToGetTmpInstancesResultOutputWithContext(ctx context.Context) GetTmpInstancesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTmpInstancesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Instance charge type. +// - 2: Prepaid; +// - 3: Postpaid by hour. +func (o GetTmpInstancesResultOutput) InstanceChargeType() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetTmpInstancesResult) *int { return v.InstanceChargeType }).(pulumi.IntPtrOutput) +} + +func (o GetTmpInstancesResultOutput) InstanceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTmpInstancesResult) []string { return v.InstanceIds }).(pulumi.StringArrayOutput) +} + +// Instance name. +func (o GetTmpInstancesResultOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTmpInstancesResult) *string { return v.InstanceName }).(pulumi.StringPtrOutput) +} + +// Instance details list. +func (o GetTmpInstancesResultOutput) InstanceSets() GetTmpInstancesInstanceSetArrayOutput { + return o.ApplyT(func(v GetTmpInstancesResult) []GetTmpInstancesInstanceSet { return v.InstanceSets }).(GetTmpInstancesInstanceSetArrayOutput) +} + +// Filter according to instance status. +// - 1: Creating; +// - 2: In operation; +// - 3: Abnormal; +// - 4: Reconstruction; +// - 5: Destruction; +// - 6: Stopped taking; +// - 8: Suspension of service due to arrears; +// - 9: Service has been suspended due to arrears. +func (o GetTmpInstancesResultOutput) InstanceStatuses() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetTmpInstancesResult) []int { return v.InstanceStatuses }).(pulumi.IntArrayOutput) +} + +// IPV4 address. +func (o GetTmpInstancesResultOutput) Ipv4Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTmpInstancesResult) []string { return v.Ipv4Addresses }).(pulumi.StringArrayOutput) +} + +func (o GetTmpInstancesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetTmpInstancesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetTmpInstancesResultOutput) TagFilters() GetTmpInstancesTagFilterArrayOutput { + return o.ApplyT(func(v GetTmpInstancesResult) []GetTmpInstancesTagFilter { return v.TagFilters }).(GetTmpInstancesTagFilterArrayOutput) +} + +func (o GetTmpInstancesResultOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTmpInstancesResult) []string { return v.Zones }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTmpInstancesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/monitor/pulumiTypes.go b/sdk/go/tencentcloud/monitor/pulumiTypes.go index 2a68cc479..539d7e4a2 100644 --- a/sdk/go/tencentcloud/monitor/pulumiTypes.go +++ b/sdk/go/tencentcloud/monitor/pulumiTypes.go @@ -18572,6 +18572,819 @@ func (o GetStatisticDataDataPointValueArrayOutput) Index(i pulumi.IntInput) GetS }).(GetStatisticDataDataPointValueOutput) } +type GetTmpInstancesInstanceSet struct { + // Alert rule limit. + AlertRuleLimit int `pulumi:"alertRuleLimit"` + // Prometheus http api root address. + ApiRootPath string `pulumi:"apiRootPath"` + // Token required for data writing. + AuthToken string `pulumi:"authToken"` + // Automatic renewal flag. + // - 0: No automatic renewal; + // - 1: Enable automatic renewal; + // - 2: Automatic renewal is prohibited; + // - -1: Invalid. + AutoRenewFlag int `pulumi:"autoRenewFlag"` + // Charge status. + // - 1: Normal; + // - 2: Expires; + // - 3: Destruction; + // - 4: Allocation; + // - 5: Allocation failed. + ChargeStatus int `pulumi:"chargeStatus"` + // Created_at. + CreatedAt string `pulumi:"createdAt"` + // Data retention time. + DataRetentionTime int `pulumi:"dataRetentionTime"` + // Whether to enable grafana. + // - 0: closed; + // - 1: open. + EnableGrafana int `pulumi:"enableGrafana"` + // Expires for purchased instances. + ExpireTime string `pulumi:"expireTime"` + // Binding grafana instance id. + GrafanaInstanceId string `pulumi:"grafanaInstanceId"` + // Grafana IP whitelist list. + GrafanaIpWhiteList string `pulumi:"grafanaIpWhiteList"` + // Grafana status. + // - 1: Creating; + // - 2: In operation; + // - 3: Abnormal; + // - 4: Rebooting; + // - 5: Destruction; + // - 6: Shutdown; + // - 7: Deleted. + GrafanaStatus int `pulumi:"grafanaStatus"` + // Grafana panel url. + GrafanaUrl string `pulumi:"grafanaUrl"` + // Authorization information for the instance. + Grants []GetTmpInstancesInstanceSetGrant `pulumi:"grants"` + // Filter according to instance charge type. + // - 2: Prepaid; + // - 3: Postpaid by hour. + InstanceChargeType int `pulumi:"instanceChargeType"` + // Instance id. + InstanceId string `pulumi:"instanceId"` + // Filter according to instance name. + InstanceName string `pulumi:"instanceName"` + // Filter according to instance status. + // - 1: Creating; + // - 2: In operation; + // - 3: Abnormal; + // - 4: Reconstruction; + // - 5: Destruction; + // - 6: Stopped taking; + // - 8: Suspension of service due to arrears; + // - 9: Service has been suspended due to arrears. + InstanceStatus int `pulumi:"instanceStatus"` + // Filter according to ipv4 address. + Ipv4Address string `pulumi:"ipv4Address"` + // Whether it is about to expire. + // - 0: No; + // - 1: Expiring soon. + IsNearExpire int `pulumi:"isNearExpire"` + // Migration status. + // - 0: Not in migration; + // + - 1: Migrating, original instance; + // + - 2: Migrating, target instance. + MigrationType int `pulumi:"migrationType"` + // Proxy address. + ProxyAddress string `pulumi:"proxyAddress"` + // Pre-aggregation rule limitations. + RecordingRuleLimit int `pulumi:"recordingRuleLimit"` + // Region id. + RegionId int `pulumi:"regionId"` + // Address of prometheus remote write. + RemoteWrite string `pulumi:"remoteWrite"` + // Specification name. + SpecName string `pulumi:"specName"` + // Subnet id. + SubnetId string `pulumi:"subnetId"` + // List of tags associated with the instance. + TagSpecifications []GetTmpInstancesInstanceSetTagSpecification `pulumi:"tagSpecifications"` + // VPC id. + VpcId string `pulumi:"vpcId"` + // Zone. + Zone string `pulumi:"zone"` +} + +// GetTmpInstancesInstanceSetInput is an input type that accepts GetTmpInstancesInstanceSetArgs and GetTmpInstancesInstanceSetOutput values. +// You can construct a concrete instance of `GetTmpInstancesInstanceSetInput` via: +// +// GetTmpInstancesInstanceSetArgs{...} +type GetTmpInstancesInstanceSetInput interface { + pulumi.Input + + ToGetTmpInstancesInstanceSetOutput() GetTmpInstancesInstanceSetOutput + ToGetTmpInstancesInstanceSetOutputWithContext(context.Context) GetTmpInstancesInstanceSetOutput +} + +type GetTmpInstancesInstanceSetArgs struct { + // Alert rule limit. + AlertRuleLimit pulumi.IntInput `pulumi:"alertRuleLimit"` + // Prometheus http api root address. + ApiRootPath pulumi.StringInput `pulumi:"apiRootPath"` + // Token required for data writing. + AuthToken pulumi.StringInput `pulumi:"authToken"` + // Automatic renewal flag. + // - 0: No automatic renewal; + // - 1: Enable automatic renewal; + // - 2: Automatic renewal is prohibited; + // - -1: Invalid. + AutoRenewFlag pulumi.IntInput `pulumi:"autoRenewFlag"` + // Charge status. + // - 1: Normal; + // - 2: Expires; + // - 3: Destruction; + // - 4: Allocation; + // - 5: Allocation failed. + ChargeStatus pulumi.IntInput `pulumi:"chargeStatus"` + // Created_at. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Data retention time. + DataRetentionTime pulumi.IntInput `pulumi:"dataRetentionTime"` + // Whether to enable grafana. + // - 0: closed; + // - 1: open. + EnableGrafana pulumi.IntInput `pulumi:"enableGrafana"` + // Expires for purchased instances. + ExpireTime pulumi.StringInput `pulumi:"expireTime"` + // Binding grafana instance id. + GrafanaInstanceId pulumi.StringInput `pulumi:"grafanaInstanceId"` + // Grafana IP whitelist list. + GrafanaIpWhiteList pulumi.StringInput `pulumi:"grafanaIpWhiteList"` + // Grafana status. + // - 1: Creating; + // - 2: In operation; + // - 3: Abnormal; + // - 4: Rebooting; + // - 5: Destruction; + // - 6: Shutdown; + // - 7: Deleted. + GrafanaStatus pulumi.IntInput `pulumi:"grafanaStatus"` + // Grafana panel url. + GrafanaUrl pulumi.StringInput `pulumi:"grafanaUrl"` + // Authorization information for the instance. + Grants GetTmpInstancesInstanceSetGrantArrayInput `pulumi:"grants"` + // Filter according to instance charge type. + // - 2: Prepaid; + // - 3: Postpaid by hour. + InstanceChargeType pulumi.IntInput `pulumi:"instanceChargeType"` + // Instance id. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Filter according to instance name. + InstanceName pulumi.StringInput `pulumi:"instanceName"` + // Filter according to instance status. + // - 1: Creating; + // - 2: In operation; + // - 3: Abnormal; + // - 4: Reconstruction; + // - 5: Destruction; + // - 6: Stopped taking; + // - 8: Suspension of service due to arrears; + // - 9: Service has been suspended due to arrears. + InstanceStatus pulumi.IntInput `pulumi:"instanceStatus"` + // Filter according to ipv4 address. + Ipv4Address pulumi.StringInput `pulumi:"ipv4Address"` + // Whether it is about to expire. + // - 0: No; + // - 1: Expiring soon. + IsNearExpire pulumi.IntInput `pulumi:"isNearExpire"` + // Migration status. + // - 0: Not in migration; + // + - 1: Migrating, original instance; + // + - 2: Migrating, target instance. + MigrationType pulumi.IntInput `pulumi:"migrationType"` + // Proxy address. + ProxyAddress pulumi.StringInput `pulumi:"proxyAddress"` + // Pre-aggregation rule limitations. + RecordingRuleLimit pulumi.IntInput `pulumi:"recordingRuleLimit"` + // Region id. + RegionId pulumi.IntInput `pulumi:"regionId"` + // Address of prometheus remote write. + RemoteWrite pulumi.StringInput `pulumi:"remoteWrite"` + // Specification name. + SpecName pulumi.StringInput `pulumi:"specName"` + // Subnet id. + SubnetId pulumi.StringInput `pulumi:"subnetId"` + // List of tags associated with the instance. + TagSpecifications GetTmpInstancesInstanceSetTagSpecificationArrayInput `pulumi:"tagSpecifications"` + // VPC id. + VpcId pulumi.StringInput `pulumi:"vpcId"` + // Zone. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (GetTmpInstancesInstanceSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesInstanceSet)(nil)).Elem() +} + +func (i GetTmpInstancesInstanceSetArgs) ToGetTmpInstancesInstanceSetOutput() GetTmpInstancesInstanceSetOutput { + return i.ToGetTmpInstancesInstanceSetOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesInstanceSetArgs) ToGetTmpInstancesInstanceSetOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesInstanceSetOutput) +} + +// GetTmpInstancesInstanceSetArrayInput is an input type that accepts GetTmpInstancesInstanceSetArray and GetTmpInstancesInstanceSetArrayOutput values. +// You can construct a concrete instance of `GetTmpInstancesInstanceSetArrayInput` via: +// +// GetTmpInstancesInstanceSetArray{ GetTmpInstancesInstanceSetArgs{...} } +type GetTmpInstancesInstanceSetArrayInput interface { + pulumi.Input + + ToGetTmpInstancesInstanceSetArrayOutput() GetTmpInstancesInstanceSetArrayOutput + ToGetTmpInstancesInstanceSetArrayOutputWithContext(context.Context) GetTmpInstancesInstanceSetArrayOutput +} + +type GetTmpInstancesInstanceSetArray []GetTmpInstancesInstanceSetInput + +func (GetTmpInstancesInstanceSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesInstanceSet)(nil)).Elem() +} + +func (i GetTmpInstancesInstanceSetArray) ToGetTmpInstancesInstanceSetArrayOutput() GetTmpInstancesInstanceSetArrayOutput { + return i.ToGetTmpInstancesInstanceSetArrayOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesInstanceSetArray) ToGetTmpInstancesInstanceSetArrayOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesInstanceSetArrayOutput) +} + +type GetTmpInstancesInstanceSetOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesInstanceSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesInstanceSet)(nil)).Elem() +} + +func (o GetTmpInstancesInstanceSetOutput) ToGetTmpInstancesInstanceSetOutput() GetTmpInstancesInstanceSetOutput { + return o +} + +func (o GetTmpInstancesInstanceSetOutput) ToGetTmpInstancesInstanceSetOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetOutput { + return o +} + +// Alert rule limit. +func (o GetTmpInstancesInstanceSetOutput) AlertRuleLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.AlertRuleLimit }).(pulumi.IntOutput) +} + +// Prometheus http api root address. +func (o GetTmpInstancesInstanceSetOutput) ApiRootPath() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.ApiRootPath }).(pulumi.StringOutput) +} + +// Token required for data writing. +func (o GetTmpInstancesInstanceSetOutput) AuthToken() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.AuthToken }).(pulumi.StringOutput) +} + +// Automatic renewal flag. +// - 0: No automatic renewal; +// - 1: Enable automatic renewal; +// - 2: Automatic renewal is prohibited; +// - -1: Invalid. +func (o GetTmpInstancesInstanceSetOutput) AutoRenewFlag() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.AutoRenewFlag }).(pulumi.IntOutput) +} + +// Charge status. +// - 1: Normal; +// - 2: Expires; +// - 3: Destruction; +// - 4: Allocation; +// - 5: Allocation failed. +func (o GetTmpInstancesInstanceSetOutput) ChargeStatus() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.ChargeStatus }).(pulumi.IntOutput) +} + +// Created_at. +func (o GetTmpInstancesInstanceSetOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Data retention time. +func (o GetTmpInstancesInstanceSetOutput) DataRetentionTime() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.DataRetentionTime }).(pulumi.IntOutput) +} + +// Whether to enable grafana. +// - 0: closed; +// - 1: open. +func (o GetTmpInstancesInstanceSetOutput) EnableGrafana() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.EnableGrafana }).(pulumi.IntOutput) +} + +// Expires for purchased instances. +func (o GetTmpInstancesInstanceSetOutput) ExpireTime() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.ExpireTime }).(pulumi.StringOutput) +} + +// Binding grafana instance id. +func (o GetTmpInstancesInstanceSetOutput) GrafanaInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.GrafanaInstanceId }).(pulumi.StringOutput) +} + +// Grafana IP whitelist list. +func (o GetTmpInstancesInstanceSetOutput) GrafanaIpWhiteList() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.GrafanaIpWhiteList }).(pulumi.StringOutput) +} + +// Grafana status. +// - 1: Creating; +// - 2: In operation; +// - 3: Abnormal; +// - 4: Rebooting; +// - 5: Destruction; +// - 6: Shutdown; +// - 7: Deleted. +func (o GetTmpInstancesInstanceSetOutput) GrafanaStatus() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.GrafanaStatus }).(pulumi.IntOutput) +} + +// Grafana panel url. +func (o GetTmpInstancesInstanceSetOutput) GrafanaUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.GrafanaUrl }).(pulumi.StringOutput) +} + +// Authorization information for the instance. +func (o GetTmpInstancesInstanceSetOutput) Grants() GetTmpInstancesInstanceSetGrantArrayOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) []GetTmpInstancesInstanceSetGrant { return v.Grants }).(GetTmpInstancesInstanceSetGrantArrayOutput) +} + +// Filter according to instance charge type. +// - 2: Prepaid; +// - 3: Postpaid by hour. +func (o GetTmpInstancesInstanceSetOutput) InstanceChargeType() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.InstanceChargeType }).(pulumi.IntOutput) +} + +// Instance id. +func (o GetTmpInstancesInstanceSetOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Filter according to instance name. +func (o GetTmpInstancesInstanceSetOutput) InstanceName() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.InstanceName }).(pulumi.StringOutput) +} + +// Filter according to instance status. +// - 1: Creating; +// - 2: In operation; +// - 3: Abnormal; +// - 4: Reconstruction; +// - 5: Destruction; +// - 6: Stopped taking; +// - 8: Suspension of service due to arrears; +// - 9: Service has been suspended due to arrears. +func (o GetTmpInstancesInstanceSetOutput) InstanceStatus() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.InstanceStatus }).(pulumi.IntOutput) +} + +// Filter according to ipv4 address. +func (o GetTmpInstancesInstanceSetOutput) Ipv4Address() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.Ipv4Address }).(pulumi.StringOutput) +} + +// Whether it is about to expire. +// - 0: No; +// - 1: Expiring soon. +func (o GetTmpInstancesInstanceSetOutput) IsNearExpire() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.IsNearExpire }).(pulumi.IntOutput) +} + +// Migration status. +// - 0: Not in migration; +// + - 1: Migrating, original instance; +// + - 2: Migrating, target instance. +func (o GetTmpInstancesInstanceSetOutput) MigrationType() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.MigrationType }).(pulumi.IntOutput) +} + +// Proxy address. +func (o GetTmpInstancesInstanceSetOutput) ProxyAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.ProxyAddress }).(pulumi.StringOutput) +} + +// Pre-aggregation rule limitations. +func (o GetTmpInstancesInstanceSetOutput) RecordingRuleLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.RecordingRuleLimit }).(pulumi.IntOutput) +} + +// Region id. +func (o GetTmpInstancesInstanceSetOutput) RegionId() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) int { return v.RegionId }).(pulumi.IntOutput) +} + +// Address of prometheus remote write. +func (o GetTmpInstancesInstanceSetOutput) RemoteWrite() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.RemoteWrite }).(pulumi.StringOutput) +} + +// Specification name. +func (o GetTmpInstancesInstanceSetOutput) SpecName() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.SpecName }).(pulumi.StringOutput) +} + +// Subnet id. +func (o GetTmpInstancesInstanceSetOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.SubnetId }).(pulumi.StringOutput) +} + +// List of tags associated with the instance. +func (o GetTmpInstancesInstanceSetOutput) TagSpecifications() GetTmpInstancesInstanceSetTagSpecificationArrayOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) []GetTmpInstancesInstanceSetTagSpecification { + return v.TagSpecifications + }).(GetTmpInstancesInstanceSetTagSpecificationArrayOutput) +} + +// VPC id. +func (o GetTmpInstancesInstanceSetOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.VpcId }).(pulumi.StringOutput) +} + +// Zone. +func (o GetTmpInstancesInstanceSetOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSet) string { return v.Zone }).(pulumi.StringOutput) +} + +type GetTmpInstancesInstanceSetArrayOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesInstanceSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesInstanceSet)(nil)).Elem() +} + +func (o GetTmpInstancesInstanceSetArrayOutput) ToGetTmpInstancesInstanceSetArrayOutput() GetTmpInstancesInstanceSetArrayOutput { + return o +} + +func (o GetTmpInstancesInstanceSetArrayOutput) ToGetTmpInstancesInstanceSetArrayOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetArrayOutput { + return o +} + +func (o GetTmpInstancesInstanceSetArrayOutput) Index(i pulumi.IntInput) GetTmpInstancesInstanceSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTmpInstancesInstanceSet { + return vs[0].([]GetTmpInstancesInstanceSet)[vs[1].(int)] + }).(GetTmpInstancesInstanceSetOutput) +} + +type GetTmpInstancesInstanceSetGrant struct { + // Whether you have permission to manage the agent (1=yes, 2=no). + HasAgentManage int `pulumi:"hasAgentManage"` + // Whether to display API and other information (1=yes, 2=no). + HasApiOperation int `pulumi:"hasApiOperation"` + // Whether you have charging operation authority (1=yes, 2=no). + HasChargeOperation int `pulumi:"hasChargeOperation"` + // Whether the status of Grafana can be modified (1=yes, 2=no). + HasGrafanaStatusChange int `pulumi:"hasGrafanaStatusChange"` + // Whether you have permission to manage TKE integration (1=yes, 2=no). + HasTkeManage int `pulumi:"hasTkeManage"` + // Whether to display VPC information (1=yes, 2=no). + HasVpcDisplay int `pulumi:"hasVpcDisplay"` +} + +// GetTmpInstancesInstanceSetGrantInput is an input type that accepts GetTmpInstancesInstanceSetGrantArgs and GetTmpInstancesInstanceSetGrantOutput values. +// You can construct a concrete instance of `GetTmpInstancesInstanceSetGrantInput` via: +// +// GetTmpInstancesInstanceSetGrantArgs{...} +type GetTmpInstancesInstanceSetGrantInput interface { + pulumi.Input + + ToGetTmpInstancesInstanceSetGrantOutput() GetTmpInstancesInstanceSetGrantOutput + ToGetTmpInstancesInstanceSetGrantOutputWithContext(context.Context) GetTmpInstancesInstanceSetGrantOutput +} + +type GetTmpInstancesInstanceSetGrantArgs struct { + // Whether you have permission to manage the agent (1=yes, 2=no). + HasAgentManage pulumi.IntInput `pulumi:"hasAgentManage"` + // Whether to display API and other information (1=yes, 2=no). + HasApiOperation pulumi.IntInput `pulumi:"hasApiOperation"` + // Whether you have charging operation authority (1=yes, 2=no). + HasChargeOperation pulumi.IntInput `pulumi:"hasChargeOperation"` + // Whether the status of Grafana can be modified (1=yes, 2=no). + HasGrafanaStatusChange pulumi.IntInput `pulumi:"hasGrafanaStatusChange"` + // Whether you have permission to manage TKE integration (1=yes, 2=no). + HasTkeManage pulumi.IntInput `pulumi:"hasTkeManage"` + // Whether to display VPC information (1=yes, 2=no). + HasVpcDisplay pulumi.IntInput `pulumi:"hasVpcDisplay"` +} + +func (GetTmpInstancesInstanceSetGrantArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesInstanceSetGrant)(nil)).Elem() +} + +func (i GetTmpInstancesInstanceSetGrantArgs) ToGetTmpInstancesInstanceSetGrantOutput() GetTmpInstancesInstanceSetGrantOutput { + return i.ToGetTmpInstancesInstanceSetGrantOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesInstanceSetGrantArgs) ToGetTmpInstancesInstanceSetGrantOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetGrantOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesInstanceSetGrantOutput) +} + +// GetTmpInstancesInstanceSetGrantArrayInput is an input type that accepts GetTmpInstancesInstanceSetGrantArray and GetTmpInstancesInstanceSetGrantArrayOutput values. +// You can construct a concrete instance of `GetTmpInstancesInstanceSetGrantArrayInput` via: +// +// GetTmpInstancesInstanceSetGrantArray{ GetTmpInstancesInstanceSetGrantArgs{...} } +type GetTmpInstancesInstanceSetGrantArrayInput interface { + pulumi.Input + + ToGetTmpInstancesInstanceSetGrantArrayOutput() GetTmpInstancesInstanceSetGrantArrayOutput + ToGetTmpInstancesInstanceSetGrantArrayOutputWithContext(context.Context) GetTmpInstancesInstanceSetGrantArrayOutput +} + +type GetTmpInstancesInstanceSetGrantArray []GetTmpInstancesInstanceSetGrantInput + +func (GetTmpInstancesInstanceSetGrantArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesInstanceSetGrant)(nil)).Elem() +} + +func (i GetTmpInstancesInstanceSetGrantArray) ToGetTmpInstancesInstanceSetGrantArrayOutput() GetTmpInstancesInstanceSetGrantArrayOutput { + return i.ToGetTmpInstancesInstanceSetGrantArrayOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesInstanceSetGrantArray) ToGetTmpInstancesInstanceSetGrantArrayOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetGrantArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesInstanceSetGrantArrayOutput) +} + +type GetTmpInstancesInstanceSetGrantOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesInstanceSetGrantOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesInstanceSetGrant)(nil)).Elem() +} + +func (o GetTmpInstancesInstanceSetGrantOutput) ToGetTmpInstancesInstanceSetGrantOutput() GetTmpInstancesInstanceSetGrantOutput { + return o +} + +func (o GetTmpInstancesInstanceSetGrantOutput) ToGetTmpInstancesInstanceSetGrantOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetGrantOutput { + return o +} + +// Whether you have permission to manage the agent (1=yes, 2=no). +func (o GetTmpInstancesInstanceSetGrantOutput) HasAgentManage() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetGrant) int { return v.HasAgentManage }).(pulumi.IntOutput) +} + +// Whether to display API and other information (1=yes, 2=no). +func (o GetTmpInstancesInstanceSetGrantOutput) HasApiOperation() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetGrant) int { return v.HasApiOperation }).(pulumi.IntOutput) +} + +// Whether you have charging operation authority (1=yes, 2=no). +func (o GetTmpInstancesInstanceSetGrantOutput) HasChargeOperation() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetGrant) int { return v.HasChargeOperation }).(pulumi.IntOutput) +} + +// Whether the status of Grafana can be modified (1=yes, 2=no). +func (o GetTmpInstancesInstanceSetGrantOutput) HasGrafanaStatusChange() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetGrant) int { return v.HasGrafanaStatusChange }).(pulumi.IntOutput) +} + +// Whether you have permission to manage TKE integration (1=yes, 2=no). +func (o GetTmpInstancesInstanceSetGrantOutput) HasTkeManage() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetGrant) int { return v.HasTkeManage }).(pulumi.IntOutput) +} + +// Whether to display VPC information (1=yes, 2=no). +func (o GetTmpInstancesInstanceSetGrantOutput) HasVpcDisplay() pulumi.IntOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetGrant) int { return v.HasVpcDisplay }).(pulumi.IntOutput) +} + +type GetTmpInstancesInstanceSetGrantArrayOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesInstanceSetGrantArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesInstanceSetGrant)(nil)).Elem() +} + +func (o GetTmpInstancesInstanceSetGrantArrayOutput) ToGetTmpInstancesInstanceSetGrantArrayOutput() GetTmpInstancesInstanceSetGrantArrayOutput { + return o +} + +func (o GetTmpInstancesInstanceSetGrantArrayOutput) ToGetTmpInstancesInstanceSetGrantArrayOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetGrantArrayOutput { + return o +} + +func (o GetTmpInstancesInstanceSetGrantArrayOutput) Index(i pulumi.IntInput) GetTmpInstancesInstanceSetGrantOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTmpInstancesInstanceSetGrant { + return vs[0].([]GetTmpInstancesInstanceSetGrant)[vs[1].(int)] + }).(GetTmpInstancesInstanceSetGrantOutput) +} + +type GetTmpInstancesInstanceSetTagSpecification struct { + // The key of the tag. + Key string `pulumi:"key"` + // The value of the tag. + Value string `pulumi:"value"` +} + +// GetTmpInstancesInstanceSetTagSpecificationInput is an input type that accepts GetTmpInstancesInstanceSetTagSpecificationArgs and GetTmpInstancesInstanceSetTagSpecificationOutput values. +// You can construct a concrete instance of `GetTmpInstancesInstanceSetTagSpecificationInput` via: +// +// GetTmpInstancesInstanceSetTagSpecificationArgs{...} +type GetTmpInstancesInstanceSetTagSpecificationInput interface { + pulumi.Input + + ToGetTmpInstancesInstanceSetTagSpecificationOutput() GetTmpInstancesInstanceSetTagSpecificationOutput + ToGetTmpInstancesInstanceSetTagSpecificationOutputWithContext(context.Context) GetTmpInstancesInstanceSetTagSpecificationOutput +} + +type GetTmpInstancesInstanceSetTagSpecificationArgs struct { + // The key of the tag. + Key pulumi.StringInput `pulumi:"key"` + // The value of the tag. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetTmpInstancesInstanceSetTagSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesInstanceSetTagSpecification)(nil)).Elem() +} + +func (i GetTmpInstancesInstanceSetTagSpecificationArgs) ToGetTmpInstancesInstanceSetTagSpecificationOutput() GetTmpInstancesInstanceSetTagSpecificationOutput { + return i.ToGetTmpInstancesInstanceSetTagSpecificationOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesInstanceSetTagSpecificationArgs) ToGetTmpInstancesInstanceSetTagSpecificationOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetTagSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesInstanceSetTagSpecificationOutput) +} + +// GetTmpInstancesInstanceSetTagSpecificationArrayInput is an input type that accepts GetTmpInstancesInstanceSetTagSpecificationArray and GetTmpInstancesInstanceSetTagSpecificationArrayOutput values. +// You can construct a concrete instance of `GetTmpInstancesInstanceSetTagSpecificationArrayInput` via: +// +// GetTmpInstancesInstanceSetTagSpecificationArray{ GetTmpInstancesInstanceSetTagSpecificationArgs{...} } +type GetTmpInstancesInstanceSetTagSpecificationArrayInput interface { + pulumi.Input + + ToGetTmpInstancesInstanceSetTagSpecificationArrayOutput() GetTmpInstancesInstanceSetTagSpecificationArrayOutput + ToGetTmpInstancesInstanceSetTagSpecificationArrayOutputWithContext(context.Context) GetTmpInstancesInstanceSetTagSpecificationArrayOutput +} + +type GetTmpInstancesInstanceSetTagSpecificationArray []GetTmpInstancesInstanceSetTagSpecificationInput + +func (GetTmpInstancesInstanceSetTagSpecificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesInstanceSetTagSpecification)(nil)).Elem() +} + +func (i GetTmpInstancesInstanceSetTagSpecificationArray) ToGetTmpInstancesInstanceSetTagSpecificationArrayOutput() GetTmpInstancesInstanceSetTagSpecificationArrayOutput { + return i.ToGetTmpInstancesInstanceSetTagSpecificationArrayOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesInstanceSetTagSpecificationArray) ToGetTmpInstancesInstanceSetTagSpecificationArrayOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetTagSpecificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesInstanceSetTagSpecificationArrayOutput) +} + +type GetTmpInstancesInstanceSetTagSpecificationOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesInstanceSetTagSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesInstanceSetTagSpecification)(nil)).Elem() +} + +func (o GetTmpInstancesInstanceSetTagSpecificationOutput) ToGetTmpInstancesInstanceSetTagSpecificationOutput() GetTmpInstancesInstanceSetTagSpecificationOutput { + return o +} + +func (o GetTmpInstancesInstanceSetTagSpecificationOutput) ToGetTmpInstancesInstanceSetTagSpecificationOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetTagSpecificationOutput { + return o +} + +// The key of the tag. +func (o GetTmpInstancesInstanceSetTagSpecificationOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetTagSpecification) string { return v.Key }).(pulumi.StringOutput) +} + +// The value of the tag. +func (o GetTmpInstancesInstanceSetTagSpecificationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesInstanceSetTagSpecification) string { return v.Value }).(pulumi.StringOutput) +} + +type GetTmpInstancesInstanceSetTagSpecificationArrayOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesInstanceSetTagSpecificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesInstanceSetTagSpecification)(nil)).Elem() +} + +func (o GetTmpInstancesInstanceSetTagSpecificationArrayOutput) ToGetTmpInstancesInstanceSetTagSpecificationArrayOutput() GetTmpInstancesInstanceSetTagSpecificationArrayOutput { + return o +} + +func (o GetTmpInstancesInstanceSetTagSpecificationArrayOutput) ToGetTmpInstancesInstanceSetTagSpecificationArrayOutputWithContext(ctx context.Context) GetTmpInstancesInstanceSetTagSpecificationArrayOutput { + return o +} + +func (o GetTmpInstancesInstanceSetTagSpecificationArrayOutput) Index(i pulumi.IntInput) GetTmpInstancesInstanceSetTagSpecificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTmpInstancesInstanceSetTagSpecification { + return vs[0].([]GetTmpInstancesInstanceSetTagSpecification)[vs[1].(int)] + }).(GetTmpInstancesInstanceSetTagSpecificationOutput) +} + +type GetTmpInstancesTagFilter struct { + // The key of the tag. + Key string `pulumi:"key"` + // The value of the tag. + Value string `pulumi:"value"` +} + +// GetTmpInstancesTagFilterInput is an input type that accepts GetTmpInstancesTagFilterArgs and GetTmpInstancesTagFilterOutput values. +// You can construct a concrete instance of `GetTmpInstancesTagFilterInput` via: +// +// GetTmpInstancesTagFilterArgs{...} +type GetTmpInstancesTagFilterInput interface { + pulumi.Input + + ToGetTmpInstancesTagFilterOutput() GetTmpInstancesTagFilterOutput + ToGetTmpInstancesTagFilterOutputWithContext(context.Context) GetTmpInstancesTagFilterOutput +} + +type GetTmpInstancesTagFilterArgs struct { + // The key of the tag. + Key pulumi.StringInput `pulumi:"key"` + // The value of the tag. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetTmpInstancesTagFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesTagFilter)(nil)).Elem() +} + +func (i GetTmpInstancesTagFilterArgs) ToGetTmpInstancesTagFilterOutput() GetTmpInstancesTagFilterOutput { + return i.ToGetTmpInstancesTagFilterOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesTagFilterArgs) ToGetTmpInstancesTagFilterOutputWithContext(ctx context.Context) GetTmpInstancesTagFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesTagFilterOutput) +} + +// GetTmpInstancesTagFilterArrayInput is an input type that accepts GetTmpInstancesTagFilterArray and GetTmpInstancesTagFilterArrayOutput values. +// You can construct a concrete instance of `GetTmpInstancesTagFilterArrayInput` via: +// +// GetTmpInstancesTagFilterArray{ GetTmpInstancesTagFilterArgs{...} } +type GetTmpInstancesTagFilterArrayInput interface { + pulumi.Input + + ToGetTmpInstancesTagFilterArrayOutput() GetTmpInstancesTagFilterArrayOutput + ToGetTmpInstancesTagFilterArrayOutputWithContext(context.Context) GetTmpInstancesTagFilterArrayOutput +} + +type GetTmpInstancesTagFilterArray []GetTmpInstancesTagFilterInput + +func (GetTmpInstancesTagFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesTagFilter)(nil)).Elem() +} + +func (i GetTmpInstancesTagFilterArray) ToGetTmpInstancesTagFilterArrayOutput() GetTmpInstancesTagFilterArrayOutput { + return i.ToGetTmpInstancesTagFilterArrayOutputWithContext(context.Background()) +} + +func (i GetTmpInstancesTagFilterArray) ToGetTmpInstancesTagFilterArrayOutputWithContext(ctx context.Context) GetTmpInstancesTagFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTmpInstancesTagFilterArrayOutput) +} + +type GetTmpInstancesTagFilterOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesTagFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTmpInstancesTagFilter)(nil)).Elem() +} + +func (o GetTmpInstancesTagFilterOutput) ToGetTmpInstancesTagFilterOutput() GetTmpInstancesTagFilterOutput { + return o +} + +func (o GetTmpInstancesTagFilterOutput) ToGetTmpInstancesTagFilterOutputWithContext(ctx context.Context) GetTmpInstancesTagFilterOutput { + return o +} + +// The key of the tag. +func (o GetTmpInstancesTagFilterOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesTagFilter) string { return v.Key }).(pulumi.StringOutput) +} + +// The value of the tag. +func (o GetTmpInstancesTagFilterOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetTmpInstancesTagFilter) string { return v.Value }).(pulumi.StringOutput) +} + +type GetTmpInstancesTagFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetTmpInstancesTagFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTmpInstancesTagFilter)(nil)).Elem() +} + +func (o GetTmpInstancesTagFilterArrayOutput) ToGetTmpInstancesTagFilterArrayOutput() GetTmpInstancesTagFilterArrayOutput { + return o +} + +func (o GetTmpInstancesTagFilterArrayOutput) ToGetTmpInstancesTagFilterArrayOutputWithContext(ctx context.Context) GetTmpInstancesTagFilterArrayOutput { + return o +} + +func (o GetTmpInstancesTagFilterArrayOutput) Index(i pulumi.IntInput) GetTmpInstancesTagFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTmpInstancesTagFilter { + return vs[0].([]GetTmpInstancesTagFilter)[vs[1].(int)] + }).(GetTmpInstancesTagFilterOutput) +} + type GetTmpRegionsRegionSet struct { // Region area. Area string `pulumi:"area"` @@ -18962,6 +19775,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetStatisticDataDataPointDimensionArrayInput)(nil)).Elem(), GetStatisticDataDataPointDimensionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStatisticDataDataPointValueInput)(nil)).Elem(), GetStatisticDataDataPointValueArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStatisticDataDataPointValueArrayInput)(nil)).Elem(), GetStatisticDataDataPointValueArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesInstanceSetInput)(nil)).Elem(), GetTmpInstancesInstanceSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesInstanceSetArrayInput)(nil)).Elem(), GetTmpInstancesInstanceSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesInstanceSetGrantInput)(nil)).Elem(), GetTmpInstancesInstanceSetGrantArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesInstanceSetGrantArrayInput)(nil)).Elem(), GetTmpInstancesInstanceSetGrantArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesInstanceSetTagSpecificationInput)(nil)).Elem(), GetTmpInstancesInstanceSetTagSpecificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesInstanceSetTagSpecificationArrayInput)(nil)).Elem(), GetTmpInstancesInstanceSetTagSpecificationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesTagFilterInput)(nil)).Elem(), GetTmpInstancesTagFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTmpInstancesTagFilterArrayInput)(nil)).Elem(), GetTmpInstancesTagFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTmpRegionsRegionSetInput)(nil)).Elem(), GetTmpRegionsRegionSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTmpRegionsRegionSetArrayInput)(nil)).Elem(), GetTmpRegionsRegionSetArray{}) pulumi.RegisterOutputType(AlarmNoticeClsNoticeOutput{}) @@ -19202,6 +20023,14 @@ func init() { pulumi.RegisterOutputType(GetStatisticDataDataPointDimensionArrayOutput{}) pulumi.RegisterOutputType(GetStatisticDataDataPointValueOutput{}) pulumi.RegisterOutputType(GetStatisticDataDataPointValueArrayOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesInstanceSetOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesInstanceSetArrayOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesInstanceSetGrantOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesInstanceSetGrantArrayOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesInstanceSetTagSpecificationOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesInstanceSetTagSpecificationArrayOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesTagFilterOutput{}) + pulumi.RegisterOutputType(GetTmpInstancesTagFilterArrayOutput{}) pulumi.RegisterOutputType(GetTmpRegionsRegionSetOutput{}) pulumi.RegisterOutputType(GetTmpRegionsRegionSetArrayOutput{}) } diff --git a/sdk/go/tencentcloud/monitor/tmpAlertGroup.go b/sdk/go/tencentcloud/monitor/tmpAlertGroup.go index e08f25620..c2bb09984 100644 --- a/sdk/go/tencentcloud/monitor/tmpAlertGroup.go +++ b/sdk/go/tencentcloud/monitor/tmpAlertGroup.go @@ -22,35 +22,67 @@ 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/Monitor" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Monitor.NewTmpAlertGroup(ctx, "tmpAlertGroup", &Monitor.TmpAlertGroupArgs{ -// AmpReceivers: pulumi.StringArray{ -// pulumi.String("notice-om017kc2"), +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String(availabilityZone), +// CidrBlock: pulumi.String("10.0.1.0/24"), +// }) +// if err != nil { +// return err +// } +// exampleTmpInstance, err := Monitor.NewTmpInstance(ctx, "exampleTmpInstance", &Monitor.TmpInstanceArgs{ +// InstanceName: pulumi.String("tf-tmp-instance"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DataRetentionTime: pulumi.Int(30), +// Zone: pulumi.String(availabilityZone), +// Tags: pulumi.Map{ +// "createdBy": pulumi.Any("terraform"), // }, +// }) +// if err != nil { +// return err +// } +// _, err = Monitor.NewTmpAlertGroup(ctx, "exampleTmpAlertGroup", &Monitor.TmpAlertGroupArgs{ +// GroupName: pulumi.String("tf-example"), +// InstanceId: exampleTmpInstance.ID(), +// RepeatInterval: pulumi.String("5m"), // CustomReceiver: &monitor.TmpAlertGroupCustomReceiverArgs{ // Type: pulumi.String("amp"), // }, -// GroupName: pulumi.String("tf-test"), -// InstanceId: pulumi.String("prom-ip429jis"), -// RepeatInterval: pulumi.String("5m"), // Rules: monitor.TmpAlertGroupRuleArray{ // &monitor.TmpAlertGroupRuleArgs{ +// Duration: pulumi.String("1m"), +// Expr: pulumi.String("up{job=\"prometheus-agent\"} != 1"), +// RuleName: pulumi.String("Agent health check"), +// State: pulumi.Int(2), // Annotations: pulumi.Map{ -// "description": pulumi.Any("Agent {{$labels.instance}} is deactivated, please pay attention!"), // "summary": pulumi.Any("Agent health check"), +// "description": pulumi.Any("Agent {{$labels.instance}} is deactivated, please pay attention!"), // }, -// Duration: pulumi.String("1m"), -// Expr: pulumi.String("up{job=\"prometheus-agent\"} != 1"), // Labels: pulumi.Map{ // "severity": pulumi.Any("critical"), // }, -// RuleName: pulumi.String("Agent health check"), -// State: pulumi.Int(2), // }, // }, // }) @@ -69,7 +101,7 @@ import ( // monitor tmp_alert_group can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id +// $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup example prom-34qkzwvs#alert-rfkkr6cw // ``` type TmpAlertGroup struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/mysql/clsLogAttachment.go b/sdk/go/tencentcloud/mysql/clsLogAttachment.go new file mode 100644 index 000000000..bb59f7c10 --- /dev/null +++ b/sdk/go/tencentcloud/mysql/clsLogAttachment.go @@ -0,0 +1,517 @@ +// 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 mysql + +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 mysql log to cls +// +// > **NOTE:** The CLS resource bound to resource `Mysql.ClsLogAttachment` needs to be manually deleted. +// +// ## Example Usage +// +// ### Create Error Log to ClS +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Mysql" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String("ap-guangzhou-6"), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.0.0/16"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create security group +// securityGroup, err := Security.NewGroup(ctx, "securityGroup", &Security.GroupArgs{ +// Description: pulumi.String("mysql test"), +// }) +// if err != nil { +// return err +// } +// // create mysql instance +// exampleInstance, err := Mysql.NewInstance(ctx, "exampleInstance", &Mysql.InstanceArgs{ +// InternetService: pulumi.Int(1), +// EngineVersion: pulumi.String("5.7"), +// ChargeType: pulumi.String("POSTPAID"), +// RootPassword: pulumi.String("PassWord123"), +// SlaveDeployMode: pulumi.Int(0), +// AvailabilityZone: pulumi.String("ap-guangzhou-6"), +// SlaveSyncMode: pulumi.Int(1), +// InstanceName: pulumi.String("tf-example-mysql"), +// MemSize: pulumi.Int(4000), +// VolumeSize: pulumi.Int(200), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// IntranetPort: pulumi.Int(3306), +// SecurityGroups: pulumi.StringArray{ +// securityGroup.ID(), +// }, +// Tags: pulumi.Map{ +// "name": pulumi.Any("test"), +// }, +// Parameters: pulumi.Map{ +// "character_set_server": pulumi.Any("utf8"), +// "max_connections": pulumi.Any("1000"), +// }, +// }) +// if err != nil { +// return err +// } +// // attachment cls log +// _, err = Mysql.NewClsLogAttachment(ctx, "exampleClsLogAttachment", &Mysql.ClsLogAttachmentArgs{ +// InstanceId: exampleInstance.ID(), +// LogType: pulumi.String("error"), +// CreateLogSet: pulumi.Bool(true), +// CreateLogTopic: pulumi.Bool(true), +// LogSet: pulumi.String("tf_log_set"), +// LogTopic: pulumi.String("tf_log_topic"), +// Period: pulumi.Int(30), +// CreateIndex: pulumi.Bool(true), +// ClsRegion: pulumi.String("ap-guangzhou"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create Slow Log to ClS +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Mysql" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Mysql.NewClsLogAttachment(ctx, "example", &Mysql.ClsLogAttachmentArgs{ +// InstanceId: pulumi.Any(tencentcloud_mysql_instance.Example.Id), +// LogType: pulumi.String("slowlog"), +// LogSet: pulumi.String("50d499a8-c4c0-4442-aa04-e8aa8a02437d"), +// LogTopic: pulumi.String("140d4d39-4307-45a8-9655-290f679b063d"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// mysql log to cls can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment example cdb-8fk7id2l#slowlog +// ``` +type ClsLogAttachment struct { + pulumi.CustomResourceState + + // Cls region. + ClsRegion pulumi.StringOutput `pulumi:"clsRegion"` + // Whether to create index. + CreateIndex pulumi.BoolPtrOutput `pulumi:"createIndex"` + // Whether to create log set. + CreateLogSet pulumi.BoolPtrOutput `pulumi:"createLogSet"` + // Whether to create log topic. + CreateLogTopic pulumi.BoolPtrOutput `pulumi:"createLogTopic"` + // The id of instance. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // If `createLogSet` is `true`, use log set name, Else use log set Id. + LogSet pulumi.StringOutput `pulumi:"logSet"` + // Log set Id. + LogSetId pulumi.StringOutput `pulumi:"logSetId"` + // If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + LogTopic pulumi.StringOutput `pulumi:"logTopic"` + // Log topic Id. + LogTopicId pulumi.StringOutput `pulumi:"logTopicId"` + // Log type. Support `error` or `slowlog`. + LogType pulumi.StringOutput `pulumi:"logType"` + // The validity period of the log theme is 30 days by default when not filled in. + Period pulumi.IntPtrOutput `pulumi:"period"` + // Log Status. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewClsLogAttachment registers a new resource with the given unique name, arguments, and options. +func NewClsLogAttachment(ctx *pulumi.Context, + name string, args *ClsLogAttachmentArgs, opts ...pulumi.ResourceOption) (*ClsLogAttachment, 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.LogSet == nil { + return nil, errors.New("invalid value for required argument 'LogSet'") + } + if args.LogTopic == nil { + return nil, errors.New("invalid value for required argument 'LogTopic'") + } + if args.LogType == nil { + return nil, errors.New("invalid value for required argument 'LogType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ClsLogAttachment + err := ctx.RegisterResource("tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetClsLogAttachment gets an existing ClsLogAttachment 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 GetClsLogAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ClsLogAttachmentState, opts ...pulumi.ResourceOption) (*ClsLogAttachment, error) { + var resource ClsLogAttachment + err := ctx.ReadResource("tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ClsLogAttachment resources. +type clsLogAttachmentState struct { + // Cls region. + ClsRegion *string `pulumi:"clsRegion"` + // Whether to create index. + CreateIndex *bool `pulumi:"createIndex"` + // Whether to create log set. + CreateLogSet *bool `pulumi:"createLogSet"` + // Whether to create log topic. + CreateLogTopic *bool `pulumi:"createLogTopic"` + // The id of instance. + InstanceId *string `pulumi:"instanceId"` + // If `createLogSet` is `true`, use log set name, Else use log set Id. + LogSet *string `pulumi:"logSet"` + // Log set Id. + LogSetId *string `pulumi:"logSetId"` + // If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + LogTopic *string `pulumi:"logTopic"` + // Log topic Id. + LogTopicId *string `pulumi:"logTopicId"` + // Log type. Support `error` or `slowlog`. + LogType *string `pulumi:"logType"` + // The validity period of the log theme is 30 days by default when not filled in. + Period *int `pulumi:"period"` + // Log Status. + Status *string `pulumi:"status"` +} + +type ClsLogAttachmentState struct { + // Cls region. + ClsRegion pulumi.StringPtrInput + // Whether to create index. + CreateIndex pulumi.BoolPtrInput + // Whether to create log set. + CreateLogSet pulumi.BoolPtrInput + // Whether to create log topic. + CreateLogTopic pulumi.BoolPtrInput + // The id of instance. + InstanceId pulumi.StringPtrInput + // If `createLogSet` is `true`, use log set name, Else use log set Id. + LogSet pulumi.StringPtrInput + // Log set Id. + LogSetId pulumi.StringPtrInput + // If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + LogTopic pulumi.StringPtrInput + // Log topic Id. + LogTopicId pulumi.StringPtrInput + // Log type. Support `error` or `slowlog`. + LogType pulumi.StringPtrInput + // The validity period of the log theme is 30 days by default when not filled in. + Period pulumi.IntPtrInput + // Log Status. + Status pulumi.StringPtrInput +} + +func (ClsLogAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*clsLogAttachmentState)(nil)).Elem() +} + +type clsLogAttachmentArgs struct { + // Cls region. + ClsRegion *string `pulumi:"clsRegion"` + // Whether to create index. + CreateIndex *bool `pulumi:"createIndex"` + // Whether to create log set. + CreateLogSet *bool `pulumi:"createLogSet"` + // Whether to create log topic. + CreateLogTopic *bool `pulumi:"createLogTopic"` + // The id of instance. + InstanceId string `pulumi:"instanceId"` + // If `createLogSet` is `true`, use log set name, Else use log set Id. + LogSet string `pulumi:"logSet"` + // If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + LogTopic string `pulumi:"logTopic"` + // Log type. Support `error` or `slowlog`. + LogType string `pulumi:"logType"` + // The validity period of the log theme is 30 days by default when not filled in. + Period *int `pulumi:"period"` +} + +// The set of arguments for constructing a ClsLogAttachment resource. +type ClsLogAttachmentArgs struct { + // Cls region. + ClsRegion pulumi.StringPtrInput + // Whether to create index. + CreateIndex pulumi.BoolPtrInput + // Whether to create log set. + CreateLogSet pulumi.BoolPtrInput + // Whether to create log topic. + CreateLogTopic pulumi.BoolPtrInput + // The id of instance. + InstanceId pulumi.StringInput + // If `createLogSet` is `true`, use log set name, Else use log set Id. + LogSet pulumi.StringInput + // If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + LogTopic pulumi.StringInput + // Log type. Support `error` or `slowlog`. + LogType pulumi.StringInput + // The validity period of the log theme is 30 days by default when not filled in. + Period pulumi.IntPtrInput +} + +func (ClsLogAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*clsLogAttachmentArgs)(nil)).Elem() +} + +type ClsLogAttachmentInput interface { + pulumi.Input + + ToClsLogAttachmentOutput() ClsLogAttachmentOutput + ToClsLogAttachmentOutputWithContext(ctx context.Context) ClsLogAttachmentOutput +} + +func (*ClsLogAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**ClsLogAttachment)(nil)).Elem() +} + +func (i *ClsLogAttachment) ToClsLogAttachmentOutput() ClsLogAttachmentOutput { + return i.ToClsLogAttachmentOutputWithContext(context.Background()) +} + +func (i *ClsLogAttachment) ToClsLogAttachmentOutputWithContext(ctx context.Context) ClsLogAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClsLogAttachmentOutput) +} + +// ClsLogAttachmentArrayInput is an input type that accepts ClsLogAttachmentArray and ClsLogAttachmentArrayOutput values. +// You can construct a concrete instance of `ClsLogAttachmentArrayInput` via: +// +// ClsLogAttachmentArray{ ClsLogAttachmentArgs{...} } +type ClsLogAttachmentArrayInput interface { + pulumi.Input + + ToClsLogAttachmentArrayOutput() ClsLogAttachmentArrayOutput + ToClsLogAttachmentArrayOutputWithContext(context.Context) ClsLogAttachmentArrayOutput +} + +type ClsLogAttachmentArray []ClsLogAttachmentInput + +func (ClsLogAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClsLogAttachment)(nil)).Elem() +} + +func (i ClsLogAttachmentArray) ToClsLogAttachmentArrayOutput() ClsLogAttachmentArrayOutput { + return i.ToClsLogAttachmentArrayOutputWithContext(context.Background()) +} + +func (i ClsLogAttachmentArray) ToClsLogAttachmentArrayOutputWithContext(ctx context.Context) ClsLogAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClsLogAttachmentArrayOutput) +} + +// ClsLogAttachmentMapInput is an input type that accepts ClsLogAttachmentMap and ClsLogAttachmentMapOutput values. +// You can construct a concrete instance of `ClsLogAttachmentMapInput` via: +// +// ClsLogAttachmentMap{ "key": ClsLogAttachmentArgs{...} } +type ClsLogAttachmentMapInput interface { + pulumi.Input + + ToClsLogAttachmentMapOutput() ClsLogAttachmentMapOutput + ToClsLogAttachmentMapOutputWithContext(context.Context) ClsLogAttachmentMapOutput +} + +type ClsLogAttachmentMap map[string]ClsLogAttachmentInput + +func (ClsLogAttachmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClsLogAttachment)(nil)).Elem() +} + +func (i ClsLogAttachmentMap) ToClsLogAttachmentMapOutput() ClsLogAttachmentMapOutput { + return i.ToClsLogAttachmentMapOutputWithContext(context.Background()) +} + +func (i ClsLogAttachmentMap) ToClsLogAttachmentMapOutputWithContext(ctx context.Context) ClsLogAttachmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClsLogAttachmentMapOutput) +} + +type ClsLogAttachmentOutput struct{ *pulumi.OutputState } + +func (ClsLogAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClsLogAttachment)(nil)).Elem() +} + +func (o ClsLogAttachmentOutput) ToClsLogAttachmentOutput() ClsLogAttachmentOutput { + return o +} + +func (o ClsLogAttachmentOutput) ToClsLogAttachmentOutputWithContext(ctx context.Context) ClsLogAttachmentOutput { + return o +} + +// Cls region. +func (o ClsLogAttachmentOutput) ClsRegion() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.ClsRegion }).(pulumi.StringOutput) +} + +// Whether to create index. +func (o ClsLogAttachmentOutput) CreateIndex() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.BoolPtrOutput { return v.CreateIndex }).(pulumi.BoolPtrOutput) +} + +// Whether to create log set. +func (o ClsLogAttachmentOutput) CreateLogSet() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.BoolPtrOutput { return v.CreateLogSet }).(pulumi.BoolPtrOutput) +} + +// Whether to create log topic. +func (o ClsLogAttachmentOutput) CreateLogTopic() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.BoolPtrOutput { return v.CreateLogTopic }).(pulumi.BoolPtrOutput) +} + +// The id of instance. +func (o ClsLogAttachmentOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// If `createLogSet` is `true`, use log set name, Else use log set Id. +func (o ClsLogAttachmentOutput) LogSet() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.LogSet }).(pulumi.StringOutput) +} + +// Log set Id. +func (o ClsLogAttachmentOutput) LogSetId() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.LogSetId }).(pulumi.StringOutput) +} + +// If `createLogTopic` is `true`, use log topic name, Else use log topic Id. +func (o ClsLogAttachmentOutput) LogTopic() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.LogTopic }).(pulumi.StringOutput) +} + +// Log topic Id. +func (o ClsLogAttachmentOutput) LogTopicId() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.LogTopicId }).(pulumi.StringOutput) +} + +// Log type. Support `error` or `slowlog`. +func (o ClsLogAttachmentOutput) LogType() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.LogType }).(pulumi.StringOutput) +} + +// The validity period of the log theme is 30 days by default when not filled in. +func (o ClsLogAttachmentOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.IntPtrOutput { return v.Period }).(pulumi.IntPtrOutput) +} + +// Log Status. +func (o ClsLogAttachmentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *ClsLogAttachment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type ClsLogAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (ClsLogAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ClsLogAttachment)(nil)).Elem() +} + +func (o ClsLogAttachmentArrayOutput) ToClsLogAttachmentArrayOutput() ClsLogAttachmentArrayOutput { + return o +} + +func (o ClsLogAttachmentArrayOutput) ToClsLogAttachmentArrayOutputWithContext(ctx context.Context) ClsLogAttachmentArrayOutput { + return o +} + +func (o ClsLogAttachmentArrayOutput) Index(i pulumi.IntInput) ClsLogAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClsLogAttachment { + return vs[0].([]*ClsLogAttachment)[vs[1].(int)] + }).(ClsLogAttachmentOutput) +} + +type ClsLogAttachmentMapOutput struct{ *pulumi.OutputState } + +func (ClsLogAttachmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ClsLogAttachment)(nil)).Elem() +} + +func (o ClsLogAttachmentMapOutput) ToClsLogAttachmentMapOutput() ClsLogAttachmentMapOutput { + return o +} + +func (o ClsLogAttachmentMapOutput) ToClsLogAttachmentMapOutputWithContext(ctx context.Context) ClsLogAttachmentMapOutput { + return o +} + +func (o ClsLogAttachmentMapOutput) MapIndex(k pulumi.StringInput) ClsLogAttachmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClsLogAttachment { + return vs[0].(map[string]*ClsLogAttachment)[vs[1].(string)] + }).(ClsLogAttachmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClsLogAttachmentInput)(nil)).Elem(), &ClsLogAttachment{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClsLogAttachmentArrayInput)(nil)).Elem(), ClsLogAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClsLogAttachmentMapInput)(nil)).Elem(), ClsLogAttachmentMap{}) + pulumi.RegisterOutputType(ClsLogAttachmentOutput{}) + pulumi.RegisterOutputType(ClsLogAttachmentArrayOutput{}) + pulumi.RegisterOutputType(ClsLogAttachmentMapOutput{}) +} diff --git a/sdk/go/tencentcloud/mysql/init.go b/sdk/go/tencentcloud/mysql/init.go index 7e50f9f6f..a4e8ff832 100644 --- a/sdk/go/tencentcloud/mysql/init.go +++ b/sdk/go/tencentcloud/mysql/init.go @@ -31,6 +31,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &BackupEncryptionStatus{} case "tencentcloud:Mysql/backupPolicy:BackupPolicy": r = &BackupPolicy{} + case "tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment": + r = &ClsLogAttachment{} case "tencentcloud:Mysql/database:Database": r = &Database{} case "tencentcloud:Mysql/dbImportJobOperation:DbImportJobOperation": @@ -85,6 +87,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &RollbackStop{} case "tencentcloud:Mysql/securityGroupsAttachment:SecurityGroupsAttachment": r = &SecurityGroupsAttachment{} + case "tencentcloud:Mysql/ssl:Ssl": + r = &Ssl{} case "tencentcloud:Mysql/switchForUpgrade:SwitchForUpgrade": r = &SwitchForUpgrade{} case "tencentcloud:Mysql/switchMasterSlaveOperation:SwitchMasterSlaveOperation": @@ -133,6 +137,11 @@ func init() { "Mysql/backupPolicy", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Mysql/clsLogAttachment", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Mysql/database", @@ -268,6 +277,11 @@ func init() { "Mysql/securityGroupsAttachment", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Mysql/ssl", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Mysql/switchForUpgrade", diff --git a/sdk/go/tencentcloud/mysql/instance.go b/sdk/go/tencentcloud/mysql/instance.go index 1f42537e5..fc84c09c3 100644 --- a/sdk/go/tencentcloud/mysql/instance.go +++ b/sdk/go/tencentcloud/mysql/instance.go @@ -172,6 +172,8 @@ type Instance struct { Cpu pulumi.IntOutput `pulumi:"cpu"` // Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. DeviceType pulumi.StringOutput `pulumi:"deviceType"` + // Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + EngineType pulumi.StringOutput `pulumi:"engineType"` // The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. EngineVersion pulumi.StringPtrOutput `pulumi:"engineVersion"` // Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. @@ -300,6 +302,8 @@ type instanceState struct { Cpu *int `pulumi:"cpu"` // Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. DeviceType *string `pulumi:"deviceType"` + // Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + EngineType *string `pulumi:"engineType"` // The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. EngineVersion *string `pulumi:"engineVersion"` // Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. @@ -383,6 +387,8 @@ type InstanceState struct { Cpu pulumi.IntPtrInput // Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. DeviceType pulumi.StringPtrInput + // Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + EngineType pulumi.StringPtrInput // The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. EngineVersion pulumi.StringPtrInput // Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. @@ -470,6 +476,8 @@ type instanceArgs struct { Cpu *int `pulumi:"cpu"` // Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. DeviceType *string `pulumi:"deviceType"` + // Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + EngineType *string `pulumi:"engineType"` // The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. EngineVersion *string `pulumi:"engineVersion"` // Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. @@ -540,6 +548,8 @@ type InstanceArgs struct { Cpu pulumi.IntPtrInput // Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. DeviceType pulumi.StringPtrInput + // Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + EngineType pulumi.StringPtrInput // The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. EngineVersion pulumi.StringPtrInput // Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. @@ -710,6 +720,11 @@ func (o InstanceOutput) DeviceType() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DeviceType }).(pulumi.StringOutput) } +// Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. +func (o InstanceOutput) EngineType() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.EngineType }).(pulumi.StringOutput) +} + // The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. func (o InstanceOutput) EngineVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.EngineVersion }).(pulumi.StringPtrOutput) diff --git a/sdk/go/tencentcloud/mysql/readonlyInstance.go b/sdk/go/tencentcloud/mysql/readonlyInstance.go index 53cb56d9e..76a03f9fb 100644 --- a/sdk/go/tencentcloud/mysql/readonlyInstance.go +++ b/sdk/go/tencentcloud/mysql/readonlyInstance.go @@ -164,6 +164,8 @@ type ReadonlyInstance struct { Period pulumi.IntPtrOutput `pulumi:"period"` // Period of instance. NOTES: Only supported prepaid instance. PrepaidPeriod pulumi.IntPtrOutput `pulumi:"prepaidPeriod"` + // Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + RoGroupId pulumi.StringOutput `pulumi:"roGroupId"` // Security groups to use. SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` // Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. @@ -266,6 +268,8 @@ type readonlyInstanceState struct { Period *int `pulumi:"period"` // Period of instance. NOTES: Only supported prepaid instance. PrepaidPeriod *int `pulumi:"prepaidPeriod"` + // Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + RoGroupId *string `pulumi:"roGroupId"` // Security groups to use. SecurityGroups []string `pulumi:"securityGroups"` // Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. @@ -327,6 +331,8 @@ type ReadonlyInstanceState struct { Period pulumi.IntPtrInput // Period of instance. NOTES: Only supported prepaid instance. PrepaidPeriod pulumi.IntPtrInput + // Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + RoGroupId pulumi.StringPtrInput // Security groups to use. SecurityGroups pulumi.StringArrayInput // Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. @@ -388,6 +394,8 @@ type readonlyInstanceArgs struct { Period *int `pulumi:"period"` // Period of instance. NOTES: Only supported prepaid instance. PrepaidPeriod *int `pulumi:"prepaidPeriod"` + // Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + RoGroupId *string `pulumi:"roGroupId"` // Security groups to use. SecurityGroups []string `pulumi:"securityGroups"` // Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. @@ -442,6 +450,8 @@ type ReadonlyInstanceArgs struct { Period pulumi.IntPtrInput // Period of instance. NOTES: Only supported prepaid instance. PrepaidPeriod pulumi.IntPtrInput + // Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + RoGroupId pulumi.StringPtrInput // Security groups to use. SecurityGroups pulumi.StringArrayInput // Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. @@ -636,6 +646,11 @@ func (o ReadonlyInstanceOutput) PrepaidPeriod() pulumi.IntPtrOutput { return o.ApplyT(func(v *ReadonlyInstance) pulumi.IntPtrOutput { return v.PrepaidPeriod }).(pulumi.IntPtrOutput) } +// Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. +func (o ReadonlyInstanceOutput) RoGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *ReadonlyInstance) pulumi.StringOutput { return v.RoGroupId }).(pulumi.StringOutput) +} + // Security groups to use. func (o ReadonlyInstanceOutput) SecurityGroups() pulumi.StringArrayOutput { return o.ApplyT(func(v *ReadonlyInstance) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) diff --git a/sdk/go/tencentcloud/mysql/ssl.go b/sdk/go/tencentcloud/mysql/ssl.go new file mode 100644 index 000000000..18b8ad02b --- /dev/null +++ b/sdk/go/tencentcloud/mysql/ssl.go @@ -0,0 +1,285 @@ +// 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 mysql + +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 mysql ssl +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Mysql" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Mysql.NewSsl(ctx, "ssl", &Mysql.SslArgs{ +// InstanceId: pulumi.String("cdb-j5rprr8n"), +// Status: pulumi.String("OFF"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// mysql ssl can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Mysql/ssl:Ssl ssl instanceId +// ``` +type Ssl struct { + pulumi.CustomResourceState + + // Instance ID. Example value: cdb-c1nl9rpv. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + Status pulumi.StringOutput `pulumi:"status"` + // The certificate download link. Example value: http://testdownload.url. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewSsl registers a new resource with the given unique name, arguments, and options. +func NewSsl(ctx *pulumi.Context, + name string, args *SslArgs, opts ...pulumi.ResourceOption) (*Ssl, 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.Status == nil { + return nil, errors.New("invalid value for required argument 'Status'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Ssl + err := ctx.RegisterResource("tencentcloud:Mysql/ssl:Ssl", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSsl gets an existing Ssl 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 GetSsl(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SslState, opts ...pulumi.ResourceOption) (*Ssl, error) { + var resource Ssl + err := ctx.ReadResource("tencentcloud:Mysql/ssl:Ssl", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Ssl resources. +type sslState struct { + // Instance ID. Example value: cdb-c1nl9rpv. + InstanceId *string `pulumi:"instanceId"` + // Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + Status *string `pulumi:"status"` + // The certificate download link. Example value: http://testdownload.url. + Url *string `pulumi:"url"` +} + +type SslState struct { + // Instance ID. Example value: cdb-c1nl9rpv. + InstanceId pulumi.StringPtrInput + // Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + Status pulumi.StringPtrInput + // The certificate download link. Example value: http://testdownload.url. + Url pulumi.StringPtrInput +} + +func (SslState) ElementType() reflect.Type { + return reflect.TypeOf((*sslState)(nil)).Elem() +} + +type sslArgs struct { + // Instance ID. Example value: cdb-c1nl9rpv. + InstanceId string `pulumi:"instanceId"` + // Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + Status string `pulumi:"status"` +} + +// The set of arguments for constructing a Ssl resource. +type SslArgs struct { + // Instance ID. Example value: cdb-c1nl9rpv. + InstanceId pulumi.StringInput + // Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + Status pulumi.StringInput +} + +func (SslArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sslArgs)(nil)).Elem() +} + +type SslInput interface { + pulumi.Input + + ToSslOutput() SslOutput + ToSslOutputWithContext(ctx context.Context) SslOutput +} + +func (*Ssl) ElementType() reflect.Type { + return reflect.TypeOf((**Ssl)(nil)).Elem() +} + +func (i *Ssl) ToSslOutput() SslOutput { + return i.ToSslOutputWithContext(context.Background()) +} + +func (i *Ssl) ToSslOutputWithContext(ctx context.Context) SslOutput { + return pulumi.ToOutputWithContext(ctx, i).(SslOutput) +} + +// SslArrayInput is an input type that accepts SslArray and SslArrayOutput values. +// You can construct a concrete instance of `SslArrayInput` via: +// +// SslArray{ SslArgs{...} } +type SslArrayInput interface { + pulumi.Input + + ToSslArrayOutput() SslArrayOutput + ToSslArrayOutputWithContext(context.Context) SslArrayOutput +} + +type SslArray []SslInput + +func (SslArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Ssl)(nil)).Elem() +} + +func (i SslArray) ToSslArrayOutput() SslArrayOutput { + return i.ToSslArrayOutputWithContext(context.Background()) +} + +func (i SslArray) ToSslArrayOutputWithContext(ctx context.Context) SslArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SslArrayOutput) +} + +// SslMapInput is an input type that accepts SslMap and SslMapOutput values. +// You can construct a concrete instance of `SslMapInput` via: +// +// SslMap{ "key": SslArgs{...} } +type SslMapInput interface { + pulumi.Input + + ToSslMapOutput() SslMapOutput + ToSslMapOutputWithContext(context.Context) SslMapOutput +} + +type SslMap map[string]SslInput + +func (SslMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Ssl)(nil)).Elem() +} + +func (i SslMap) ToSslMapOutput() SslMapOutput { + return i.ToSslMapOutputWithContext(context.Background()) +} + +func (i SslMap) ToSslMapOutputWithContext(ctx context.Context) SslMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SslMapOutput) +} + +type SslOutput struct{ *pulumi.OutputState } + +func (SslOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Ssl)(nil)).Elem() +} + +func (o SslOutput) ToSslOutput() SslOutput { + return o +} + +func (o SslOutput) ToSslOutputWithContext(ctx context.Context) SslOutput { + return o +} + +// Instance ID. Example value: cdb-c1nl9rpv. +func (o SslOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *Ssl) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. +func (o SslOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Ssl) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The certificate download link. Example value: http://testdownload.url. +func (o SslOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *Ssl) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type SslArrayOutput struct{ *pulumi.OutputState } + +func (SslArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Ssl)(nil)).Elem() +} + +func (o SslArrayOutput) ToSslArrayOutput() SslArrayOutput { + return o +} + +func (o SslArrayOutput) ToSslArrayOutputWithContext(ctx context.Context) SslArrayOutput { + return o +} + +func (o SslArrayOutput) Index(i pulumi.IntInput) SslOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Ssl { + return vs[0].([]*Ssl)[vs[1].(int)] + }).(SslOutput) +} + +type SslMapOutput struct{ *pulumi.OutputState } + +func (SslMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Ssl)(nil)).Elem() +} + +func (o SslMapOutput) ToSslMapOutput() SslMapOutput { + return o +} + +func (o SslMapOutput) ToSslMapOutputWithContext(ctx context.Context) SslMapOutput { + return o +} + +func (o SslMapOutput) MapIndex(k pulumi.StringInput) SslOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Ssl { + return vs[0].(map[string]*Ssl)[vs[1].(string)] + }).(SslOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SslInput)(nil)).Elem(), &Ssl{}) + pulumi.RegisterInputType(reflect.TypeOf((*SslArrayInput)(nil)).Elem(), SslArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SslMapInput)(nil)).Elem(), SslMap{}) + pulumi.RegisterOutputType(SslOutput{}) + pulumi.RegisterOutputType(SslArrayOutput{}) + pulumi.RegisterOutputType(SslMapOutput{}) +} diff --git a/sdk/go/tencentcloud/organization/getServices.go b/sdk/go/tencentcloud/organization/getServices.go new file mode 100644 index 000000000..6fda843d0 --- /dev/null +++ b/sdk/go/tencentcloud/organization/getServices.go @@ -0,0 +1,159 @@ +// 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 organization + +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 organization services +// +// ## Example Usage +// +// ### Query all organization services +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Organization" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Organization.GetServices(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query organization services by filter +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Organization" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Organization.GetServices(ctx, &organization.GetServicesArgs{ +// SearchKey: pulumi.StringRef("KeyWord"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetServices(ctx *pulumi.Context, args *GetServicesArgs, opts ...pulumi.InvokeOption) (*GetServicesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetServicesResult + err := ctx.Invoke("tencentcloud:Organization/getServices:getServices", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getServices. +type GetServicesArgs struct { + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Keyword for search by name. + SearchKey *string `pulumi:"searchKey"` +} + +// A collection of values returned by getServices. +type GetServicesResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Organization service list. + Items []GetServicesItem `pulumi:"items"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + SearchKey *string `pulumi:"searchKey"` +} + +func GetServicesOutput(ctx *pulumi.Context, args GetServicesOutputArgs, opts ...pulumi.InvokeOption) GetServicesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetServicesResult, error) { + args := v.(GetServicesArgs) + r, err := GetServices(ctx, &args, opts...) + var s GetServicesResult + if r != nil { + s = *r + } + return s, err + }).(GetServicesResultOutput) +} + +// A collection of arguments for invoking getServices. +type GetServicesOutputArgs struct { + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Keyword for search by name. + SearchKey pulumi.StringPtrInput `pulumi:"searchKey"` +} + +func (GetServicesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServicesArgs)(nil)).Elem() +} + +// A collection of values returned by getServices. +type GetServicesResultOutput struct{ *pulumi.OutputState } + +func (GetServicesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServicesResult)(nil)).Elem() +} + +func (o GetServicesResultOutput) ToGetServicesResultOutput() GetServicesResultOutput { + return o +} + +func (o GetServicesResultOutput) ToGetServicesResultOutputWithContext(ctx context.Context) GetServicesResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetServicesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Organization service list. +func (o GetServicesResultOutput) Items() GetServicesItemArrayOutput { + return o.ApplyT(func(v GetServicesResult) []GetServicesItem { return v.Items }).(GetServicesItemArrayOutput) +} + +func (o GetServicesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetServicesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetServicesResultOutput) SearchKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetServicesResult) *string { return v.SearchKey }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetServicesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/organization/init.go b/sdk/go/tencentcloud/organization/init.go index f939c1121..4c15ef99b 100644 --- a/sdk/go/tencentcloud/organization/init.go +++ b/sdk/go/tencentcloud/organization/init.go @@ -49,6 +49,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &PolicySubAccountAttachment{} case "tencentcloud:Organization/quitOrganizationOperation:QuitOrganizationOperation": r = &QuitOrganizationOperation{} + case "tencentcloud:Organization/serviceAssign:ServiceAssign": + r = &ServiceAssign{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -132,4 +134,9 @@ func init() { "Organization/quitOrganizationOperation", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Organization/serviceAssign", + &module{version}, + ) } diff --git a/sdk/go/tencentcloud/organization/instance.go b/sdk/go/tencentcloud/organization/instance.go index 31f04c949..8f109377e 100644 --- a/sdk/go/tencentcloud/organization/instance.go +++ b/sdk/go/tencentcloud/organization/instance.go @@ -81,6 +81,8 @@ type Instance struct { PayUin pulumi.StringOutput `pulumi:"payUin"` // Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained. RootNodeId pulumi.IntOutput `pulumi:"rootNodeId"` + // Root node name. + RootNodeName pulumi.StringOutput `pulumi:"rootNodeName"` } // NewInstance registers a new resource with the given unique name, arguments, and options. @@ -145,6 +147,8 @@ type instanceState struct { PayUin *string `pulumi:"payUin"` // Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained. RootNodeId *int `pulumi:"rootNodeId"` + // Root node name. + RootNodeName *string `pulumi:"rootNodeName"` } type InstanceState struct { @@ -180,6 +184,8 @@ type InstanceState struct { PayUin pulumi.StringPtrInput // Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained. RootNodeId pulumi.IntPtrInput + // Root node name. + RootNodeName pulumi.StringPtrInput } func (InstanceState) ElementType() reflect.Type { @@ -187,10 +193,14 @@ func (InstanceState) ElementType() reflect.Type { } type instanceArgs struct { + // Root node name. + RootNodeName *string `pulumi:"rootNodeName"` } // The set of arguments for constructing a Instance resource. type InstanceArgs struct { + // Root node name. + RootNodeName pulumi.StringPtrInput } func (InstanceArgs) ElementType() reflect.Type { @@ -360,6 +370,11 @@ func (o InstanceOutput) RootNodeId() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.RootNodeId }).(pulumi.IntOutput) } +// Root node name. +func (o InstanceOutput) RootNodeName() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.RootNodeName }).(pulumi.StringOutput) +} + type InstanceArrayOutput struct{ *pulumi.OutputState } func (InstanceArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/tencentcloud/organization/orgMember.go b/sdk/go/tencentcloud/organization/orgMember.go index aed0e1aaf..a84c608c5 100644 --- a/sdk/go/tencentcloud/organization/orgMember.go +++ b/sdk/go/tencentcloud/organization/orgMember.go @@ -88,6 +88,8 @@ type OrgMember struct { RecordId pulumi.IntPtrOutput `pulumi:"recordId"` // Notes. Remark pulumi.StringPtrOutput `pulumi:"remark"` + // Tag description list. + Tags pulumi.MapOutput `pulumi:"tags"` // Member update time. UpdateTime pulumi.StringOutput `pulumi:"updateTime"` } @@ -159,6 +161,8 @@ type orgMemberState struct { RecordId *int `pulumi:"recordId"` // Notes. Remark *string `pulumi:"remark"` + // Tag description list. + Tags map[string]interface{} `pulumi:"tags"` // Member update time. UpdateTime *string `pulumi:"updateTime"` } @@ -192,6 +196,8 @@ type OrgMemberState struct { RecordId pulumi.IntPtrInput // Notes. Remark pulumi.StringPtrInput + // Tag description list. + Tags pulumi.MapInput // Member update time. UpdateTime pulumi.StringPtrInput } @@ -215,6 +221,8 @@ type orgMemberArgs struct { RecordId *int `pulumi:"recordId"` // Notes. Remark *string `pulumi:"remark"` + // Tag description list. + Tags map[string]interface{} `pulumi:"tags"` } // The set of arguments for constructing a OrgMember resource. @@ -233,6 +241,8 @@ type OrgMemberArgs struct { RecordId pulumi.IntPtrInput // Notes. Remark pulumi.StringPtrInput + // Tag description list. + Tags pulumi.MapInput } func (OrgMemberArgs) ElementType() reflect.Type { @@ -392,6 +402,11 @@ func (o OrgMemberOutput) Remark() pulumi.StringPtrOutput { return o.ApplyT(func(v *OrgMember) pulumi.StringPtrOutput { return v.Remark }).(pulumi.StringPtrOutput) } +// Tag description list. +func (o OrgMemberOutput) Tags() pulumi.MapOutput { + return o.ApplyT(func(v *OrgMember) pulumi.MapOutput { return v.Tags }).(pulumi.MapOutput) +} + // Member update time. func (o OrgMemberOutput) UpdateTime() pulumi.StringOutput { return o.ApplyT(func(v *OrgMember) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/organization/orgNode.go b/sdk/go/tencentcloud/organization/orgNode.go index 8d4401905..5b2017978 100644 --- a/sdk/go/tencentcloud/organization/orgNode.go +++ b/sdk/go/tencentcloud/organization/orgNode.go @@ -61,6 +61,8 @@ type OrgNode struct { ParentNodeId pulumi.IntOutput `pulumi:"parentNodeId"` // Notes. Remark pulumi.StringPtrOutput `pulumi:"remark"` + // Tag description list. + Tags pulumi.MapOutput `pulumi:"tags"` // Node update time. UpdateTime pulumi.StringOutput `pulumi:"updateTime"` } @@ -106,6 +108,8 @@ type orgNodeState struct { ParentNodeId *int `pulumi:"parentNodeId"` // Notes. Remark *string `pulumi:"remark"` + // Tag description list. + Tags map[string]interface{} `pulumi:"tags"` // Node update time. UpdateTime *string `pulumi:"updateTime"` } @@ -119,6 +123,8 @@ type OrgNodeState struct { ParentNodeId pulumi.IntPtrInput // Notes. Remark pulumi.StringPtrInput + // Tag description list. + Tags pulumi.MapInput // Node update time. UpdateTime pulumi.StringPtrInput } @@ -134,6 +140,8 @@ type orgNodeArgs struct { ParentNodeId int `pulumi:"parentNodeId"` // Notes. Remark *string `pulumi:"remark"` + // Tag description list. + Tags map[string]interface{} `pulumi:"tags"` } // The set of arguments for constructing a OrgNode resource. @@ -144,6 +152,8 @@ type OrgNodeArgs struct { ParentNodeId pulumi.IntInput // Notes. Remark pulumi.StringPtrInput + // Tag description list. + Tags pulumi.MapInput } func (OrgNodeArgs) ElementType() reflect.Type { @@ -253,6 +263,11 @@ func (o OrgNodeOutput) Remark() pulumi.StringPtrOutput { return o.ApplyT(func(v *OrgNode) pulumi.StringPtrOutput { return v.Remark }).(pulumi.StringPtrOutput) } +// Tag description list. +func (o OrgNodeOutput) Tags() pulumi.MapOutput { + return o.ApplyT(func(v *OrgNode) pulumi.MapOutput { return v.Tags }).(pulumi.MapOutput) +} + // Node update time. func (o OrgNodeOutput) UpdateTime() pulumi.StringOutput { return o.ApplyT(func(v *OrgNode) pulumi.StringOutput { return v.UpdateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/organization/pulumiTypes.go b/sdk/go/tencentcloud/organization/pulumiTypes.go index 2e58760a0..463ed0d9b 100644 --- a/sdk/go/tencentcloud/organization/pulumiTypes.go +++ b/sdk/go/tencentcloud/organization/pulumiTypes.go @@ -1607,6 +1607,214 @@ func (o GetOrgShareAreaItemArrayOutput) Index(i pulumi.IntInput) GetOrgShareArea }).(GetOrgShareAreaItemOutput) } +type GetServicesItem struct { + // Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + CanAssignCount int `pulumi:"canAssignCount"` + // Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained. + ConsoleUrl string `pulumi:"consoleUrl"` + // Organization service description. Note: This field may return null, indicating that no valid values can be obtained. + Description string `pulumi:"description"` + // Help documentation. Note: This field may return null, indicating that no valid values can be obtained. + Document string `pulumi:"document"` + // Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained. + GrantStatus string `pulumi:"grantStatus"` + // Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + IsAssign int `pulumi:"isAssign"` + // Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no). + // Note: This field may return null, indicating that no valid values can be obtained. + IsSetManagementScope int `pulumi:"isSetManagementScope"` + // Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + IsUsageStatus int `pulumi:"isUsageStatus"` + // Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + MemberNum string `pulumi:"memberNum"` + // Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained. + Product string `pulumi:"product"` + // Organization service product name. Note: This field may return null, indicating that no valid values can be obtained. + ProductName string `pulumi:"productName"` + // Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + ServiceGrant int `pulumi:"serviceGrant"` + // Organization service ID. Note: This field may return null, indicating that no valid values can be obtained. + ServiceId int `pulumi:"serviceId"` +} + +// GetServicesItemInput is an input type that accepts GetServicesItemArgs and GetServicesItemOutput values. +// You can construct a concrete instance of `GetServicesItemInput` via: +// +// GetServicesItemArgs{...} +type GetServicesItemInput interface { + pulumi.Input + + ToGetServicesItemOutput() GetServicesItemOutput + ToGetServicesItemOutputWithContext(context.Context) GetServicesItemOutput +} + +type GetServicesItemArgs struct { + // Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + CanAssignCount pulumi.IntInput `pulumi:"canAssignCount"` + // Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained. + ConsoleUrl pulumi.StringInput `pulumi:"consoleUrl"` + // Organization service description. Note: This field may return null, indicating that no valid values can be obtained. + Description pulumi.StringInput `pulumi:"description"` + // Help documentation. Note: This field may return null, indicating that no valid values can be obtained. + Document pulumi.StringInput `pulumi:"document"` + // Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained. + GrantStatus pulumi.StringInput `pulumi:"grantStatus"` + // Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + IsAssign pulumi.IntInput `pulumi:"isAssign"` + // Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no). + // Note: This field may return null, indicating that no valid values can be obtained. + IsSetManagementScope pulumi.IntInput `pulumi:"isSetManagementScope"` + // Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + IsUsageStatus pulumi.IntInput `pulumi:"isUsageStatus"` + // Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + MemberNum pulumi.StringInput `pulumi:"memberNum"` + // Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained. + Product pulumi.StringInput `pulumi:"product"` + // Organization service product name. Note: This field may return null, indicating that no valid values can be obtained. + ProductName pulumi.StringInput `pulumi:"productName"` + // Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + ServiceGrant pulumi.IntInput `pulumi:"serviceGrant"` + // Organization service ID. Note: This field may return null, indicating that no valid values can be obtained. + ServiceId pulumi.IntInput `pulumi:"serviceId"` +} + +func (GetServicesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServicesItem)(nil)).Elem() +} + +func (i GetServicesItemArgs) ToGetServicesItemOutput() GetServicesItemOutput { + return i.ToGetServicesItemOutputWithContext(context.Background()) +} + +func (i GetServicesItemArgs) ToGetServicesItemOutputWithContext(ctx context.Context) GetServicesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServicesItemOutput) +} + +// GetServicesItemArrayInput is an input type that accepts GetServicesItemArray and GetServicesItemArrayOutput values. +// You can construct a concrete instance of `GetServicesItemArrayInput` via: +// +// GetServicesItemArray{ GetServicesItemArgs{...} } +type GetServicesItemArrayInput interface { + pulumi.Input + + ToGetServicesItemArrayOutput() GetServicesItemArrayOutput + ToGetServicesItemArrayOutputWithContext(context.Context) GetServicesItemArrayOutput +} + +type GetServicesItemArray []GetServicesItemInput + +func (GetServicesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServicesItem)(nil)).Elem() +} + +func (i GetServicesItemArray) ToGetServicesItemArrayOutput() GetServicesItemArrayOutput { + return i.ToGetServicesItemArrayOutputWithContext(context.Background()) +} + +func (i GetServicesItemArray) ToGetServicesItemArrayOutputWithContext(ctx context.Context) GetServicesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServicesItemArrayOutput) +} + +type GetServicesItemOutput struct{ *pulumi.OutputState } + +func (GetServicesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServicesItem)(nil)).Elem() +} + +func (o GetServicesItemOutput) ToGetServicesItemOutput() GetServicesItemOutput { + return o +} + +func (o GetServicesItemOutput) ToGetServicesItemOutputWithContext(ctx context.Context) GetServicesItemOutput { + return o +} + +// Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) CanAssignCount() pulumi.IntOutput { + return o.ApplyT(func(v GetServicesItem) int { return v.CanAssignCount }).(pulumi.IntOutput) +} + +// Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) ConsoleUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesItem) string { return v.ConsoleUrl }).(pulumi.StringOutput) +} + +// Organization service description. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesItem) string { return v.Description }).(pulumi.StringOutput) +} + +// Help documentation. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) Document() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesItem) string { return v.Document }).(pulumi.StringOutput) +} + +// Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) GrantStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesItem) string { return v.GrantStatus }).(pulumi.StringOutput) +} + +// Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) IsAssign() pulumi.IntOutput { + return o.ApplyT(func(v GetServicesItem) int { return v.IsAssign }).(pulumi.IntOutput) +} + +// Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no). +// Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) IsSetManagementScope() pulumi.IntOutput { + return o.ApplyT(func(v GetServicesItem) int { return v.IsSetManagementScope }).(pulumi.IntOutput) +} + +// Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) IsUsageStatus() pulumi.IntOutput { + return o.ApplyT(func(v GetServicesItem) int { return v.IsUsageStatus }).(pulumi.IntOutput) +} + +// Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) MemberNum() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesItem) string { return v.MemberNum }).(pulumi.StringOutput) +} + +// Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) Product() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesItem) string { return v.Product }).(pulumi.StringOutput) +} + +// Organization service product name. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) ProductName() pulumi.StringOutput { + return o.ApplyT(func(v GetServicesItem) string { return v.ProductName }).(pulumi.StringOutput) +} + +// Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) ServiceGrant() pulumi.IntOutput { + return o.ApplyT(func(v GetServicesItem) int { return v.ServiceGrant }).(pulumi.IntOutput) +} + +// Organization service ID. Note: This field may return null, indicating that no valid values can be obtained. +func (o GetServicesItemOutput) ServiceId() pulumi.IntOutput { + return o.ApplyT(func(v GetServicesItem) int { return v.ServiceId }).(pulumi.IntOutput) +} + +type GetServicesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetServicesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServicesItem)(nil)).Elem() +} + +func (o GetServicesItemArrayOutput) ToGetServicesItemArrayOutput() GetServicesItemArrayOutput { + return o +} + +func (o GetServicesItemArrayOutput) ToGetServicesItemArrayOutputWithContext(ctx context.Context) GetServicesItemArrayOutput { + return o +} + +func (o GetServicesItemArrayOutput) Index(i pulumi.IntInput) GetServicesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServicesItem { + return vs[0].([]GetServicesItem)[vs[1].(int)] + }).(GetServicesItemOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceOrgPermissionInput)(nil)).Elem(), InstanceOrgPermissionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceOrgPermissionArrayInput)(nil)).Elem(), InstanceOrgPermissionArray{}) @@ -1634,6 +1842,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetOrgFinancialByProductItemArrayInput)(nil)).Elem(), GetOrgFinancialByProductItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOrgShareAreaItemInput)(nil)).Elem(), GetOrgShareAreaItemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOrgShareAreaItemArrayInput)(nil)).Elem(), GetOrgShareAreaItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetServicesItemInput)(nil)).Elem(), GetServicesItemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetServicesItemArrayInput)(nil)).Elem(), GetServicesItemArray{}) pulumi.RegisterOutputType(InstanceOrgPermissionOutput{}) pulumi.RegisterOutputType(InstanceOrgPermissionArrayOutput{}) pulumi.RegisterOutputType(OrgIdentityIdentityPolicyOutput{}) @@ -1660,4 +1870,6 @@ func init() { pulumi.RegisterOutputType(GetOrgFinancialByProductItemArrayOutput{}) pulumi.RegisterOutputType(GetOrgShareAreaItemOutput{}) pulumi.RegisterOutputType(GetOrgShareAreaItemArrayOutput{}) + pulumi.RegisterOutputType(GetServicesItemOutput{}) + pulumi.RegisterOutputType(GetServicesItemArrayOutput{}) } diff --git a/sdk/go/tencentcloud/organization/serviceAssign.go b/sdk/go/tencentcloud/organization/serviceAssign.go new file mode 100644 index 000000000..084f6e2c1 --- /dev/null +++ b/sdk/go/tencentcloud/organization/serviceAssign.go @@ -0,0 +1,362 @@ +// 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 organization + +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 organization service assign +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Organization" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Organization.NewServiceAssign(ctx, "example", &Organization.ServiceAssignArgs{ +// ManagementScope: pulumi.Int(1), +// MemberUins: pulumi.IntArray{ +// pulumi.Int(100037235241), +// pulumi.Int(100033738111), +// }, +// ServiceId: pulumi.Int(15), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Organization" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Organization.NewServiceAssign(ctx, "example", &Organization.ServiceAssignArgs{ +// ManagementScope: pulumi.Int(2), +// ManagementScopeNodeIds: pulumi.IntArray{ +// pulumi.Int(2024256), +// pulumi.Int(2024259), +// }, +// ManagementScopeUins: pulumi.IntArray{ +// pulumi.Int(100019287759), +// pulumi.Int(100020537485), +// }, +// MemberUins: pulumi.IntArray{ +// pulumi.Int(100013415241), +// pulumi.Int(100078908111), +// }, +// ServiceId: pulumi.Int(15), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// organization service assign can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Organization/serviceAssign:ServiceAssign example 15 +// ``` +type ServiceAssign struct { + pulumi.CustomResourceState + + // Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + ManagementScope pulumi.IntOutput `pulumi:"managementScope"` + // ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + ManagementScopeNodeIds pulumi.IntArrayOutput `pulumi:"managementScopeNodeIds"` + // Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + ManagementScopeUins pulumi.IntArrayOutput `pulumi:"managementScopeUins"` + // Uin list of the delegated admins, Including up to 20 items. + MemberUins pulumi.IntArrayOutput `pulumi:"memberUins"` + // Organization service ID. + ServiceId pulumi.IntOutput `pulumi:"serviceId"` +} + +// NewServiceAssign registers a new resource with the given unique name, arguments, and options. +func NewServiceAssign(ctx *pulumi.Context, + name string, args *ServiceAssignArgs, opts ...pulumi.ResourceOption) (*ServiceAssign, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.MemberUins == nil { + return nil, errors.New("invalid value for required argument 'MemberUins'") + } + if args.ServiceId == nil { + return nil, errors.New("invalid value for required argument 'ServiceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ServiceAssign + err := ctx.RegisterResource("tencentcloud:Organization/serviceAssign:ServiceAssign", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetServiceAssign gets an existing ServiceAssign 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 GetServiceAssign(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ServiceAssignState, opts ...pulumi.ResourceOption) (*ServiceAssign, error) { + var resource ServiceAssign + err := ctx.ReadResource("tencentcloud:Organization/serviceAssign:ServiceAssign", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ServiceAssign resources. +type serviceAssignState struct { + // Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + ManagementScope *int `pulumi:"managementScope"` + // ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + ManagementScopeNodeIds []int `pulumi:"managementScopeNodeIds"` + // Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + ManagementScopeUins []int `pulumi:"managementScopeUins"` + // Uin list of the delegated admins, Including up to 20 items. + MemberUins []int `pulumi:"memberUins"` + // Organization service ID. + ServiceId *int `pulumi:"serviceId"` +} + +type ServiceAssignState struct { + // Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + ManagementScope pulumi.IntPtrInput + // ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + ManagementScopeNodeIds pulumi.IntArrayInput + // Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + ManagementScopeUins pulumi.IntArrayInput + // Uin list of the delegated admins, Including up to 20 items. + MemberUins pulumi.IntArrayInput + // Organization service ID. + ServiceId pulumi.IntPtrInput +} + +func (ServiceAssignState) ElementType() reflect.Type { + return reflect.TypeOf((*serviceAssignState)(nil)).Elem() +} + +type serviceAssignArgs struct { + // Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + ManagementScope *int `pulumi:"managementScope"` + // ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + ManagementScopeNodeIds []int `pulumi:"managementScopeNodeIds"` + // Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + ManagementScopeUins []int `pulumi:"managementScopeUins"` + // Uin list of the delegated admins, Including up to 20 items. + MemberUins []int `pulumi:"memberUins"` + // Organization service ID. + ServiceId int `pulumi:"serviceId"` +} + +// The set of arguments for constructing a ServiceAssign resource. +type ServiceAssignArgs struct { + // Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + ManagementScope pulumi.IntPtrInput + // ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + ManagementScopeNodeIds pulumi.IntArrayInput + // Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + ManagementScopeUins pulumi.IntArrayInput + // Uin list of the delegated admins, Including up to 20 items. + MemberUins pulumi.IntArrayInput + // Organization service ID. + ServiceId pulumi.IntInput +} + +func (ServiceAssignArgs) ElementType() reflect.Type { + return reflect.TypeOf((*serviceAssignArgs)(nil)).Elem() +} + +type ServiceAssignInput interface { + pulumi.Input + + ToServiceAssignOutput() ServiceAssignOutput + ToServiceAssignOutputWithContext(ctx context.Context) ServiceAssignOutput +} + +func (*ServiceAssign) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceAssign)(nil)).Elem() +} + +func (i *ServiceAssign) ToServiceAssignOutput() ServiceAssignOutput { + return i.ToServiceAssignOutputWithContext(context.Background()) +} + +func (i *ServiceAssign) ToServiceAssignOutputWithContext(ctx context.Context) ServiceAssignOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAssignOutput) +} + +// ServiceAssignArrayInput is an input type that accepts ServiceAssignArray and ServiceAssignArrayOutput values. +// You can construct a concrete instance of `ServiceAssignArrayInput` via: +// +// ServiceAssignArray{ ServiceAssignArgs{...} } +type ServiceAssignArrayInput interface { + pulumi.Input + + ToServiceAssignArrayOutput() ServiceAssignArrayOutput + ToServiceAssignArrayOutputWithContext(context.Context) ServiceAssignArrayOutput +} + +type ServiceAssignArray []ServiceAssignInput + +func (ServiceAssignArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ServiceAssign)(nil)).Elem() +} + +func (i ServiceAssignArray) ToServiceAssignArrayOutput() ServiceAssignArrayOutput { + return i.ToServiceAssignArrayOutputWithContext(context.Background()) +} + +func (i ServiceAssignArray) ToServiceAssignArrayOutputWithContext(ctx context.Context) ServiceAssignArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAssignArrayOutput) +} + +// ServiceAssignMapInput is an input type that accepts ServiceAssignMap and ServiceAssignMapOutput values. +// You can construct a concrete instance of `ServiceAssignMapInput` via: +// +// ServiceAssignMap{ "key": ServiceAssignArgs{...} } +type ServiceAssignMapInput interface { + pulumi.Input + + ToServiceAssignMapOutput() ServiceAssignMapOutput + ToServiceAssignMapOutputWithContext(context.Context) ServiceAssignMapOutput +} + +type ServiceAssignMap map[string]ServiceAssignInput + +func (ServiceAssignMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ServiceAssign)(nil)).Elem() +} + +func (i ServiceAssignMap) ToServiceAssignMapOutput() ServiceAssignMapOutput { + return i.ToServiceAssignMapOutputWithContext(context.Background()) +} + +func (i ServiceAssignMap) ToServiceAssignMapOutputWithContext(ctx context.Context) ServiceAssignMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAssignMapOutput) +} + +type ServiceAssignOutput struct{ *pulumi.OutputState } + +func (ServiceAssignOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceAssign)(nil)).Elem() +} + +func (o ServiceAssignOutput) ToServiceAssignOutput() ServiceAssignOutput { + return o +} + +func (o ServiceAssignOutput) ToServiceAssignOutputWithContext(ctx context.Context) ServiceAssignOutput { + return o +} + +// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. +func (o ServiceAssignOutput) ManagementScope() pulumi.IntOutput { + return o.ApplyT(func(v *ServiceAssign) pulumi.IntOutput { return v.ManagementScope }).(pulumi.IntOutput) +} + +// ID list of the managed departments. This parameter is valid when `managementScope` is `2`. +func (o ServiceAssignOutput) ManagementScopeNodeIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ServiceAssign) pulumi.IntArrayOutput { return v.ManagementScopeNodeIds }).(pulumi.IntArrayOutput) +} + +// Uin list of the managed members. This parameter is valid when `managementScope` is `2`. +func (o ServiceAssignOutput) ManagementScopeUins() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ServiceAssign) pulumi.IntArrayOutput { return v.ManagementScopeUins }).(pulumi.IntArrayOutput) +} + +// Uin list of the delegated admins, Including up to 20 items. +func (o ServiceAssignOutput) MemberUins() pulumi.IntArrayOutput { + return o.ApplyT(func(v *ServiceAssign) pulumi.IntArrayOutput { return v.MemberUins }).(pulumi.IntArrayOutput) +} + +// Organization service ID. +func (o ServiceAssignOutput) ServiceId() pulumi.IntOutput { + return o.ApplyT(func(v *ServiceAssign) pulumi.IntOutput { return v.ServiceId }).(pulumi.IntOutput) +} + +type ServiceAssignArrayOutput struct{ *pulumi.OutputState } + +func (ServiceAssignArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ServiceAssign)(nil)).Elem() +} + +func (o ServiceAssignArrayOutput) ToServiceAssignArrayOutput() ServiceAssignArrayOutput { + return o +} + +func (o ServiceAssignArrayOutput) ToServiceAssignArrayOutputWithContext(ctx context.Context) ServiceAssignArrayOutput { + return o +} + +func (o ServiceAssignArrayOutput) Index(i pulumi.IntInput) ServiceAssignOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ServiceAssign { + return vs[0].([]*ServiceAssign)[vs[1].(int)] + }).(ServiceAssignOutput) +} + +type ServiceAssignMapOutput struct{ *pulumi.OutputState } + +func (ServiceAssignMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ServiceAssign)(nil)).Elem() +} + +func (o ServiceAssignMapOutput) ToServiceAssignMapOutput() ServiceAssignMapOutput { + return o +} + +func (o ServiceAssignMapOutput) ToServiceAssignMapOutputWithContext(ctx context.Context) ServiceAssignMapOutput { + return o +} + +func (o ServiceAssignMapOutput) MapIndex(k pulumi.StringInput) ServiceAssignOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ServiceAssign { + return vs[0].(map[string]*ServiceAssign)[vs[1].(string)] + }).(ServiceAssignOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ServiceAssignInput)(nil)).Elem(), &ServiceAssign{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceAssignArrayInput)(nil)).Elem(), ServiceAssignArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceAssignMapInput)(nil)).Elem(), ServiceAssignMap{}) + pulumi.RegisterOutputType(ServiceAssignOutput{}) + pulumi.RegisterOutputType(ServiceAssignArrayOutput{}) + pulumi.RegisterOutputType(ServiceAssignMapOutput{}) +} diff --git a/sdk/go/tencentcloud/postgresql/account.go b/sdk/go/tencentcloud/postgresql/account.go new file mode 100644 index 000000000..72e534f00 --- /dev/null +++ b/sdk/go/tencentcloud/postgresql/account.go @@ -0,0 +1,399 @@ +// 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 postgresql + +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 postgresql account +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-3" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // 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{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create postgresql +// exampleInstance, err := Postgresql.NewInstance(ctx, "exampleInstance", &Postgresql.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// 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{ +// "test": pulumi.Any("tf"), +// }, +// }) +// if err != nil { +// return err +// } +// // create account +// _, err = Postgresql.NewAccount(ctx, "exampleAccount", &Postgresql.AccountArgs{ +// DbInstanceId: exampleInstance.ID(), +// UserName: pulumi.String("tf_example"), +// Password: pulumi.String("Password@123"), +// Type: pulumi.String("normal"), +// Remark: pulumi.String("remark"), +// LockStatus: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// postgres account can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Postgresql/account:Account example postgres-3hk6b6tj#tf_example +// ``` +type Account struct { + pulumi.CustomResourceState + + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` + // whether lock account. true: locked; false: unlock. + LockStatus pulumi.BoolOutput `pulumi:"lockStatus"` + // Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + Password pulumi.StringOutput `pulumi:"password"` + // Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + Remark pulumi.StringPtrOutput `pulumi:"remark"` + // The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + Type pulumi.StringOutput `pulumi:"type"` + // Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + UserName pulumi.StringOutput `pulumi:"userName"` +} + +// NewAccount registers a new resource with the given unique name, arguments, and options. +func NewAccount(ctx *pulumi.Context, + name string, args *AccountArgs, opts ...pulumi.ResourceOption) (*Account, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DbInstanceId == nil { + return nil, errors.New("invalid value for required argument 'DbInstanceId'") + } + if args.Password == nil { + return nil, errors.New("invalid value for required argument 'Password'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + if args.UserName == nil { + return nil, errors.New("invalid value for required argument 'UserName'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Account + err := ctx.RegisterResource("tencentcloud:Postgresql/account:Account", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAccount gets an existing Account 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 GetAccount(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AccountState, opts ...pulumi.ResourceOption) (*Account, error) { + var resource Account + err := ctx.ReadResource("tencentcloud:Postgresql/account:Account", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Account resources. +type accountState struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId *string `pulumi:"dbInstanceId"` + // whether lock account. true: locked; false: unlock. + LockStatus *bool `pulumi:"lockStatus"` + // Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + Password *string `pulumi:"password"` + // Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + Remark *string `pulumi:"remark"` + // The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + Type *string `pulumi:"type"` + // Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + UserName *string `pulumi:"userName"` +} + +type AccountState struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId pulumi.StringPtrInput + // whether lock account. true: locked; false: unlock. + LockStatus pulumi.BoolPtrInput + // Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + Password pulumi.StringPtrInput + // Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + Remark pulumi.StringPtrInput + // The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + Type pulumi.StringPtrInput + // Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + UserName pulumi.StringPtrInput +} + +func (AccountState) ElementType() reflect.Type { + return reflect.TypeOf((*accountState)(nil)).Elem() +} + +type accountArgs struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId string `pulumi:"dbInstanceId"` + // whether lock account. true: locked; false: unlock. + LockStatus *bool `pulumi:"lockStatus"` + // Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + Password string `pulumi:"password"` + // Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + Remark *string `pulumi:"remark"` + // The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + Type string `pulumi:"type"` + // Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + UserName string `pulumi:"userName"` +} + +// The set of arguments for constructing a Account resource. +type AccountArgs struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId pulumi.StringInput + // whether lock account. true: locked; false: unlock. + LockStatus pulumi.BoolPtrInput + // Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + Password pulumi.StringInput + // Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + Remark pulumi.StringPtrInput + // The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + Type pulumi.StringInput + // Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + UserName pulumi.StringInput +} + +func (AccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*accountArgs)(nil)).Elem() +} + +type AccountInput interface { + pulumi.Input + + ToAccountOutput() AccountOutput + ToAccountOutputWithContext(ctx context.Context) AccountOutput +} + +func (*Account) ElementType() reflect.Type { + return reflect.TypeOf((**Account)(nil)).Elem() +} + +func (i *Account) ToAccountOutput() AccountOutput { + return i.ToAccountOutputWithContext(context.Background()) +} + +func (i *Account) ToAccountOutputWithContext(ctx context.Context) AccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountOutput) +} + +// AccountArrayInput is an input type that accepts AccountArray and AccountArrayOutput values. +// You can construct a concrete instance of `AccountArrayInput` via: +// +// AccountArray{ AccountArgs{...} } +type AccountArrayInput interface { + pulumi.Input + + ToAccountArrayOutput() AccountArrayOutput + ToAccountArrayOutputWithContext(context.Context) AccountArrayOutput +} + +type AccountArray []AccountInput + +func (AccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Account)(nil)).Elem() +} + +func (i AccountArray) ToAccountArrayOutput() AccountArrayOutput { + return i.ToAccountArrayOutputWithContext(context.Background()) +} + +func (i AccountArray) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountArrayOutput) +} + +// AccountMapInput is an input type that accepts AccountMap and AccountMapOutput values. +// You can construct a concrete instance of `AccountMapInput` via: +// +// AccountMap{ "key": AccountArgs{...} } +type AccountMapInput interface { + pulumi.Input + + ToAccountMapOutput() AccountMapOutput + ToAccountMapOutputWithContext(context.Context) AccountMapOutput +} + +type AccountMap map[string]AccountInput + +func (AccountMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Account)(nil)).Elem() +} + +func (i AccountMap) ToAccountMapOutput() AccountMapOutput { + return i.ToAccountMapOutputWithContext(context.Background()) +} + +func (i AccountMap) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountMapOutput) +} + +type AccountOutput struct{ *pulumi.OutputState } + +func (AccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Account)(nil)).Elem() +} + +func (o AccountOutput) ToAccountOutput() AccountOutput { + return o +} + +func (o AccountOutput) ToAccountOutputWithContext(ctx context.Context) AccountOutput { + return o +} + +// Instance ID in the format of postgres-4wdeb0zv. +func (o AccountOutput) DbInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.DbInstanceId }).(pulumi.StringOutput) +} + +// whether lock account. true: locked; false: unlock. +func (o AccountOutput) LockStatus() pulumi.BoolOutput { + return o.ApplyT(func(v *Account) pulumi.BoolOutput { return v.LockStatus }).(pulumi.BoolOutput) +} + +// Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. +func (o AccountOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. +func (o AccountOutput) Remark() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Account) pulumi.StringPtrOutput { return v.Remark }).(pulumi.StringPtrOutput) +} + +// The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. +func (o AccountOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. +func (o AccountOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.UserName }).(pulumi.StringOutput) +} + +type AccountArrayOutput struct{ *pulumi.OutputState } + +func (AccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Account)(nil)).Elem() +} + +func (o AccountArrayOutput) ToAccountArrayOutput() AccountArrayOutput { + return o +} + +func (o AccountArrayOutput) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput { + return o +} + +func (o AccountArrayOutput) Index(i pulumi.IntInput) AccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Account { + return vs[0].([]*Account)[vs[1].(int)] + }).(AccountOutput) +} + +type AccountMapOutput struct{ *pulumi.OutputState } + +func (AccountMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Account)(nil)).Elem() +} + +func (o AccountMapOutput) ToAccountMapOutput() AccountMapOutput { + return o +} + +func (o AccountMapOutput) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput { + return o +} + +func (o AccountMapOutput) MapIndex(k pulumi.StringInput) AccountOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Account { + return vs[0].(map[string]*Account)[vs[1].(string)] + }).(AccountOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AccountInput)(nil)).Elem(), &Account{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountArrayInput)(nil)).Elem(), AccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountMapInput)(nil)).Elem(), AccountMap{}) + pulumi.RegisterOutputType(AccountOutput{}) + pulumi.RegisterOutputType(AccountArrayOutput{}) + pulumi.RegisterOutputType(AccountMapOutput{}) +} diff --git a/sdk/go/tencentcloud/postgresql/accountPrivilegesOperation.go b/sdk/go/tencentcloud/postgresql/accountPrivilegesOperation.go new file mode 100644 index 000000000..a9fbec666 --- /dev/null +++ b/sdk/go/tencentcloud/postgresql/accountPrivilegesOperation.go @@ -0,0 +1,363 @@ +// 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 postgresql + +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 postgresql account privileges +// +// ## Example Usage +// +// +// ```go +// package main +// +// 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" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-3" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // 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{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create postgresql +// exampleInstance, err := Postgresql.NewInstance(ctx, "exampleInstance", &Postgresql.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// 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{ +// "test": pulumi.Any("tf"), +// }, +// }) +// if err != nil { +// return err +// } +// // create account +// exampleAccount, err := Postgresql.NewAccount(ctx, "exampleAccount", &Postgresql.AccountArgs{ +// DbInstanceId: exampleInstance.ID(), +// UserName: pulumi.String("tf_example"), +// Password: pulumi.String("Password@123"), +// Type: pulumi.String("normal"), +// Remark: pulumi.String("remark"), +// LockStatus: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create account privileges +// _, err = Postgresql.NewAccountPrivilegesOperation(ctx, "exampleAccountPrivilegesOperation", &Postgresql.AccountPrivilegesOperationArgs{ +// DbInstanceId: exampleInstance.ID(), +// UserName: exampleAccount.UserName, +// ModifyPrivilegeSets: postgresql.AccountPrivilegesOperationModifyPrivilegeSetArray{ +// &postgresql.AccountPrivilegesOperationModifyPrivilegeSetArgs{ +// DatabasePrivilege: &postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs{ +// Object: &postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs{ +// ObjectName: pulumi.String("postgres"), +// ObjectType: pulumi.String("database"), +// }, +// PrivilegeSets: pulumi.StringArray{ +// pulumi.String("CONNECT"), +// pulumi.String("TEMPORARY"), +// pulumi.String("CREATE"), +// }, +// }, +// ModifyType: pulumi.String("grantObject"), +// IsCascade: pulumi.Bool(false), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +type AccountPrivilegesOperation struct { + pulumi.CustomResourceState + + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"` + // Privileges to modify. Batch modification supported, up to 50 entries at a time. + ModifyPrivilegeSets AccountPrivilegesOperationModifyPrivilegeSetArrayOutput `pulumi:"modifyPrivilegeSets"` + // Instance username. + UserName pulumi.StringOutput `pulumi:"userName"` +} + +// NewAccountPrivilegesOperation registers a new resource with the given unique name, arguments, and options. +func NewAccountPrivilegesOperation(ctx *pulumi.Context, + name string, args *AccountPrivilegesOperationArgs, opts ...pulumi.ResourceOption) (*AccountPrivilegesOperation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DbInstanceId == nil { + return nil, errors.New("invalid value for required argument 'DbInstanceId'") + } + if args.ModifyPrivilegeSets == nil { + return nil, errors.New("invalid value for required argument 'ModifyPrivilegeSets'") + } + if args.UserName == nil { + return nil, errors.New("invalid value for required argument 'UserName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AccountPrivilegesOperation + err := ctx.RegisterResource("tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAccountPrivilegesOperation gets an existing AccountPrivilegesOperation 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 GetAccountPrivilegesOperation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AccountPrivilegesOperationState, opts ...pulumi.ResourceOption) (*AccountPrivilegesOperation, error) { + var resource AccountPrivilegesOperation + err := ctx.ReadResource("tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AccountPrivilegesOperation resources. +type accountPrivilegesOperationState struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId *string `pulumi:"dbInstanceId"` + // Privileges to modify. Batch modification supported, up to 50 entries at a time. + ModifyPrivilegeSets []AccountPrivilegesOperationModifyPrivilegeSet `pulumi:"modifyPrivilegeSets"` + // Instance username. + UserName *string `pulumi:"userName"` +} + +type AccountPrivilegesOperationState struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId pulumi.StringPtrInput + // Privileges to modify. Batch modification supported, up to 50 entries at a time. + ModifyPrivilegeSets AccountPrivilegesOperationModifyPrivilegeSetArrayInput + // Instance username. + UserName pulumi.StringPtrInput +} + +func (AccountPrivilegesOperationState) ElementType() reflect.Type { + return reflect.TypeOf((*accountPrivilegesOperationState)(nil)).Elem() +} + +type accountPrivilegesOperationArgs struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId string `pulumi:"dbInstanceId"` + // Privileges to modify. Batch modification supported, up to 50 entries at a time. + ModifyPrivilegeSets []AccountPrivilegesOperationModifyPrivilegeSet `pulumi:"modifyPrivilegeSets"` + // Instance username. + UserName string `pulumi:"userName"` +} + +// The set of arguments for constructing a AccountPrivilegesOperation resource. +type AccountPrivilegesOperationArgs struct { + // Instance ID in the format of postgres-4wdeb0zv. + DbInstanceId pulumi.StringInput + // Privileges to modify. Batch modification supported, up to 50 entries at a time. + ModifyPrivilegeSets AccountPrivilegesOperationModifyPrivilegeSetArrayInput + // Instance username. + UserName pulumi.StringInput +} + +func (AccountPrivilegesOperationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*accountPrivilegesOperationArgs)(nil)).Elem() +} + +type AccountPrivilegesOperationInput interface { + pulumi.Input + + ToAccountPrivilegesOperationOutput() AccountPrivilegesOperationOutput + ToAccountPrivilegesOperationOutputWithContext(ctx context.Context) AccountPrivilegesOperationOutput +} + +func (*AccountPrivilegesOperation) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperation)(nil)).Elem() +} + +func (i *AccountPrivilegesOperation) ToAccountPrivilegesOperationOutput() AccountPrivilegesOperationOutput { + return i.ToAccountPrivilegesOperationOutputWithContext(context.Background()) +} + +func (i *AccountPrivilegesOperation) ToAccountPrivilegesOperationOutputWithContext(ctx context.Context) AccountPrivilegesOperationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationOutput) +} + +// AccountPrivilegesOperationArrayInput is an input type that accepts AccountPrivilegesOperationArray and AccountPrivilegesOperationArrayOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationArrayInput` via: +// +// AccountPrivilegesOperationArray{ AccountPrivilegesOperationArgs{...} } +type AccountPrivilegesOperationArrayInput interface { + pulumi.Input + + ToAccountPrivilegesOperationArrayOutput() AccountPrivilegesOperationArrayOutput + ToAccountPrivilegesOperationArrayOutputWithContext(context.Context) AccountPrivilegesOperationArrayOutput +} + +type AccountPrivilegesOperationArray []AccountPrivilegesOperationInput + +func (AccountPrivilegesOperationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AccountPrivilegesOperation)(nil)).Elem() +} + +func (i AccountPrivilegesOperationArray) ToAccountPrivilegesOperationArrayOutput() AccountPrivilegesOperationArrayOutput { + return i.ToAccountPrivilegesOperationArrayOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationArray) ToAccountPrivilegesOperationArrayOutputWithContext(ctx context.Context) AccountPrivilegesOperationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationArrayOutput) +} + +// AccountPrivilegesOperationMapInput is an input type that accepts AccountPrivilegesOperationMap and AccountPrivilegesOperationMapOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationMapInput` via: +// +// AccountPrivilegesOperationMap{ "key": AccountPrivilegesOperationArgs{...} } +type AccountPrivilegesOperationMapInput interface { + pulumi.Input + + ToAccountPrivilegesOperationMapOutput() AccountPrivilegesOperationMapOutput + ToAccountPrivilegesOperationMapOutputWithContext(context.Context) AccountPrivilegesOperationMapOutput +} + +type AccountPrivilegesOperationMap map[string]AccountPrivilegesOperationInput + +func (AccountPrivilegesOperationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AccountPrivilegesOperation)(nil)).Elem() +} + +func (i AccountPrivilegesOperationMap) ToAccountPrivilegesOperationMapOutput() AccountPrivilegesOperationMapOutput { + return i.ToAccountPrivilegesOperationMapOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationMap) ToAccountPrivilegesOperationMapOutputWithContext(ctx context.Context) AccountPrivilegesOperationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationMapOutput) +} + +type AccountPrivilegesOperationOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperation)(nil)).Elem() +} + +func (o AccountPrivilegesOperationOutput) ToAccountPrivilegesOperationOutput() AccountPrivilegesOperationOutput { + return o +} + +func (o AccountPrivilegesOperationOutput) ToAccountPrivilegesOperationOutputWithContext(ctx context.Context) AccountPrivilegesOperationOutput { + return o +} + +// Instance ID in the format of postgres-4wdeb0zv. +func (o AccountPrivilegesOperationOutput) DbInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *AccountPrivilegesOperation) pulumi.StringOutput { return v.DbInstanceId }).(pulumi.StringOutput) +} + +// Privileges to modify. Batch modification supported, up to 50 entries at a time. +func (o AccountPrivilegesOperationOutput) ModifyPrivilegeSets() AccountPrivilegesOperationModifyPrivilegeSetArrayOutput { + return o.ApplyT(func(v *AccountPrivilegesOperation) AccountPrivilegesOperationModifyPrivilegeSetArrayOutput { + return v.ModifyPrivilegeSets + }).(AccountPrivilegesOperationModifyPrivilegeSetArrayOutput) +} + +// Instance username. +func (o AccountPrivilegesOperationOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v *AccountPrivilegesOperation) pulumi.StringOutput { return v.UserName }).(pulumi.StringOutput) +} + +type AccountPrivilegesOperationArrayOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AccountPrivilegesOperation)(nil)).Elem() +} + +func (o AccountPrivilegesOperationArrayOutput) ToAccountPrivilegesOperationArrayOutput() AccountPrivilegesOperationArrayOutput { + return o +} + +func (o AccountPrivilegesOperationArrayOutput) ToAccountPrivilegesOperationArrayOutputWithContext(ctx context.Context) AccountPrivilegesOperationArrayOutput { + return o +} + +func (o AccountPrivilegesOperationArrayOutput) Index(i pulumi.IntInput) AccountPrivilegesOperationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AccountPrivilegesOperation { + return vs[0].([]*AccountPrivilegesOperation)[vs[1].(int)] + }).(AccountPrivilegesOperationOutput) +} + +type AccountPrivilegesOperationMapOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AccountPrivilegesOperation)(nil)).Elem() +} + +func (o AccountPrivilegesOperationMapOutput) ToAccountPrivilegesOperationMapOutput() AccountPrivilegesOperationMapOutput { + return o +} + +func (o AccountPrivilegesOperationMapOutput) ToAccountPrivilegesOperationMapOutputWithContext(ctx context.Context) AccountPrivilegesOperationMapOutput { + return o +} + +func (o AccountPrivilegesOperationMapOutput) MapIndex(k pulumi.StringInput) AccountPrivilegesOperationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AccountPrivilegesOperation { + return vs[0].(map[string]*AccountPrivilegesOperation)[vs[1].(string)] + }).(AccountPrivilegesOperationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationInput)(nil)).Elem(), &AccountPrivilegesOperation{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationArrayInput)(nil)).Elem(), AccountPrivilegesOperationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationMapInput)(nil)).Elem(), AccountPrivilegesOperationMap{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationOutput{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationArrayOutput{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationMapOutput{}) +} diff --git a/sdk/go/tencentcloud/postgresql/getAccountPrivileges.go b/sdk/go/tencentcloud/postgresql/getAccountPrivileges.go new file mode 100644 index 000000000..1e1c3e8e4 --- /dev/null +++ b/sdk/go/tencentcloud/postgresql/getAccountPrivileges.go @@ -0,0 +1,158 @@ +// 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 postgresql + +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 postgresql account privileges +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Postgresql.GetAccountPrivileges(ctx, &postgresql.GetAccountPrivilegesArgs{ +// DatabaseObjectSets: []postgresql.GetAccountPrivilegesDatabaseObjectSet{ +// { +// ObjectName: "postgres", +// ObjectType: "database", +// }, +// }, +// DbInstanceId: "postgres-3hk6b6tj", +// UserName: "tf_example", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetAccountPrivileges(ctx *pulumi.Context, args *GetAccountPrivilegesArgs, opts ...pulumi.InvokeOption) (*GetAccountPrivilegesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetAccountPrivilegesResult + err := ctx.Invoke("tencentcloud:Postgresql/getAccountPrivileges:getAccountPrivileges", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAccountPrivileges. +type GetAccountPrivilegesArgs struct { + // Instance database object info. + DatabaseObjectSets []GetAccountPrivilegesDatabaseObjectSet `pulumi:"databaseObjectSets"` + // Instance ID. + DbInstanceId string `pulumi:"dbInstanceId"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Instance username. + UserName string `pulumi:"userName"` +} + +// A collection of values returned by getAccountPrivileges. +type GetAccountPrivilegesResult struct { + DatabaseObjectSets []GetAccountPrivilegesDatabaseObjectSet `pulumi:"databaseObjectSets"` + DbInstanceId string `pulumi:"dbInstanceId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + PrivilegeSets []GetAccountPrivilegesPrivilegeSet `pulumi:"privilegeSets"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + UserName string `pulumi:"userName"` +} + +func GetAccountPrivilegesOutput(ctx *pulumi.Context, args GetAccountPrivilegesOutputArgs, opts ...pulumi.InvokeOption) GetAccountPrivilegesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetAccountPrivilegesResult, error) { + args := v.(GetAccountPrivilegesArgs) + r, err := GetAccountPrivileges(ctx, &args, opts...) + var s GetAccountPrivilegesResult + if r != nil { + s = *r + } + return s, err + }).(GetAccountPrivilegesResultOutput) +} + +// A collection of arguments for invoking getAccountPrivileges. +type GetAccountPrivilegesOutputArgs struct { + // Instance database object info. + DatabaseObjectSets GetAccountPrivilegesDatabaseObjectSetArrayInput `pulumi:"databaseObjectSets"` + // Instance ID. + DbInstanceId pulumi.StringInput `pulumi:"dbInstanceId"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Instance username. + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (GetAccountPrivilegesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesArgs)(nil)).Elem() +} + +// A collection of values returned by getAccountPrivileges. +type GetAccountPrivilegesResultOutput struct{ *pulumi.OutputState } + +func (GetAccountPrivilegesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesResult)(nil)).Elem() +} + +func (o GetAccountPrivilegesResultOutput) ToGetAccountPrivilegesResultOutput() GetAccountPrivilegesResultOutput { + return o +} + +func (o GetAccountPrivilegesResultOutput) ToGetAccountPrivilegesResultOutputWithContext(ctx context.Context) GetAccountPrivilegesResultOutput { + return o +} + +func (o GetAccountPrivilegesResultOutput) DatabaseObjectSets() GetAccountPrivilegesDatabaseObjectSetArrayOutput { + return o.ApplyT(func(v GetAccountPrivilegesResult) []GetAccountPrivilegesDatabaseObjectSet { + return v.DatabaseObjectSets + }).(GetAccountPrivilegesDatabaseObjectSetArrayOutput) +} + +func (o GetAccountPrivilegesResultOutput) DbInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesResult) string { return v.DbInstanceId }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetAccountPrivilegesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesResultOutput) PrivilegeSets() GetAccountPrivilegesPrivilegeSetArrayOutput { + return o.ApplyT(func(v GetAccountPrivilegesResult) []GetAccountPrivilegesPrivilegeSet { return v.PrivilegeSets }).(GetAccountPrivilegesPrivilegeSetArrayOutput) +} + +func (o GetAccountPrivilegesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAccountPrivilegesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func (o GetAccountPrivilegesResultOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesResult) string { return v.UserName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetAccountPrivilegesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/postgresql/getDedicatedClusters.go b/sdk/go/tencentcloud/postgresql/getDedicatedClusters.go new file mode 100644 index 000000000..db9596caf --- /dev/null +++ b/sdk/go/tencentcloud/postgresql/getDedicatedClusters.go @@ -0,0 +1,168 @@ +// 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 postgresql + +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 Postgresql dedicated clusters +// +// ## Example Usage +// +// ### Query all instances +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Postgresql.GetDedicatedClusters(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query instances by filters +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Postgresql.GetDedicatedClusters(ctx, &postgresql.GetDedicatedClustersArgs{ +// Filters: []postgresql.GetDedicatedClustersFilter{ +// { +// Name: pulumi.StringRef("dedicated-cluster-id"), +// Values: []string{ +// "cluster-262n63e8", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetDedicatedClusters(ctx *pulumi.Context, args *GetDedicatedClustersArgs, opts ...pulumi.InvokeOption) (*GetDedicatedClustersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetDedicatedClustersResult + err := ctx.Invoke("tencentcloud:Postgresql/getDedicatedClusters:getDedicatedClusters", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getDedicatedClusters. +type GetDedicatedClustersArgs struct { + // Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + Filters []GetDedicatedClustersFilter `pulumi:"filters"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getDedicatedClusters. +type GetDedicatedClustersResult struct { + // Dedicated cluster set info. + DedicatedClusterSets []GetDedicatedClustersDedicatedClusterSet `pulumi:"dedicatedClusterSets"` + Filters []GetDedicatedClustersFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetDedicatedClustersOutput(ctx *pulumi.Context, args GetDedicatedClustersOutputArgs, opts ...pulumi.InvokeOption) GetDedicatedClustersResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetDedicatedClustersResult, error) { + args := v.(GetDedicatedClustersArgs) + r, err := GetDedicatedClusters(ctx, &args, opts...) + var s GetDedicatedClustersResult + if r != nil { + s = *r + } + return s, err + }).(GetDedicatedClustersResultOutput) +} + +// A collection of arguments for invoking getDedicatedClusters. +type GetDedicatedClustersOutputArgs struct { + // Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + Filters GetDedicatedClustersFilterArrayInput `pulumi:"filters"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetDedicatedClustersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClustersArgs)(nil)).Elem() +} + +// A collection of values returned by getDedicatedClusters. +type GetDedicatedClustersResultOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClustersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClustersResult)(nil)).Elem() +} + +func (o GetDedicatedClustersResultOutput) ToGetDedicatedClustersResultOutput() GetDedicatedClustersResultOutput { + return o +} + +func (o GetDedicatedClustersResultOutput) ToGetDedicatedClustersResultOutputWithContext(ctx context.Context) GetDedicatedClustersResultOutput { + return o +} + +// Dedicated cluster set info. +func (o GetDedicatedClustersResultOutput) DedicatedClusterSets() GetDedicatedClustersDedicatedClusterSetArrayOutput { + return o.ApplyT(func(v GetDedicatedClustersResult) []GetDedicatedClustersDedicatedClusterSet { + return v.DedicatedClusterSets + }).(GetDedicatedClustersDedicatedClusterSetArrayOutput) +} + +func (o GetDedicatedClustersResultOutput) Filters() GetDedicatedClustersFilterArrayOutput { + return o.ApplyT(func(v GetDedicatedClustersResult) []GetDedicatedClustersFilter { return v.Filters }).(GetDedicatedClustersFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetDedicatedClustersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetDedicatedClustersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetDedicatedClustersResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetDedicatedClustersResultOutput{}) +} diff --git a/sdk/go/tencentcloud/postgresql/init.go b/sdk/go/tencentcloud/postgresql/init.go index f0f9284bb..c74f65a8f 100644 --- a/sdk/go/tencentcloud/postgresql/init.go +++ b/sdk/go/tencentcloud/postgresql/init.go @@ -21,6 +21,10 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "tencentcloud:Postgresql/account:Account": + r = &Account{} + case "tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation": + r = &AccountPrivilegesOperation{} case "tencentcloud:Postgresql/backupDownloadRestrictionConfig:BackupDownloadRestrictionConfig": r = &BackupDownloadRestrictionConfig{} case "tencentcloud:Postgresql/backupPlanConfig:BackupPlanConfig": @@ -70,6 +74,16 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "tencentcloud", + "Postgresql/account", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Postgresql/accountPrivilegesOperation", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Postgresql/backupDownloadRestrictionConfig", diff --git a/sdk/go/tencentcloud/postgresql/instance.go b/sdk/go/tencentcloud/postgresql/instance.go index c0fc6be17..3751735aa 100644 --- a/sdk/go/tencentcloud/postgresql/instance.go +++ b/sdk/go/tencentcloud/postgresql/instance.go @@ -19,6 +19,8 @@ import ( // // ## Example Usage // +// ### Create a postgresql instance +// // // ```go // package main @@ -86,7 +88,77 @@ import ( // ``` // // -// ### Create a multi available zone bucket +// ### Create a postgresql instance with delete protection +// +// +// ```go +// package main +// +// 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" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-3" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // 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{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create postgresql +// _, err = Postgresql.NewInstance(ctx, "example", &Postgresql.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// 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), +// DeleteProtection: pulumi.Bool(true), +// Tags: pulumi.Map{ +// "test": pulumi.Any("tf"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a multi available zone postgresql instance // // // ```go @@ -167,7 +239,86 @@ import ( // ``` // // -// ### create pgsql with kms key +// ### Create a multi available zone postgresql instance of CDC +// +// +// ```go +// package main +// +// 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" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // 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{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create postgresql +// _, err = Postgresql.NewInstance(ctx, "example", &Postgresql.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DbMajorVersion: pulumi.String("10"), +// RootUser: pulumi.String("root123"), +// RootPassword: pulumi.String("Root123$"), +// Charset: pulumi.String("UTF8"), +// ProjectId: pulumi.Int(0), +// Memory: pulumi.Int(2), +// Cpu: pulumi.Int(1), +// Storage: pulumi.Int(10), +// DbNodeSets: postgresql.InstanceDbNodeSetArray{ +// &postgresql.InstanceDbNodeSetArgs{ +// Role: pulumi.String("Primary"), +// Zone: pulumi.String(availabilityZone), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// }, +// &postgresql.InstanceDbNodeSetArgs{ +// Zone: pulumi.String(availabilityZone), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// }, +// }, +// Tags: pulumi.Map{ +// "CreateBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create pgsql with kms key // // // ```go @@ -227,7 +378,7 @@ import ( // ``` // // -// ### upgrade kernel version +// ### Upgrade kernel version // // // ```go @@ -324,6 +475,8 @@ type Instance struct { DbMajorVesion pulumi.StringOutput `pulumi:"dbMajorVesion"` // Specify instance node info for disaster migration. DbNodeSets InstanceDbNodeSetArrayOutput `pulumi:"dbNodeSets"` + // Whether to enable instance deletion protection. Default: false. + DeleteProtection pulumi.BoolPtrOutput `pulumi:"deleteProtection"` // 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. @@ -455,6 +608,8 @@ type instanceState struct { DbMajorVesion *string `pulumi:"dbMajorVesion"` // Specify instance node info for disaster migration. DbNodeSets []InstanceDbNodeSet `pulumi:"dbNodeSets"` + // Whether to enable instance deletion protection. Default: false. + DeleteProtection *bool `pulumi:"deleteProtection"` // 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. @@ -532,6 +687,8 @@ type InstanceState struct { DbMajorVesion pulumi.StringPtrInput // Specify instance node info for disaster migration. DbNodeSets InstanceDbNodeSetArrayInput + // Whether to enable instance deletion protection. Default: false. + DeleteProtection pulumi.BoolPtrInput // 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. @@ -611,6 +768,8 @@ type instanceArgs struct { DbMajorVesion *string `pulumi:"dbMajorVesion"` // Specify instance node info for disaster migration. DbNodeSets []InstanceDbNodeSet `pulumi:"dbNodeSets"` + // Whether to enable instance deletion protection. Default: false. + DeleteProtection *bool `pulumi:"deleteProtection"` // 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. @@ -677,6 +836,8 @@ type InstanceArgs struct { DbMajorVesion pulumi.StringPtrInput // Specify instance node info for disaster migration. DbNodeSets InstanceDbNodeSetArrayInput + // Whether to enable instance deletion protection. Default: false. + DeleteProtection pulumi.BoolPtrInput // 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. @@ -866,6 +1027,11 @@ func (o InstanceOutput) DbNodeSets() InstanceDbNodeSetArrayOutput { return o.ApplyT(func(v *Instance) InstanceDbNodeSetArrayOutput { return v.DbNodeSets }).(InstanceDbNodeSetArrayOutput) } +// Whether to enable instance deletion protection. Default: false. +func (o InstanceOutput) DeleteProtection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DeleteProtection }).(pulumi.BoolPtrOutput) +} + // 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) diff --git a/sdk/go/tencentcloud/postgresql/pulumiTypes.go b/sdk/go/tencentcloud/postgresql/pulumiTypes.go index ae6f134eb..1b5c6641c 100644 --- a/sdk/go/tencentcloud/postgresql/pulumiTypes.go +++ b/sdk/go/tencentcloud/postgresql/pulumiTypes.go @@ -13,6 +13,504 @@ import ( var _ = internal.GetEnvOrDefault +type AccountPrivilegesOperationModifyPrivilegeSet struct { + // Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + DatabasePrivilege *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege `pulumi:"databasePrivilege"` + // Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + IsCascade *bool `pulumi:"isCascade"` + // Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + ModifyType *string `pulumi:"modifyType"` +} + +// AccountPrivilegesOperationModifyPrivilegeSetInput is an input type that accepts AccountPrivilegesOperationModifyPrivilegeSetArgs and AccountPrivilegesOperationModifyPrivilegeSetOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationModifyPrivilegeSetInput` via: +// +// AccountPrivilegesOperationModifyPrivilegeSetArgs{...} +type AccountPrivilegesOperationModifyPrivilegeSetInput interface { + pulumi.Input + + ToAccountPrivilegesOperationModifyPrivilegeSetOutput() AccountPrivilegesOperationModifyPrivilegeSetOutput + ToAccountPrivilegesOperationModifyPrivilegeSetOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetOutput +} + +type AccountPrivilegesOperationModifyPrivilegeSetArgs struct { + // Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + DatabasePrivilege AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput `pulumi:"databasePrivilege"` + // Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + IsCascade pulumi.BoolPtrInput `pulumi:"isCascade"` + // Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + ModifyType pulumi.StringPtrInput `pulumi:"modifyType"` +} + +func (AccountPrivilegesOperationModifyPrivilegeSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSet)(nil)).Elem() +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetArgs) ToAccountPrivilegesOperationModifyPrivilegeSetOutput() AccountPrivilegesOperationModifyPrivilegeSetOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetArgs) ToAccountPrivilegesOperationModifyPrivilegeSetOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetOutput) +} + +// AccountPrivilegesOperationModifyPrivilegeSetArrayInput is an input type that accepts AccountPrivilegesOperationModifyPrivilegeSetArray and AccountPrivilegesOperationModifyPrivilegeSetArrayOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationModifyPrivilegeSetArrayInput` via: +// +// AccountPrivilegesOperationModifyPrivilegeSetArray{ AccountPrivilegesOperationModifyPrivilegeSetArgs{...} } +type AccountPrivilegesOperationModifyPrivilegeSetArrayInput interface { + pulumi.Input + + ToAccountPrivilegesOperationModifyPrivilegeSetArrayOutput() AccountPrivilegesOperationModifyPrivilegeSetArrayOutput + ToAccountPrivilegesOperationModifyPrivilegeSetArrayOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetArrayOutput +} + +type AccountPrivilegesOperationModifyPrivilegeSetArray []AccountPrivilegesOperationModifyPrivilegeSetInput + +func (AccountPrivilegesOperationModifyPrivilegeSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AccountPrivilegesOperationModifyPrivilegeSet)(nil)).Elem() +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetArray) ToAccountPrivilegesOperationModifyPrivilegeSetArrayOutput() AccountPrivilegesOperationModifyPrivilegeSetArrayOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetArrayOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetArray) ToAccountPrivilegesOperationModifyPrivilegeSetArrayOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetArrayOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationModifyPrivilegeSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSet)(nil)).Elem() +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetOutput) ToAccountPrivilegesOperationModifyPrivilegeSetOutput() AccountPrivilegesOperationModifyPrivilegeSetOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetOutput) ToAccountPrivilegesOperationModifyPrivilegeSetOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetOutput { + return o +} + +// Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetOutput) DatabasePrivilege() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSet) *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { + return v.DatabasePrivilege + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) +} + +// Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. +func (o AccountPrivilegesOperationModifyPrivilegeSetOutput) IsCascade() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSet) *bool { return v.IsCascade }).(pulumi.BoolPtrOutput) +} + +// Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. +func (o AccountPrivilegesOperationModifyPrivilegeSetOutput) ModifyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSet) *string { return v.ModifyType }).(pulumi.StringPtrOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetArrayOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationModifyPrivilegeSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AccountPrivilegesOperationModifyPrivilegeSet)(nil)).Elem() +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetArrayOutput) ToAccountPrivilegesOperationModifyPrivilegeSetArrayOutput() AccountPrivilegesOperationModifyPrivilegeSetArrayOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetArrayOutput) ToAccountPrivilegesOperationModifyPrivilegeSetArrayOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetArrayOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetArrayOutput) Index(i pulumi.IntInput) AccountPrivilegesOperationModifyPrivilegeSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AccountPrivilegesOperationModifyPrivilegeSet { + return vs[0].([]AccountPrivilegesOperationModifyPrivilegeSet)[vs[1].(int)] + }).(AccountPrivilegesOperationModifyPrivilegeSetOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege struct { + // Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + Object *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject `pulumi:"object"` + // Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + PrivilegeSets []string `pulumi:"privilegeSets"` +} + +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeInput is an input type that accepts AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs and AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeInput` via: +// +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs{...} +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeInput interface { + pulumi.Input + + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs struct { + // Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + Object AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput `pulumi:"object"` + // Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + PrivilegeSets pulumi.StringArrayInput `pulumi:"privilegeSets"` +} + +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege)(nil)).Elem() +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput).ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx) +} + +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput is an input type that accepts AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs, AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtr and AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput` via: +// +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs{...} +// +// or: +// +// nil +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput interface { + pulumi.Input + + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput +} + +type accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs + +func AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtr(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput { + return (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType)(v) +} + +func (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege)(nil)).Elem() +} + +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(context.Background()) +} + +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege)(nil)).Elem() +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return o.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(context.Background()) +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { + return &v + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) +} + +// Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) Object() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + return v.Object + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) +} + +// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) PrivilegeSets() pulumi.StringArrayOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) []string { return v.PrivilegeSets }).(pulumi.StringArrayOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege)(nil)).Elem() +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) Elem() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { + if v != nil { + return *v + } + var ret AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege + return ret + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput) +} + +// Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) Object() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + if v == nil { + return nil + } + return v.Object + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) +} + +// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput) PrivilegeSets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege) []string { + if v == nil { + return nil + } + return v.PrivilegeSets + }).(pulumi.StringArrayOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject struct { + // Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + DatabaseName *string `pulumi:"databaseName"` + // Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + ObjectName string `pulumi:"objectName"` + // Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + ObjectType string `pulumi:"objectType"` + // Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + SchemaName *string `pulumi:"schemaName"` + // Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + TableName *string `pulumi:"tableName"` +} + +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectInput is an input type that accepts AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs and AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectInput` via: +// +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs{...} +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectInput interface { + pulumi.Input + + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs struct { + // Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + DatabaseName pulumi.StringPtrInput `pulumi:"databaseName"` + // Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + ObjectName pulumi.StringInput `pulumi:"objectName"` + // Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + ObjectType pulumi.StringInput `pulumi:"objectType"` + // Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + SchemaName pulumi.StringPtrInput `pulumi:"schemaName"` + // Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + TableName pulumi.StringPtrInput `pulumi:"tableName"` +} + +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject)(nil)).Elem() +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(context.Background()) +} + +func (i AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput).ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx) +} + +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput is an input type that accepts AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs, AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtr and AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput values. +// You can construct a concrete instance of `AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput` via: +// +// AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs{...} +// +// or: +// +// nil +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput interface { + pulumi.Input + + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput + ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput +} + +type accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs + +func AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtr(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput { + return (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType)(v) +} + +func (*accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject)(nil)).Elem() +} + +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return i.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(context.Background()) +} + +func (i *accountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrType) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject)(nil)).Elem() +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o.ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(context.Background()) +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + return &v + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) +} + +// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + return v.DatabaseName + }).(pulumi.StringPtrOutput) +} + +// Database object Name. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ObjectName() pulumi.StringOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) string { + return v.ObjectName + }).(pulumi.StringOutput) +} + +// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) ObjectType() pulumi.StringOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) string { + return v.ObjectType + }).(pulumi.StringOutput) +} + +// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) SchemaName() pulumi.StringPtrOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + return v.SchemaName + }).(pulumi.StringPtrOutput) +} + +// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) TableName() pulumi.StringPtrOutput { + return o.ApplyT(func(v AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + return v.TableName + }).(pulumi.StringPtrOutput) +} + +type AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput struct{ *pulumi.OutputState } + +func (AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject)(nil)).Elem() +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) ToAccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutputWithContext(ctx context.Context) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput { + return o +} + +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) Elem() AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + if v != nil { + return *v + } + var ret AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject + return ret + }).(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput) +} + +// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + if v == nil { + return nil + } + return v.DatabaseName + }).(pulumi.StringPtrOutput) +} + +// Database object Name. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) ObjectName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + if v == nil { + return nil + } + return &v.ObjectName + }).(pulumi.StringPtrOutput) +} + +// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) ObjectType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + if v == nil { + return nil + } + return &v.ObjectType + }).(pulumi.StringPtrOutput) +} + +// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) SchemaName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + if v == nil { + return nil + } + return v.SchemaName + }).(pulumi.StringPtrOutput) +} + +// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. +func (o AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput) TableName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject) *string { + if v == nil { + return nil + } + return v.TableName + }).(pulumi.StringPtrOutput) +} + type InstanceBackupPlan struct { // List of backup period per week, available values: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. NOTE: At least specify two days. BackupPeriods []string `pulumi:"backupPeriods"` @@ -208,6 +706,8 @@ func (o InstanceBackupPlanPtrOutput) MinBackupStartTime() pulumi.StringPtrOutput } type InstanceDbNodeSet struct { + // Dedicated cluster ID. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. Role *string `pulumi:"role"` // Indicates the node available zone. @@ -226,6 +726,8 @@ type InstanceDbNodeSetInput interface { } type InstanceDbNodeSetArgs struct { + // Dedicated cluster ID. + DedicatedClusterId pulumi.StringPtrInput `pulumi:"dedicatedClusterId"` // Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. Role pulumi.StringPtrInput `pulumi:"role"` // Indicates the node available zone. @@ -283,6 +785,11 @@ func (o InstanceDbNodeSetOutput) ToInstanceDbNodeSetOutputWithContext(ctx contex return o } +// Dedicated cluster ID. +func (o InstanceDbNodeSetOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceDbNodeSet) *string { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. func (o InstanceDbNodeSetOutput) Role() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceDbNodeSet) *string { return v.Role }).(pulumi.StringPtrOutput) @@ -293,236 +800,608 @@ func (o InstanceDbNodeSetOutput) Zone() pulumi.StringOutput { return o.ApplyT(func(v InstanceDbNodeSet) string { return v.Zone }).(pulumi.StringOutput) } -type InstanceDbNodeSetArrayOutput struct{ *pulumi.OutputState } +type InstanceDbNodeSetArrayOutput struct{ *pulumi.OutputState } + +func (InstanceDbNodeSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceDbNodeSet)(nil)).Elem() +} + +func (o InstanceDbNodeSetArrayOutput) ToInstanceDbNodeSetArrayOutput() InstanceDbNodeSetArrayOutput { + return o +} + +func (o InstanceDbNodeSetArrayOutput) ToInstanceDbNodeSetArrayOutputWithContext(ctx context.Context) InstanceDbNodeSetArrayOutput { + return o +} + +func (o InstanceDbNodeSetArrayOutput) Index(i pulumi.IntInput) InstanceDbNodeSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceDbNodeSet { + return vs[0].([]InstanceDbNodeSet)[vs[1].(int)] + }).(InstanceDbNodeSetOutput) +} + +type ParameterTemplateModifyParamEntrySet struct { + // Modify the parameter value. The input parameters are passed in the form of strings, for example: decimal `0.1`, integer `1000`, enumeration `replica`. + ExpectedValue string `pulumi:"expectedValue"` + // The parameter name. + Name string `pulumi:"name"` +} + +// ParameterTemplateModifyParamEntrySetInput is an input type that accepts ParameterTemplateModifyParamEntrySetArgs and ParameterTemplateModifyParamEntrySetOutput values. +// You can construct a concrete instance of `ParameterTemplateModifyParamEntrySetInput` via: +// +// ParameterTemplateModifyParamEntrySetArgs{...} +type ParameterTemplateModifyParamEntrySetInput interface { + pulumi.Input + + ToParameterTemplateModifyParamEntrySetOutput() ParameterTemplateModifyParamEntrySetOutput + ToParameterTemplateModifyParamEntrySetOutputWithContext(context.Context) ParameterTemplateModifyParamEntrySetOutput +} + +type ParameterTemplateModifyParamEntrySetArgs struct { + // Modify the parameter value. The input parameters are passed in the form of strings, for example: decimal `0.1`, integer `1000`, enumeration `replica`. + ExpectedValue pulumi.StringInput `pulumi:"expectedValue"` + // The parameter name. + Name pulumi.StringInput `pulumi:"name"` +} + +func (ParameterTemplateModifyParamEntrySetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ParameterTemplateModifyParamEntrySet)(nil)).Elem() +} + +func (i ParameterTemplateModifyParamEntrySetArgs) ToParameterTemplateModifyParamEntrySetOutput() ParameterTemplateModifyParamEntrySetOutput { + return i.ToParameterTemplateModifyParamEntrySetOutputWithContext(context.Background()) +} + +func (i ParameterTemplateModifyParamEntrySetArgs) ToParameterTemplateModifyParamEntrySetOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ParameterTemplateModifyParamEntrySetOutput) +} + +// ParameterTemplateModifyParamEntrySetArrayInput is an input type that accepts ParameterTemplateModifyParamEntrySetArray and ParameterTemplateModifyParamEntrySetArrayOutput values. +// You can construct a concrete instance of `ParameterTemplateModifyParamEntrySetArrayInput` via: +// +// ParameterTemplateModifyParamEntrySetArray{ ParameterTemplateModifyParamEntrySetArgs{...} } +type ParameterTemplateModifyParamEntrySetArrayInput interface { + pulumi.Input + + ToParameterTemplateModifyParamEntrySetArrayOutput() ParameterTemplateModifyParamEntrySetArrayOutput + ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(context.Context) ParameterTemplateModifyParamEntrySetArrayOutput +} + +type ParameterTemplateModifyParamEntrySetArray []ParameterTemplateModifyParamEntrySetInput + +func (ParameterTemplateModifyParamEntrySetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ParameterTemplateModifyParamEntrySet)(nil)).Elem() +} + +func (i ParameterTemplateModifyParamEntrySetArray) ToParameterTemplateModifyParamEntrySetArrayOutput() ParameterTemplateModifyParamEntrySetArrayOutput { + return i.ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(context.Background()) +} + +func (i ParameterTemplateModifyParamEntrySetArray) ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ParameterTemplateModifyParamEntrySetArrayOutput) +} + +type ParameterTemplateModifyParamEntrySetOutput struct{ *pulumi.OutputState } + +func (ParameterTemplateModifyParamEntrySetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ParameterTemplateModifyParamEntrySet)(nil)).Elem() +} + +func (o ParameterTemplateModifyParamEntrySetOutput) ToParameterTemplateModifyParamEntrySetOutput() ParameterTemplateModifyParamEntrySetOutput { + return o +} + +func (o ParameterTemplateModifyParamEntrySetOutput) ToParameterTemplateModifyParamEntrySetOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetOutput { + return o +} + +// Modify the parameter value. The input parameters are passed in the form of strings, for example: decimal `0.1`, integer `1000`, enumeration `replica`. +func (o ParameterTemplateModifyParamEntrySetOutput) ExpectedValue() pulumi.StringOutput { + return o.ApplyT(func(v ParameterTemplateModifyParamEntrySet) string { return v.ExpectedValue }).(pulumi.StringOutput) +} + +// The parameter name. +func (o ParameterTemplateModifyParamEntrySetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ParameterTemplateModifyParamEntrySet) string { return v.Name }).(pulumi.StringOutput) +} + +type ParameterTemplateModifyParamEntrySetArrayOutput struct{ *pulumi.OutputState } + +func (ParameterTemplateModifyParamEntrySetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ParameterTemplateModifyParamEntrySet)(nil)).Elem() +} + +func (o ParameterTemplateModifyParamEntrySetArrayOutput) ToParameterTemplateModifyParamEntrySetArrayOutput() ParameterTemplateModifyParamEntrySetArrayOutput { + return o +} + +func (o ParameterTemplateModifyParamEntrySetArrayOutput) ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetArrayOutput { + return o +} + +func (o ParameterTemplateModifyParamEntrySetArrayOutput) Index(i pulumi.IntInput) ParameterTemplateModifyParamEntrySetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ParameterTemplateModifyParamEntrySet { + return vs[0].([]ParameterTemplateModifyParamEntrySet)[vs[1].(int)] + }).(ParameterTemplateModifyParamEntrySetOutput) +} + +type ReadonlyGroupNetInfoList struct { + // Ip address of the net info. + Ip *string `pulumi:"ip"` + // Port of the net info. + Port *int `pulumi:"port"` +} + +// ReadonlyGroupNetInfoListInput is an input type that accepts ReadonlyGroupNetInfoListArgs and ReadonlyGroupNetInfoListOutput values. +// You can construct a concrete instance of `ReadonlyGroupNetInfoListInput` via: +// +// ReadonlyGroupNetInfoListArgs{...} +type ReadonlyGroupNetInfoListInput interface { + pulumi.Input + + ToReadonlyGroupNetInfoListOutput() ReadonlyGroupNetInfoListOutput + ToReadonlyGroupNetInfoListOutputWithContext(context.Context) ReadonlyGroupNetInfoListOutput +} + +type ReadonlyGroupNetInfoListArgs struct { + // Ip address of the net info. + Ip pulumi.StringPtrInput `pulumi:"ip"` + // Port of the net info. + Port pulumi.IntPtrInput `pulumi:"port"` +} + +func (ReadonlyGroupNetInfoListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReadonlyGroupNetInfoList)(nil)).Elem() +} + +func (i ReadonlyGroupNetInfoListArgs) ToReadonlyGroupNetInfoListOutput() ReadonlyGroupNetInfoListOutput { + return i.ToReadonlyGroupNetInfoListOutputWithContext(context.Background()) +} + +func (i ReadonlyGroupNetInfoListArgs) ToReadonlyGroupNetInfoListOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReadonlyGroupNetInfoListOutput) +} + +// ReadonlyGroupNetInfoListArrayInput is an input type that accepts ReadonlyGroupNetInfoListArray and ReadonlyGroupNetInfoListArrayOutput values. +// You can construct a concrete instance of `ReadonlyGroupNetInfoListArrayInput` via: +// +// ReadonlyGroupNetInfoListArray{ ReadonlyGroupNetInfoListArgs{...} } +type ReadonlyGroupNetInfoListArrayInput interface { + pulumi.Input + + ToReadonlyGroupNetInfoListArrayOutput() ReadonlyGroupNetInfoListArrayOutput + ToReadonlyGroupNetInfoListArrayOutputWithContext(context.Context) ReadonlyGroupNetInfoListArrayOutput +} + +type ReadonlyGroupNetInfoListArray []ReadonlyGroupNetInfoListInput + +func (ReadonlyGroupNetInfoListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReadonlyGroupNetInfoList)(nil)).Elem() +} + +func (i ReadonlyGroupNetInfoListArray) ToReadonlyGroupNetInfoListArrayOutput() ReadonlyGroupNetInfoListArrayOutput { + return i.ToReadonlyGroupNetInfoListArrayOutputWithContext(context.Background()) +} + +func (i ReadonlyGroupNetInfoListArray) ToReadonlyGroupNetInfoListArrayOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReadonlyGroupNetInfoListArrayOutput) +} + +type ReadonlyGroupNetInfoListOutput struct{ *pulumi.OutputState } + +func (ReadonlyGroupNetInfoListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReadonlyGroupNetInfoList)(nil)).Elem() +} + +func (o ReadonlyGroupNetInfoListOutput) ToReadonlyGroupNetInfoListOutput() ReadonlyGroupNetInfoListOutput { + return o +} + +func (o ReadonlyGroupNetInfoListOutput) ToReadonlyGroupNetInfoListOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListOutput { + return o +} + +// Ip address of the net info. +func (o ReadonlyGroupNetInfoListOutput) Ip() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReadonlyGroupNetInfoList) *string { return v.Ip }).(pulumi.StringPtrOutput) +} + +// Port of the net info. +func (o ReadonlyGroupNetInfoListOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v ReadonlyGroupNetInfoList) *int { return v.Port }).(pulumi.IntPtrOutput) +} + +type ReadonlyGroupNetInfoListArrayOutput struct{ *pulumi.OutputState } + +func (ReadonlyGroupNetInfoListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReadonlyGroupNetInfoList)(nil)).Elem() +} + +func (o ReadonlyGroupNetInfoListArrayOutput) ToReadonlyGroupNetInfoListArrayOutput() ReadonlyGroupNetInfoListArrayOutput { + return o +} + +func (o ReadonlyGroupNetInfoListArrayOutput) ToReadonlyGroupNetInfoListArrayOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListArrayOutput { + return o +} + +func (o ReadonlyGroupNetInfoListArrayOutput) Index(i pulumi.IntInput) ReadonlyGroupNetInfoListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReadonlyGroupNetInfoList { + return vs[0].([]ReadonlyGroupNetInfoList)[vs[1].(int)] + }).(ReadonlyGroupNetInfoListOutput) +} + +type GetAccountPrivilegesDatabaseObjectSet struct { + // Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + DatabaseName *string `pulumi:"databaseName"` + // Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + ObjectName string `pulumi:"objectName"` + // Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + ObjectType string `pulumi:"objectType"` + // Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + SchemaName *string `pulumi:"schemaName"` + // Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + TableName *string `pulumi:"tableName"` +} + +// GetAccountPrivilegesDatabaseObjectSetInput is an input type that accepts GetAccountPrivilegesDatabaseObjectSetArgs and GetAccountPrivilegesDatabaseObjectSetOutput values. +// You can construct a concrete instance of `GetAccountPrivilegesDatabaseObjectSetInput` via: +// +// GetAccountPrivilegesDatabaseObjectSetArgs{...} +type GetAccountPrivilegesDatabaseObjectSetInput interface { + pulumi.Input + + ToGetAccountPrivilegesDatabaseObjectSetOutput() GetAccountPrivilegesDatabaseObjectSetOutput + ToGetAccountPrivilegesDatabaseObjectSetOutputWithContext(context.Context) GetAccountPrivilegesDatabaseObjectSetOutput +} + +type GetAccountPrivilegesDatabaseObjectSetArgs struct { + // Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + DatabaseName pulumi.StringPtrInput `pulumi:"databaseName"` + // Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + ObjectName pulumi.StringInput `pulumi:"objectName"` + // Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + ObjectType pulumi.StringInput `pulumi:"objectType"` + // Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + SchemaName pulumi.StringPtrInput `pulumi:"schemaName"` + // Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + TableName pulumi.StringPtrInput `pulumi:"tableName"` +} + +func (GetAccountPrivilegesDatabaseObjectSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesDatabaseObjectSet)(nil)).Elem() +} + +func (i GetAccountPrivilegesDatabaseObjectSetArgs) ToGetAccountPrivilegesDatabaseObjectSetOutput() GetAccountPrivilegesDatabaseObjectSetOutput { + return i.ToGetAccountPrivilegesDatabaseObjectSetOutputWithContext(context.Background()) +} + +func (i GetAccountPrivilegesDatabaseObjectSetArgs) ToGetAccountPrivilegesDatabaseObjectSetOutputWithContext(ctx context.Context) GetAccountPrivilegesDatabaseObjectSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountPrivilegesDatabaseObjectSetOutput) +} + +// GetAccountPrivilegesDatabaseObjectSetArrayInput is an input type that accepts GetAccountPrivilegesDatabaseObjectSetArray and GetAccountPrivilegesDatabaseObjectSetArrayOutput values. +// You can construct a concrete instance of `GetAccountPrivilegesDatabaseObjectSetArrayInput` via: +// +// GetAccountPrivilegesDatabaseObjectSetArray{ GetAccountPrivilegesDatabaseObjectSetArgs{...} } +type GetAccountPrivilegesDatabaseObjectSetArrayInput interface { + pulumi.Input + + ToGetAccountPrivilegesDatabaseObjectSetArrayOutput() GetAccountPrivilegesDatabaseObjectSetArrayOutput + ToGetAccountPrivilegesDatabaseObjectSetArrayOutputWithContext(context.Context) GetAccountPrivilegesDatabaseObjectSetArrayOutput +} + +type GetAccountPrivilegesDatabaseObjectSetArray []GetAccountPrivilegesDatabaseObjectSetInput + +func (GetAccountPrivilegesDatabaseObjectSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountPrivilegesDatabaseObjectSet)(nil)).Elem() +} + +func (i GetAccountPrivilegesDatabaseObjectSetArray) ToGetAccountPrivilegesDatabaseObjectSetArrayOutput() GetAccountPrivilegesDatabaseObjectSetArrayOutput { + return i.ToGetAccountPrivilegesDatabaseObjectSetArrayOutputWithContext(context.Background()) +} + +func (i GetAccountPrivilegesDatabaseObjectSetArray) ToGetAccountPrivilegesDatabaseObjectSetArrayOutputWithContext(ctx context.Context) GetAccountPrivilegesDatabaseObjectSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountPrivilegesDatabaseObjectSetArrayOutput) +} + +type GetAccountPrivilegesDatabaseObjectSetOutput struct{ *pulumi.OutputState } + +func (GetAccountPrivilegesDatabaseObjectSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesDatabaseObjectSet)(nil)).Elem() +} + +func (o GetAccountPrivilegesDatabaseObjectSetOutput) ToGetAccountPrivilegesDatabaseObjectSetOutput() GetAccountPrivilegesDatabaseObjectSetOutput { + return o +} + +func (o GetAccountPrivilegesDatabaseObjectSetOutput) ToGetAccountPrivilegesDatabaseObjectSetOutputWithContext(ctx context.Context) GetAccountPrivilegesDatabaseObjectSetOutput { + return o +} + +// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesDatabaseObjectSetOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAccountPrivilegesDatabaseObjectSet) *string { return v.DatabaseName }).(pulumi.StringPtrOutput) +} + +// Database object Name.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesDatabaseObjectSetOutput) ObjectName() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesDatabaseObjectSet) string { return v.ObjectName }).(pulumi.StringOutput) +} + +// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesDatabaseObjectSetOutput) ObjectType() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesDatabaseObjectSet) string { return v.ObjectType }).(pulumi.StringOutput) +} + +// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesDatabaseObjectSetOutput) SchemaName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAccountPrivilegesDatabaseObjectSet) *string { return v.SchemaName }).(pulumi.StringPtrOutput) +} + +// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesDatabaseObjectSetOutput) TableName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAccountPrivilegesDatabaseObjectSet) *string { return v.TableName }).(pulumi.StringPtrOutput) +} + +type GetAccountPrivilegesDatabaseObjectSetArrayOutput struct{ *pulumi.OutputState } -func (InstanceDbNodeSetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceDbNodeSet)(nil)).Elem() +func (GetAccountPrivilegesDatabaseObjectSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountPrivilegesDatabaseObjectSet)(nil)).Elem() } -func (o InstanceDbNodeSetArrayOutput) ToInstanceDbNodeSetArrayOutput() InstanceDbNodeSetArrayOutput { +func (o GetAccountPrivilegesDatabaseObjectSetArrayOutput) ToGetAccountPrivilegesDatabaseObjectSetArrayOutput() GetAccountPrivilegesDatabaseObjectSetArrayOutput { return o } -func (o InstanceDbNodeSetArrayOutput) ToInstanceDbNodeSetArrayOutputWithContext(ctx context.Context) InstanceDbNodeSetArrayOutput { +func (o GetAccountPrivilegesDatabaseObjectSetArrayOutput) ToGetAccountPrivilegesDatabaseObjectSetArrayOutputWithContext(ctx context.Context) GetAccountPrivilegesDatabaseObjectSetArrayOutput { return o } -func (o InstanceDbNodeSetArrayOutput) Index(i pulumi.IntInput) InstanceDbNodeSetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceDbNodeSet { - return vs[0].([]InstanceDbNodeSet)[vs[1].(int)] - }).(InstanceDbNodeSetOutput) +func (o GetAccountPrivilegesDatabaseObjectSetArrayOutput) Index(i pulumi.IntInput) GetAccountPrivilegesDatabaseObjectSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAccountPrivilegesDatabaseObjectSet { + return vs[0].([]GetAccountPrivilegesDatabaseObjectSet)[vs[1].(int)] + }).(GetAccountPrivilegesDatabaseObjectSetOutput) } -type ParameterTemplateModifyParamEntrySet struct { - // Modify the parameter value. The input parameters are passed in the form of strings, for example: decimal `0.1`, integer `1000`, enumeration `replica`. - ExpectedValue string `pulumi:"expectedValue"` - // The parameter name. - Name string `pulumi:"name"` +type GetAccountPrivilegesPrivilegeSet struct { + // Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + Objects []GetAccountPrivilegesPrivilegeSetObject `pulumi:"objects"` + // Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + PrivilegeSets []string `pulumi:"privilegeSets"` } -// ParameterTemplateModifyParamEntrySetInput is an input type that accepts ParameterTemplateModifyParamEntrySetArgs and ParameterTemplateModifyParamEntrySetOutput values. -// You can construct a concrete instance of `ParameterTemplateModifyParamEntrySetInput` via: +// GetAccountPrivilegesPrivilegeSetInput is an input type that accepts GetAccountPrivilegesPrivilegeSetArgs and GetAccountPrivilegesPrivilegeSetOutput values. +// You can construct a concrete instance of `GetAccountPrivilegesPrivilegeSetInput` via: // -// ParameterTemplateModifyParamEntrySetArgs{...} -type ParameterTemplateModifyParamEntrySetInput interface { +// GetAccountPrivilegesPrivilegeSetArgs{...} +type GetAccountPrivilegesPrivilegeSetInput interface { pulumi.Input - ToParameterTemplateModifyParamEntrySetOutput() ParameterTemplateModifyParamEntrySetOutput - ToParameterTemplateModifyParamEntrySetOutputWithContext(context.Context) ParameterTemplateModifyParamEntrySetOutput + ToGetAccountPrivilegesPrivilegeSetOutput() GetAccountPrivilegesPrivilegeSetOutput + ToGetAccountPrivilegesPrivilegeSetOutputWithContext(context.Context) GetAccountPrivilegesPrivilegeSetOutput } -type ParameterTemplateModifyParamEntrySetArgs struct { - // Modify the parameter value. The input parameters are passed in the form of strings, for example: decimal `0.1`, integer `1000`, enumeration `replica`. - ExpectedValue pulumi.StringInput `pulumi:"expectedValue"` - // The parameter name. - Name pulumi.StringInput `pulumi:"name"` +type GetAccountPrivilegesPrivilegeSetArgs struct { + // Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + Objects GetAccountPrivilegesPrivilegeSetObjectArrayInput `pulumi:"objects"` + // Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + PrivilegeSets pulumi.StringArrayInput `pulumi:"privilegeSets"` } -func (ParameterTemplateModifyParamEntrySetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ParameterTemplateModifyParamEntrySet)(nil)).Elem() +func (GetAccountPrivilegesPrivilegeSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesPrivilegeSet)(nil)).Elem() } -func (i ParameterTemplateModifyParamEntrySetArgs) ToParameterTemplateModifyParamEntrySetOutput() ParameterTemplateModifyParamEntrySetOutput { - return i.ToParameterTemplateModifyParamEntrySetOutputWithContext(context.Background()) +func (i GetAccountPrivilegesPrivilegeSetArgs) ToGetAccountPrivilegesPrivilegeSetOutput() GetAccountPrivilegesPrivilegeSetOutput { + return i.ToGetAccountPrivilegesPrivilegeSetOutputWithContext(context.Background()) } -func (i ParameterTemplateModifyParamEntrySetArgs) ToParameterTemplateModifyParamEntrySetOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetOutput { - return pulumi.ToOutputWithContext(ctx, i).(ParameterTemplateModifyParamEntrySetOutput) +func (i GetAccountPrivilegesPrivilegeSetArgs) ToGetAccountPrivilegesPrivilegeSetOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountPrivilegesPrivilegeSetOutput) } -// ParameterTemplateModifyParamEntrySetArrayInput is an input type that accepts ParameterTemplateModifyParamEntrySetArray and ParameterTemplateModifyParamEntrySetArrayOutput values. -// You can construct a concrete instance of `ParameterTemplateModifyParamEntrySetArrayInput` via: +// GetAccountPrivilegesPrivilegeSetArrayInput is an input type that accepts GetAccountPrivilegesPrivilegeSetArray and GetAccountPrivilegesPrivilegeSetArrayOutput values. +// You can construct a concrete instance of `GetAccountPrivilegesPrivilegeSetArrayInput` via: // -// ParameterTemplateModifyParamEntrySetArray{ ParameterTemplateModifyParamEntrySetArgs{...} } -type ParameterTemplateModifyParamEntrySetArrayInput interface { +// GetAccountPrivilegesPrivilegeSetArray{ GetAccountPrivilegesPrivilegeSetArgs{...} } +type GetAccountPrivilegesPrivilegeSetArrayInput interface { pulumi.Input - ToParameterTemplateModifyParamEntrySetArrayOutput() ParameterTemplateModifyParamEntrySetArrayOutput - ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(context.Context) ParameterTemplateModifyParamEntrySetArrayOutput + ToGetAccountPrivilegesPrivilegeSetArrayOutput() GetAccountPrivilegesPrivilegeSetArrayOutput + ToGetAccountPrivilegesPrivilegeSetArrayOutputWithContext(context.Context) GetAccountPrivilegesPrivilegeSetArrayOutput } -type ParameterTemplateModifyParamEntrySetArray []ParameterTemplateModifyParamEntrySetInput +type GetAccountPrivilegesPrivilegeSetArray []GetAccountPrivilegesPrivilegeSetInput -func (ParameterTemplateModifyParamEntrySetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ParameterTemplateModifyParamEntrySet)(nil)).Elem() +func (GetAccountPrivilegesPrivilegeSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountPrivilegesPrivilegeSet)(nil)).Elem() } -func (i ParameterTemplateModifyParamEntrySetArray) ToParameterTemplateModifyParamEntrySetArrayOutput() ParameterTemplateModifyParamEntrySetArrayOutput { - return i.ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(context.Background()) +func (i GetAccountPrivilegesPrivilegeSetArray) ToGetAccountPrivilegesPrivilegeSetArrayOutput() GetAccountPrivilegesPrivilegeSetArrayOutput { + return i.ToGetAccountPrivilegesPrivilegeSetArrayOutputWithContext(context.Background()) } -func (i ParameterTemplateModifyParamEntrySetArray) ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ParameterTemplateModifyParamEntrySetArrayOutput) +func (i GetAccountPrivilegesPrivilegeSetArray) ToGetAccountPrivilegesPrivilegeSetArrayOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountPrivilegesPrivilegeSetArrayOutput) } -type ParameterTemplateModifyParamEntrySetOutput struct{ *pulumi.OutputState } +type GetAccountPrivilegesPrivilegeSetOutput struct{ *pulumi.OutputState } -func (ParameterTemplateModifyParamEntrySetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ParameterTemplateModifyParamEntrySet)(nil)).Elem() +func (GetAccountPrivilegesPrivilegeSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesPrivilegeSet)(nil)).Elem() } -func (o ParameterTemplateModifyParamEntrySetOutput) ToParameterTemplateModifyParamEntrySetOutput() ParameterTemplateModifyParamEntrySetOutput { +func (o GetAccountPrivilegesPrivilegeSetOutput) ToGetAccountPrivilegesPrivilegeSetOutput() GetAccountPrivilegesPrivilegeSetOutput { return o } -func (o ParameterTemplateModifyParamEntrySetOutput) ToParameterTemplateModifyParamEntrySetOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetOutput { +func (o GetAccountPrivilegesPrivilegeSetOutput) ToGetAccountPrivilegesPrivilegeSetOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetOutput { return o } -// Modify the parameter value. The input parameters are passed in the form of strings, for example: decimal `0.1`, integer `1000`, enumeration `replica`. -func (o ParameterTemplateModifyParamEntrySetOutput) ExpectedValue() pulumi.StringOutput { - return o.ApplyT(func(v ParameterTemplateModifyParamEntrySet) string { return v.ExpectedValue }).(pulumi.StringOutput) +// Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesPrivilegeSetOutput) Objects() GetAccountPrivilegesPrivilegeSetObjectArrayOutput { + return o.ApplyT(func(v GetAccountPrivilegesPrivilegeSet) []GetAccountPrivilegesPrivilegeSetObject { return v.Objects }).(GetAccountPrivilegesPrivilegeSetObjectArrayOutput) } -// The parameter name. -func (o ParameterTemplateModifyParamEntrySetOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ParameterTemplateModifyParamEntrySet) string { return v.Name }).(pulumi.StringOutput) +// Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesPrivilegeSetOutput) PrivilegeSets() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAccountPrivilegesPrivilegeSet) []string { return v.PrivilegeSets }).(pulumi.StringArrayOutput) } -type ParameterTemplateModifyParamEntrySetArrayOutput struct{ *pulumi.OutputState } +type GetAccountPrivilegesPrivilegeSetArrayOutput struct{ *pulumi.OutputState } -func (ParameterTemplateModifyParamEntrySetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ParameterTemplateModifyParamEntrySet)(nil)).Elem() +func (GetAccountPrivilegesPrivilegeSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountPrivilegesPrivilegeSet)(nil)).Elem() } -func (o ParameterTemplateModifyParamEntrySetArrayOutput) ToParameterTemplateModifyParamEntrySetArrayOutput() ParameterTemplateModifyParamEntrySetArrayOutput { +func (o GetAccountPrivilegesPrivilegeSetArrayOutput) ToGetAccountPrivilegesPrivilegeSetArrayOutput() GetAccountPrivilegesPrivilegeSetArrayOutput { return o } -func (o ParameterTemplateModifyParamEntrySetArrayOutput) ToParameterTemplateModifyParamEntrySetArrayOutputWithContext(ctx context.Context) ParameterTemplateModifyParamEntrySetArrayOutput { +func (o GetAccountPrivilegesPrivilegeSetArrayOutput) ToGetAccountPrivilegesPrivilegeSetArrayOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetArrayOutput { return o } -func (o ParameterTemplateModifyParamEntrySetArrayOutput) Index(i pulumi.IntInput) ParameterTemplateModifyParamEntrySetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ParameterTemplateModifyParamEntrySet { - return vs[0].([]ParameterTemplateModifyParamEntrySet)[vs[1].(int)] - }).(ParameterTemplateModifyParamEntrySetOutput) +func (o GetAccountPrivilegesPrivilegeSetArrayOutput) Index(i pulumi.IntInput) GetAccountPrivilegesPrivilegeSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAccountPrivilegesPrivilegeSet { + return vs[0].([]GetAccountPrivilegesPrivilegeSet)[vs[1].(int)] + }).(GetAccountPrivilegesPrivilegeSetOutput) } -type ReadonlyGroupNetInfoList struct { - // Ip address of the net info. - Ip *string `pulumi:"ip"` - // Port of the net info. - Port *int `pulumi:"port"` +type GetAccountPrivilegesPrivilegeSetObject struct { + // Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + DatabaseName string `pulumi:"databaseName"` + // Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + ObjectName string `pulumi:"objectName"` + // Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + ObjectType string `pulumi:"objectType"` + // Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + SchemaName string `pulumi:"schemaName"` + // Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + TableName string `pulumi:"tableName"` } -// ReadonlyGroupNetInfoListInput is an input type that accepts ReadonlyGroupNetInfoListArgs and ReadonlyGroupNetInfoListOutput values. -// You can construct a concrete instance of `ReadonlyGroupNetInfoListInput` via: +// GetAccountPrivilegesPrivilegeSetObjectInput is an input type that accepts GetAccountPrivilegesPrivilegeSetObjectArgs and GetAccountPrivilegesPrivilegeSetObjectOutput values. +// You can construct a concrete instance of `GetAccountPrivilegesPrivilegeSetObjectInput` via: // -// ReadonlyGroupNetInfoListArgs{...} -type ReadonlyGroupNetInfoListInput interface { +// GetAccountPrivilegesPrivilegeSetObjectArgs{...} +type GetAccountPrivilegesPrivilegeSetObjectInput interface { pulumi.Input - ToReadonlyGroupNetInfoListOutput() ReadonlyGroupNetInfoListOutput - ToReadonlyGroupNetInfoListOutputWithContext(context.Context) ReadonlyGroupNetInfoListOutput + ToGetAccountPrivilegesPrivilegeSetObjectOutput() GetAccountPrivilegesPrivilegeSetObjectOutput + ToGetAccountPrivilegesPrivilegeSetObjectOutputWithContext(context.Context) GetAccountPrivilegesPrivilegeSetObjectOutput } -type ReadonlyGroupNetInfoListArgs struct { - // Ip address of the net info. - Ip pulumi.StringPtrInput `pulumi:"ip"` - // Port of the net info. - Port pulumi.IntPtrInput `pulumi:"port"` +type GetAccountPrivilegesPrivilegeSetObjectArgs struct { + // Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + DatabaseName pulumi.StringInput `pulumi:"databaseName"` + // Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + ObjectName pulumi.StringInput `pulumi:"objectName"` + // Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + ObjectType pulumi.StringInput `pulumi:"objectType"` + // Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + SchemaName pulumi.StringInput `pulumi:"schemaName"` + // Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + TableName pulumi.StringInput `pulumi:"tableName"` } -func (ReadonlyGroupNetInfoListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ReadonlyGroupNetInfoList)(nil)).Elem() +func (GetAccountPrivilegesPrivilegeSetObjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesPrivilegeSetObject)(nil)).Elem() } -func (i ReadonlyGroupNetInfoListArgs) ToReadonlyGroupNetInfoListOutput() ReadonlyGroupNetInfoListOutput { - return i.ToReadonlyGroupNetInfoListOutputWithContext(context.Background()) +func (i GetAccountPrivilegesPrivilegeSetObjectArgs) ToGetAccountPrivilegesPrivilegeSetObjectOutput() GetAccountPrivilegesPrivilegeSetObjectOutput { + return i.ToGetAccountPrivilegesPrivilegeSetObjectOutputWithContext(context.Background()) } -func (i ReadonlyGroupNetInfoListArgs) ToReadonlyGroupNetInfoListOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListOutput { - return pulumi.ToOutputWithContext(ctx, i).(ReadonlyGroupNetInfoListOutput) +func (i GetAccountPrivilegesPrivilegeSetObjectArgs) ToGetAccountPrivilegesPrivilegeSetObjectOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetObjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountPrivilegesPrivilegeSetObjectOutput) } -// ReadonlyGroupNetInfoListArrayInput is an input type that accepts ReadonlyGroupNetInfoListArray and ReadonlyGroupNetInfoListArrayOutput values. -// You can construct a concrete instance of `ReadonlyGroupNetInfoListArrayInput` via: +// GetAccountPrivilegesPrivilegeSetObjectArrayInput is an input type that accepts GetAccountPrivilegesPrivilegeSetObjectArray and GetAccountPrivilegesPrivilegeSetObjectArrayOutput values. +// You can construct a concrete instance of `GetAccountPrivilegesPrivilegeSetObjectArrayInput` via: // -// ReadonlyGroupNetInfoListArray{ ReadonlyGroupNetInfoListArgs{...} } -type ReadonlyGroupNetInfoListArrayInput interface { +// GetAccountPrivilegesPrivilegeSetObjectArray{ GetAccountPrivilegesPrivilegeSetObjectArgs{...} } +type GetAccountPrivilegesPrivilegeSetObjectArrayInput interface { pulumi.Input - ToReadonlyGroupNetInfoListArrayOutput() ReadonlyGroupNetInfoListArrayOutput - ToReadonlyGroupNetInfoListArrayOutputWithContext(context.Context) ReadonlyGroupNetInfoListArrayOutput + ToGetAccountPrivilegesPrivilegeSetObjectArrayOutput() GetAccountPrivilegesPrivilegeSetObjectArrayOutput + ToGetAccountPrivilegesPrivilegeSetObjectArrayOutputWithContext(context.Context) GetAccountPrivilegesPrivilegeSetObjectArrayOutput } -type ReadonlyGroupNetInfoListArray []ReadonlyGroupNetInfoListInput +type GetAccountPrivilegesPrivilegeSetObjectArray []GetAccountPrivilegesPrivilegeSetObjectInput -func (ReadonlyGroupNetInfoListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ReadonlyGroupNetInfoList)(nil)).Elem() +func (GetAccountPrivilegesPrivilegeSetObjectArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountPrivilegesPrivilegeSetObject)(nil)).Elem() } -func (i ReadonlyGroupNetInfoListArray) ToReadonlyGroupNetInfoListArrayOutput() ReadonlyGroupNetInfoListArrayOutput { - return i.ToReadonlyGroupNetInfoListArrayOutputWithContext(context.Background()) +func (i GetAccountPrivilegesPrivilegeSetObjectArray) ToGetAccountPrivilegesPrivilegeSetObjectArrayOutput() GetAccountPrivilegesPrivilegeSetObjectArrayOutput { + return i.ToGetAccountPrivilegesPrivilegeSetObjectArrayOutputWithContext(context.Background()) } -func (i ReadonlyGroupNetInfoListArray) ToReadonlyGroupNetInfoListArrayOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ReadonlyGroupNetInfoListArrayOutput) +func (i GetAccountPrivilegesPrivilegeSetObjectArray) ToGetAccountPrivilegesPrivilegeSetObjectArrayOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetObjectArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAccountPrivilegesPrivilegeSetObjectArrayOutput) } -type ReadonlyGroupNetInfoListOutput struct{ *pulumi.OutputState } +type GetAccountPrivilegesPrivilegeSetObjectOutput struct{ *pulumi.OutputState } -func (ReadonlyGroupNetInfoListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ReadonlyGroupNetInfoList)(nil)).Elem() +func (GetAccountPrivilegesPrivilegeSetObjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAccountPrivilegesPrivilegeSetObject)(nil)).Elem() } -func (o ReadonlyGroupNetInfoListOutput) ToReadonlyGroupNetInfoListOutput() ReadonlyGroupNetInfoListOutput { +func (o GetAccountPrivilegesPrivilegeSetObjectOutput) ToGetAccountPrivilegesPrivilegeSetObjectOutput() GetAccountPrivilegesPrivilegeSetObjectOutput { return o } -func (o ReadonlyGroupNetInfoListOutput) ToReadonlyGroupNetInfoListOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListOutput { +func (o GetAccountPrivilegesPrivilegeSetObjectOutput) ToGetAccountPrivilegesPrivilegeSetObjectOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetObjectOutput { return o } -// Ip address of the net info. -func (o ReadonlyGroupNetInfoListOutput) Ip() pulumi.StringPtrOutput { - return o.ApplyT(func(v ReadonlyGroupNetInfoList) *string { return v.Ip }).(pulumi.StringPtrOutput) +// Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesPrivilegeSetObjectOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesPrivilegeSetObject) string { return v.DatabaseName }).(pulumi.StringOutput) } -// Port of the net info. -func (o ReadonlyGroupNetInfoListOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v ReadonlyGroupNetInfoList) *int { return v.Port }).(pulumi.IntPtrOutput) +// Database object Name.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesPrivilegeSetObjectOutput) ObjectName() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesPrivilegeSetObject) string { return v.ObjectName }).(pulumi.StringOutput) } -type ReadonlyGroupNetInfoListArrayOutput struct{ *pulumi.OutputState } +// Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesPrivilegeSetObjectOutput) ObjectType() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesPrivilegeSetObject) string { return v.ObjectType }).(pulumi.StringOutput) +} -func (ReadonlyGroupNetInfoListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ReadonlyGroupNetInfoList)(nil)).Elem() +// Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesPrivilegeSetObjectOutput) SchemaName() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesPrivilegeSetObject) string { return v.SchemaName }).(pulumi.StringOutput) } -func (o ReadonlyGroupNetInfoListArrayOutput) ToReadonlyGroupNetInfoListArrayOutput() ReadonlyGroupNetInfoListArrayOutput { +// Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAccountPrivilegesPrivilegeSetObjectOutput) TableName() pulumi.StringOutput { + return o.ApplyT(func(v GetAccountPrivilegesPrivilegeSetObject) string { return v.TableName }).(pulumi.StringOutput) +} + +type GetAccountPrivilegesPrivilegeSetObjectArrayOutput struct{ *pulumi.OutputState } + +func (GetAccountPrivilegesPrivilegeSetObjectArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAccountPrivilegesPrivilegeSetObject)(nil)).Elem() +} + +func (o GetAccountPrivilegesPrivilegeSetObjectArrayOutput) ToGetAccountPrivilegesPrivilegeSetObjectArrayOutput() GetAccountPrivilegesPrivilegeSetObjectArrayOutput { return o } -func (o ReadonlyGroupNetInfoListArrayOutput) ToReadonlyGroupNetInfoListArrayOutputWithContext(ctx context.Context) ReadonlyGroupNetInfoListArrayOutput { +func (o GetAccountPrivilegesPrivilegeSetObjectArrayOutput) ToGetAccountPrivilegesPrivilegeSetObjectArrayOutputWithContext(ctx context.Context) GetAccountPrivilegesPrivilegeSetObjectArrayOutput { return o } -func (o ReadonlyGroupNetInfoListArrayOutput) Index(i pulumi.IntInput) ReadonlyGroupNetInfoListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReadonlyGroupNetInfoList { - return vs[0].([]ReadonlyGroupNetInfoList)[vs[1].(int)] - }).(ReadonlyGroupNetInfoListOutput) +func (o GetAccountPrivilegesPrivilegeSetObjectArrayOutput) Index(i pulumi.IntInput) GetAccountPrivilegesPrivilegeSetObjectOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAccountPrivilegesPrivilegeSetObject { + return vs[0].([]GetAccountPrivilegesPrivilegeSetObject)[vs[1].(int)] + }).(GetAccountPrivilegesPrivilegeSetObjectOutput) } type GetBackupDownloadUrlsBackupDownloadRestriction struct { @@ -1315,6 +2194,299 @@ func (o GetDbInstanceVersionsVersionSetArrayOutput) Index(i pulumi.IntInput) Get }).(GetDbInstanceVersionsVersionSetOutput) } +type GetDedicatedClustersDedicatedClusterSet struct { + // Number of available CPUs. + CpuAvailable *int `pulumi:"cpuAvailable"` + // Cpu total. + CpuTotal *int `pulumi:"cpuTotal"` + // Dedicated cluster ID. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` + // Disk availability. + DiskAvailable *int `pulumi:"diskAvailable"` + // Total number of disks. + DiskTotal *int `pulumi:"diskTotal"` + // Instance count. + InstanceCount *int `pulumi:"instanceCount"` + // Available Memory. + MemAvailable *int `pulumi:"memAvailable"` + // Total amount of memory. + MemTotal *int `pulumi:"memTotal"` + // Filter name. + Name *string `pulumi:"name"` + // Disaster recovery cluster. + StandbyDedicatedClusterSets []string `pulumi:"standbyDedicatedClusterSets"` + // Zone. + Zone *string `pulumi:"zone"` +} + +// GetDedicatedClustersDedicatedClusterSetInput is an input type that accepts GetDedicatedClustersDedicatedClusterSetArgs and GetDedicatedClustersDedicatedClusterSetOutput values. +// You can construct a concrete instance of `GetDedicatedClustersDedicatedClusterSetInput` via: +// +// GetDedicatedClustersDedicatedClusterSetArgs{...} +type GetDedicatedClustersDedicatedClusterSetInput interface { + pulumi.Input + + ToGetDedicatedClustersDedicatedClusterSetOutput() GetDedicatedClustersDedicatedClusterSetOutput + ToGetDedicatedClustersDedicatedClusterSetOutputWithContext(context.Context) GetDedicatedClustersDedicatedClusterSetOutput +} + +type GetDedicatedClustersDedicatedClusterSetArgs struct { + // Number of available CPUs. + CpuAvailable pulumi.IntPtrInput `pulumi:"cpuAvailable"` + // Cpu total. + CpuTotal pulumi.IntPtrInput `pulumi:"cpuTotal"` + // Dedicated cluster ID. + DedicatedClusterId pulumi.StringPtrInput `pulumi:"dedicatedClusterId"` + // Disk availability. + DiskAvailable pulumi.IntPtrInput `pulumi:"diskAvailable"` + // Total number of disks. + DiskTotal pulumi.IntPtrInput `pulumi:"diskTotal"` + // Instance count. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // Available Memory. + MemAvailable pulumi.IntPtrInput `pulumi:"memAvailable"` + // Total amount of memory. + MemTotal pulumi.IntPtrInput `pulumi:"memTotal"` + // Filter name. + Name pulumi.StringPtrInput `pulumi:"name"` + // Disaster recovery cluster. + StandbyDedicatedClusterSets pulumi.StringArrayInput `pulumi:"standbyDedicatedClusterSets"` + // Zone. + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (GetDedicatedClustersDedicatedClusterSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClustersDedicatedClusterSet)(nil)).Elem() +} + +func (i GetDedicatedClustersDedicatedClusterSetArgs) ToGetDedicatedClustersDedicatedClusterSetOutput() GetDedicatedClustersDedicatedClusterSetOutput { + return i.ToGetDedicatedClustersDedicatedClusterSetOutputWithContext(context.Background()) +} + +func (i GetDedicatedClustersDedicatedClusterSetArgs) ToGetDedicatedClustersDedicatedClusterSetOutputWithContext(ctx context.Context) GetDedicatedClustersDedicatedClusterSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClustersDedicatedClusterSetOutput) +} + +// GetDedicatedClustersDedicatedClusterSetArrayInput is an input type that accepts GetDedicatedClustersDedicatedClusterSetArray and GetDedicatedClustersDedicatedClusterSetArrayOutput values. +// You can construct a concrete instance of `GetDedicatedClustersDedicatedClusterSetArrayInput` via: +// +// GetDedicatedClustersDedicatedClusterSetArray{ GetDedicatedClustersDedicatedClusterSetArgs{...} } +type GetDedicatedClustersDedicatedClusterSetArrayInput interface { + pulumi.Input + + ToGetDedicatedClustersDedicatedClusterSetArrayOutput() GetDedicatedClustersDedicatedClusterSetArrayOutput + ToGetDedicatedClustersDedicatedClusterSetArrayOutputWithContext(context.Context) GetDedicatedClustersDedicatedClusterSetArrayOutput +} + +type GetDedicatedClustersDedicatedClusterSetArray []GetDedicatedClustersDedicatedClusterSetInput + +func (GetDedicatedClustersDedicatedClusterSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClustersDedicatedClusterSet)(nil)).Elem() +} + +func (i GetDedicatedClustersDedicatedClusterSetArray) ToGetDedicatedClustersDedicatedClusterSetArrayOutput() GetDedicatedClustersDedicatedClusterSetArrayOutput { + return i.ToGetDedicatedClustersDedicatedClusterSetArrayOutputWithContext(context.Background()) +} + +func (i GetDedicatedClustersDedicatedClusterSetArray) ToGetDedicatedClustersDedicatedClusterSetArrayOutputWithContext(ctx context.Context) GetDedicatedClustersDedicatedClusterSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClustersDedicatedClusterSetArrayOutput) +} + +type GetDedicatedClustersDedicatedClusterSetOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClustersDedicatedClusterSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClustersDedicatedClusterSet)(nil)).Elem() +} + +func (o GetDedicatedClustersDedicatedClusterSetOutput) ToGetDedicatedClustersDedicatedClusterSetOutput() GetDedicatedClustersDedicatedClusterSetOutput { + return o +} + +func (o GetDedicatedClustersDedicatedClusterSetOutput) ToGetDedicatedClustersDedicatedClusterSetOutputWithContext(ctx context.Context) GetDedicatedClustersDedicatedClusterSetOutput { + return o +} + +// Number of available CPUs. +func (o GetDedicatedClustersDedicatedClusterSetOutput) CpuAvailable() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *int { return v.CpuAvailable }).(pulumi.IntPtrOutput) +} + +// Cpu total. +func (o GetDedicatedClustersDedicatedClusterSetOutput) CpuTotal() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *int { return v.CpuTotal }).(pulumi.IntPtrOutput) +} + +// Dedicated cluster ID. +func (o GetDedicatedClustersDedicatedClusterSetOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *string { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + +// Disk availability. +func (o GetDedicatedClustersDedicatedClusterSetOutput) DiskAvailable() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *int { return v.DiskAvailable }).(pulumi.IntPtrOutput) +} + +// Total number of disks. +func (o GetDedicatedClustersDedicatedClusterSetOutput) DiskTotal() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *int { return v.DiskTotal }).(pulumi.IntPtrOutput) +} + +// Instance count. +func (o GetDedicatedClustersDedicatedClusterSetOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +// Available Memory. +func (o GetDedicatedClustersDedicatedClusterSetOutput) MemAvailable() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *int { return v.MemAvailable }).(pulumi.IntPtrOutput) +} + +// Total amount of memory. +func (o GetDedicatedClustersDedicatedClusterSetOutput) MemTotal() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *int { return v.MemTotal }).(pulumi.IntPtrOutput) +} + +// Filter name. +func (o GetDedicatedClustersDedicatedClusterSetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Disaster recovery cluster. +func (o GetDedicatedClustersDedicatedClusterSetOutput) StandbyDedicatedClusterSets() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) []string { return v.StandbyDedicatedClusterSets }).(pulumi.StringArrayOutput) +} + +// Zone. +func (o GetDedicatedClustersDedicatedClusterSetOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersDedicatedClusterSet) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +type GetDedicatedClustersDedicatedClusterSetArrayOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClustersDedicatedClusterSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClustersDedicatedClusterSet)(nil)).Elem() +} + +func (o GetDedicatedClustersDedicatedClusterSetArrayOutput) ToGetDedicatedClustersDedicatedClusterSetArrayOutput() GetDedicatedClustersDedicatedClusterSetArrayOutput { + return o +} + +func (o GetDedicatedClustersDedicatedClusterSetArrayOutput) ToGetDedicatedClustersDedicatedClusterSetArrayOutputWithContext(ctx context.Context) GetDedicatedClustersDedicatedClusterSetArrayOutput { + return o +} + +func (o GetDedicatedClustersDedicatedClusterSetArrayOutput) Index(i pulumi.IntInput) GetDedicatedClustersDedicatedClusterSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDedicatedClustersDedicatedClusterSet { + return vs[0].([]GetDedicatedClustersDedicatedClusterSet)[vs[1].(int)] + }).(GetDedicatedClustersDedicatedClusterSetOutput) +} + +type GetDedicatedClustersFilter struct { + // Filter name. + Name *string `pulumi:"name"` + // Filter values. + Values []string `pulumi:"values"` +} + +// GetDedicatedClustersFilterInput is an input type that accepts GetDedicatedClustersFilterArgs and GetDedicatedClustersFilterOutput values. +// You can construct a concrete instance of `GetDedicatedClustersFilterInput` via: +// +// GetDedicatedClustersFilterArgs{...} +type GetDedicatedClustersFilterInput interface { + pulumi.Input + + ToGetDedicatedClustersFilterOutput() GetDedicatedClustersFilterOutput + ToGetDedicatedClustersFilterOutputWithContext(context.Context) GetDedicatedClustersFilterOutput +} + +type GetDedicatedClustersFilterArgs struct { + // Filter name. + Name pulumi.StringPtrInput `pulumi:"name"` + // Filter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetDedicatedClustersFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClustersFilter)(nil)).Elem() +} + +func (i GetDedicatedClustersFilterArgs) ToGetDedicatedClustersFilterOutput() GetDedicatedClustersFilterOutput { + return i.ToGetDedicatedClustersFilterOutputWithContext(context.Background()) +} + +func (i GetDedicatedClustersFilterArgs) ToGetDedicatedClustersFilterOutputWithContext(ctx context.Context) GetDedicatedClustersFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClustersFilterOutput) +} + +// GetDedicatedClustersFilterArrayInput is an input type that accepts GetDedicatedClustersFilterArray and GetDedicatedClustersFilterArrayOutput values. +// You can construct a concrete instance of `GetDedicatedClustersFilterArrayInput` via: +// +// GetDedicatedClustersFilterArray{ GetDedicatedClustersFilterArgs{...} } +type GetDedicatedClustersFilterArrayInput interface { + pulumi.Input + + ToGetDedicatedClustersFilterArrayOutput() GetDedicatedClustersFilterArrayOutput + ToGetDedicatedClustersFilterArrayOutputWithContext(context.Context) GetDedicatedClustersFilterArrayOutput +} + +type GetDedicatedClustersFilterArray []GetDedicatedClustersFilterInput + +func (GetDedicatedClustersFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClustersFilter)(nil)).Elem() +} + +func (i GetDedicatedClustersFilterArray) ToGetDedicatedClustersFilterArrayOutput() GetDedicatedClustersFilterArrayOutput { + return i.ToGetDedicatedClustersFilterArrayOutputWithContext(context.Background()) +} + +func (i GetDedicatedClustersFilterArray) ToGetDedicatedClustersFilterArrayOutputWithContext(ctx context.Context) GetDedicatedClustersFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDedicatedClustersFilterArrayOutput) +} + +type GetDedicatedClustersFilterOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClustersFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDedicatedClustersFilter)(nil)).Elem() +} + +func (o GetDedicatedClustersFilterOutput) ToGetDedicatedClustersFilterOutput() GetDedicatedClustersFilterOutput { + return o +} + +func (o GetDedicatedClustersFilterOutput) ToGetDedicatedClustersFilterOutputWithContext(ctx context.Context) GetDedicatedClustersFilterOutput { + return o +} + +// Filter name. +func (o GetDedicatedClustersFilterOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDedicatedClustersFilter) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Filter values. +func (o GetDedicatedClustersFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetDedicatedClustersFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetDedicatedClustersFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetDedicatedClustersFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDedicatedClustersFilter)(nil)).Elem() +} + +func (o GetDedicatedClustersFilterArrayOutput) ToGetDedicatedClustersFilterArrayOutput() GetDedicatedClustersFilterArrayOutput { + return o +} + +func (o GetDedicatedClustersFilterArrayOutput) ToGetDedicatedClustersFilterArrayOutputWithContext(ctx context.Context) GetDedicatedClustersFilterArrayOutput { + return o +} + +func (o GetDedicatedClustersFilterArrayOutput) Index(i pulumi.IntInput) GetDedicatedClustersFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDedicatedClustersFilter { + return vs[0].([]GetDedicatedClustersFilter)[vs[1].(int)] + }).(GetDedicatedClustersFilterOutput) +} + type GetDefaultParametersParamInfoSet struct { // Whether it is a key parameter. Valid values: `true` (yes, and modifying it may affect instance performance), `false` (no)Note: this field may return `null`, indicating that no valid values can be obtained. Advanced bool `pulumi:"advanced"` @@ -4945,6 +6117,12 @@ func (o GetZonesZoneSetArrayOutput) Index(i pulumi.IntInput) GetZonesZoneSetOutp } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetInput)(nil)).Elem(), AccountPrivilegesOperationModifyPrivilegeSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetArrayInput)(nil)).Elem(), AccountPrivilegesOperationModifyPrivilegeSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeInput)(nil)).Elem(), AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrInput)(nil)).Elem(), AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectInput)(nil)).Elem(), AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrInput)(nil)).Elem(), AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceBackupPlanInput)(nil)).Elem(), InstanceBackupPlanArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceBackupPlanPtrInput)(nil)).Elem(), InstanceBackupPlanArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceDbNodeSetInput)(nil)).Elem(), InstanceDbNodeSetArgs{}) @@ -4953,6 +6131,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ParameterTemplateModifyParamEntrySetArrayInput)(nil)).Elem(), ParameterTemplateModifyParamEntrySetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ReadonlyGroupNetInfoListInput)(nil)).Elem(), ReadonlyGroupNetInfoListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ReadonlyGroupNetInfoListArrayInput)(nil)).Elem(), ReadonlyGroupNetInfoListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountPrivilegesDatabaseObjectSetInput)(nil)).Elem(), GetAccountPrivilegesDatabaseObjectSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountPrivilegesDatabaseObjectSetArrayInput)(nil)).Elem(), GetAccountPrivilegesDatabaseObjectSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountPrivilegesPrivilegeSetInput)(nil)).Elem(), GetAccountPrivilegesPrivilegeSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountPrivilegesPrivilegeSetArrayInput)(nil)).Elem(), GetAccountPrivilegesPrivilegeSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountPrivilegesPrivilegeSetObjectInput)(nil)).Elem(), GetAccountPrivilegesPrivilegeSetObjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAccountPrivilegesPrivilegeSetObjectArrayInput)(nil)).Elem(), GetAccountPrivilegesPrivilegeSetObjectArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupDownloadUrlsBackupDownloadRestrictionInput)(nil)).Elem(), GetBackupDownloadUrlsBackupDownloadRestrictionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupDownloadUrlsBackupDownloadRestrictionPtrInput)(nil)).Elem(), GetBackupDownloadUrlsBackupDownloadRestrictionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBaseBackupsBaseBackupSetInput)(nil)).Elem(), GetBaseBackupsBaseBackupSetArgs{}) @@ -4963,6 +6147,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetDbInstanceClassesClassInfoSetArrayInput)(nil)).Elem(), GetDbInstanceClassesClassInfoSetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDbInstanceVersionsVersionSetInput)(nil)).Elem(), GetDbInstanceVersionsVersionSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDbInstanceVersionsVersionSetArrayInput)(nil)).Elem(), GetDbInstanceVersionsVersionSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClustersDedicatedClusterSetInput)(nil)).Elem(), GetDedicatedClustersDedicatedClusterSetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClustersDedicatedClusterSetArrayInput)(nil)).Elem(), GetDedicatedClustersDedicatedClusterSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClustersFilterInput)(nil)).Elem(), GetDedicatedClustersFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDedicatedClustersFilterArrayInput)(nil)).Elem(), GetDedicatedClustersFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDefaultParametersParamInfoSetInput)(nil)).Elem(), GetDefaultParametersParamInfoSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDefaultParametersParamInfoSetArrayInput)(nil)).Elem(), GetDefaultParametersParamInfoSetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDefaultParametersParamInfoSetSpecRelationSetInput)(nil)).Elem(), GetDefaultParametersParamInfoSetSpecRelationSetArgs{}) @@ -5005,6 +6193,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetXlogsListArrayInput)(nil)).Elem(), GetXlogsListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetZonesZoneSetInput)(nil)).Elem(), GetZonesZoneSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetZonesZoneSetArrayInput)(nil)).Elem(), GetZonesZoneSetArray{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationModifyPrivilegeSetOutput{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationModifyPrivilegeSetArrayOutput{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeOutput{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegePtrOutput{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectOutput{}) + pulumi.RegisterOutputType(AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectPtrOutput{}) pulumi.RegisterOutputType(InstanceBackupPlanOutput{}) pulumi.RegisterOutputType(InstanceBackupPlanPtrOutput{}) pulumi.RegisterOutputType(InstanceDbNodeSetOutput{}) @@ -5013,6 +6207,12 @@ func init() { pulumi.RegisterOutputType(ParameterTemplateModifyParamEntrySetArrayOutput{}) pulumi.RegisterOutputType(ReadonlyGroupNetInfoListOutput{}) pulumi.RegisterOutputType(ReadonlyGroupNetInfoListArrayOutput{}) + pulumi.RegisterOutputType(GetAccountPrivilegesDatabaseObjectSetOutput{}) + pulumi.RegisterOutputType(GetAccountPrivilegesDatabaseObjectSetArrayOutput{}) + pulumi.RegisterOutputType(GetAccountPrivilegesPrivilegeSetOutput{}) + pulumi.RegisterOutputType(GetAccountPrivilegesPrivilegeSetArrayOutput{}) + pulumi.RegisterOutputType(GetAccountPrivilegesPrivilegeSetObjectOutput{}) + pulumi.RegisterOutputType(GetAccountPrivilegesPrivilegeSetObjectArrayOutput{}) pulumi.RegisterOutputType(GetBackupDownloadUrlsBackupDownloadRestrictionOutput{}) pulumi.RegisterOutputType(GetBackupDownloadUrlsBackupDownloadRestrictionPtrOutput{}) pulumi.RegisterOutputType(GetBaseBackupsBaseBackupSetOutput{}) @@ -5023,6 +6223,10 @@ func init() { pulumi.RegisterOutputType(GetDbInstanceClassesClassInfoSetArrayOutput{}) pulumi.RegisterOutputType(GetDbInstanceVersionsVersionSetOutput{}) pulumi.RegisterOutputType(GetDbInstanceVersionsVersionSetArrayOutput{}) + pulumi.RegisterOutputType(GetDedicatedClustersDedicatedClusterSetOutput{}) + pulumi.RegisterOutputType(GetDedicatedClustersDedicatedClusterSetArrayOutput{}) + pulumi.RegisterOutputType(GetDedicatedClustersFilterOutput{}) + pulumi.RegisterOutputType(GetDedicatedClustersFilterArrayOutput{}) pulumi.RegisterOutputType(GetDefaultParametersParamInfoSetOutput{}) pulumi.RegisterOutputType(GetDefaultParametersParamInfoSetArrayOutput{}) pulumi.RegisterOutputType(GetDefaultParametersParamInfoSetSpecRelationSetOutput{}) diff --git a/sdk/go/tencentcloud/postgresql/readonlyInstance.go b/sdk/go/tencentcloud/postgresql/readonlyInstance.go index e7b90d055..e31b42c94 100644 --- a/sdk/go/tencentcloud/postgresql/readonlyInstance.go +++ b/sdk/go/tencentcloud/postgresql/readonlyInstance.go @@ -16,6 +16,8 @@ import ( // // ## Example Usage // +// ### Create postgresql readonly instance +// // // ```go // package main @@ -61,7 +63,7 @@ import ( // 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"), @@ -76,6 +78,7 @@ import ( // if err != nil { // return err // } +// // create postgresql readonly group // exampleReadonlyGroup, err := Postgresql.NewReadonlyGroup(ctx, "exampleReadonlyGroup", &Postgresql.ReadonlyGroupArgs{ // MasterDbInstanceId: exampleInstance.ID(), // ProjectId: pulumi.Int(0), @@ -101,12 +104,13 @@ import ( // if err != nil { // return err // } +// // create postgresql readonly instance // _, err = Postgresql.NewReadonlyInstance(ctx, "exampleReadonlyInstance", &Postgresql.ReadonlyInstanceArgs{ // ReadOnlyGroupId: exampleReadonlyGroup.ID(), // MasterDbInstanceId: exampleInstance.ID(), // Zone: pulumi.String(availabilityZone), // AutoRenewFlag: pulumi.Int(0), -// DbVersion: pulumi.String("10.4"), +// DbVersion: pulumi.String("10.23"), // InstanceChargeType: pulumi.String("POSTPAID_BY_HOUR"), // Memory: pulumi.Int(4), // Cpu: pulumi.Int(2), @@ -129,12 +133,141 @@ import ( // ``` // // +// ### Create postgresql readonly instance of CDC +// +// +// ```go +// package main +// +// 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" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-4" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// // 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{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create postgresql +// exampleInstance, err := Postgresql.NewInstance(ctx, "exampleInstance", &Postgresql.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// DbMajorVersion: pulumi.String("10"), +// RootUser: pulumi.String("root123"), +// RootPassword: pulumi.String("Root123$"), +// Charset: pulumi.String("UTF8"), +// ProjectId: pulumi.Int(0), +// Memory: pulumi.Int(2), +// Cpu: pulumi.Int(1), +// Storage: pulumi.Int(10), +// DbNodeSets: postgresql.InstanceDbNodeSetArray{ +// &postgresql.InstanceDbNodeSetArgs{ +// Role: pulumi.String("Primary"), +// Zone: pulumi.String(availabilityZone), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// }, +// &postgresql.InstanceDbNodeSetArgs{ +// Zone: pulumi.String(availabilityZone), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// }, +// }, +// Tags: pulumi.Map{ +// "CreateBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create postgresql readonly group +// exampleReadonlyGroup, err := Postgresql.NewReadonlyGroup(ctx, "exampleReadonlyGroup", &Postgresql.ReadonlyGroupArgs{ +// MasterDbInstanceId: exampleInstance.ID(), +// ProjectId: pulumi.Int(0), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// ReplayLagEliminate: pulumi.Int(1), +// ReplayLatencyEliminate: pulumi.Int(1), +// MaxReplayLag: pulumi.Int(100), +// MaxReplayLatency: pulumi.Int(512), +// MinDelayEliminateReserve: pulumi.Int(1), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("sg desc."), +// ProjectId: pulumi.Int(0), +// Tags: pulumi.Map{ +// "CreateBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create postgresql readonly instance +// _, err = Postgresql.NewReadonlyInstance(ctx, "exampleReadonlyInstance", &Postgresql.ReadonlyInstanceArgs{ +// ReadOnlyGroupId: exampleReadonlyGroup.ID(), +// MasterDbInstanceId: exampleInstance.ID(), +// Zone: pulumi.String(availabilityZone), +// AutoRenewFlag: pulumi.Int(0), +// DbVersion: pulumi.String("10.23"), +// InstanceChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// Memory: pulumi.Int(4), +// Cpu: pulumi.Int(2), +// Storage: pulumi.Int(250), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// NeedSupportIpv6: pulumi.Int(0), +// ProjectId: pulumi.Int(0), +// DedicatedClusterId: pulumi.String("cluster-262n63e8"), +// SecurityGroupsIds: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // postgresql readonly instance can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example instance_id +// $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example pgro-gih5m0ke // ``` type ReadonlyInstance struct { pulumi.CustomResourceState @@ -149,6 +282,8 @@ type ReadonlyInstance struct { CreateTime pulumi.StringOutput `pulumi:"createTime"` // PostgreSQL kernel version, which must be the same as that of the primary instance. DbVersion pulumi.StringOutput `pulumi:"dbVersion"` + // Dedicated cluster ID. + DedicatedClusterId pulumi.StringPtrOutput `pulumi:"dedicatedClusterId"` // instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"` // The instance ID of this readonly resource. @@ -252,6 +387,8 @@ type readonlyInstanceState struct { CreateTime *string `pulumi:"createTime"` // PostgreSQL kernel version, which must be the same as that of the primary instance. DbVersion *string `pulumi:"dbVersion"` + // Dedicated cluster ID. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). InstanceChargeType *string `pulumi:"instanceChargeType"` // The instance ID of this readonly resource. @@ -299,6 +436,8 @@ type ReadonlyInstanceState struct { CreateTime pulumi.StringPtrInput // PostgreSQL kernel version, which must be the same as that of the primary instance. DbVersion pulumi.StringPtrInput + // Dedicated cluster ID. + DedicatedClusterId pulumi.StringPtrInput // instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). InstanceChargeType pulumi.StringPtrInput // The instance ID of this readonly resource. @@ -348,6 +487,8 @@ type readonlyInstanceArgs struct { Cpu *int `pulumi:"cpu"` // PostgreSQL kernel version, which must be the same as that of the primary instance. DbVersion string `pulumi:"dbVersion"` + // Dedicated cluster ID. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). InstanceChargeType *string `pulumi:"instanceChargeType"` // ID of the primary instance to which the read-only replica belongs. @@ -388,6 +529,8 @@ type ReadonlyInstanceArgs struct { Cpu pulumi.IntPtrInput // PostgreSQL kernel version, which must be the same as that of the primary instance. DbVersion pulumi.StringInput + // Dedicated cluster ID. + DedicatedClusterId pulumi.StringPtrInput // instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). InstanceChargeType pulumi.StringPtrInput // ID of the primary instance to which the read-only replica belongs. @@ -530,6 +673,11 @@ func (o ReadonlyInstanceOutput) DbVersion() pulumi.StringOutput { return o.ApplyT(func(v *ReadonlyInstance) pulumi.StringOutput { return v.DbVersion }).(pulumi.StringOutput) } +// Dedicated cluster ID. +func (o ReadonlyInstanceOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReadonlyInstance) pulumi.StringPtrOutput { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + // instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). func (o ReadonlyInstanceOutput) InstanceChargeType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ReadonlyInstance) pulumi.StringPtrOutput { return v.InstanceChargeType }).(pulumi.StringPtrOutput) diff --git a/sdk/go/tencentcloud/privatedns/record.go b/sdk/go/tencentcloud/privatedns/record.go index 754d3fcc1..b7a970712 100644 --- a/sdk/go/tencentcloud/privatedns/record.go +++ b/sdk/go/tencentcloud/privatedns/record.go @@ -30,12 +30,14 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { +// // create vpc // vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ // CidrBlock: pulumi.String("10.0.0.0/16"), // }) // if err != nil { // return err // } +// // create private dns zone // exampleZone, err := PrivateDns.NewZone(ctx, "exampleZone", &PrivateDns.ZoneArgs{ // Domain: pulumi.String("domain.com"), // Remark: pulumi.String("remark."), @@ -54,6 +56,7 @@ import ( // if err != nil { // return err // } +// // create private dns record // _, err = PrivateDns.NewRecord(ctx, "exampleRecord", &PrivateDns.RecordArgs{ // ZoneId: exampleZone.ID(), // RecordType: pulumi.String("A"), @@ -85,11 +88,11 @@ type Record struct { // MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. Mx pulumi.IntPtrOutput `pulumi:"mx"` - // Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + // Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. RecordType pulumi.StringOutput `pulumi:"recordType"` // Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. RecordValue pulumi.StringOutput `pulumi:"recordValue"` - // Subdomain, such as "www", "m", and "@". + // Subdomain, such as `www`, `m`, and `@`. SubDomain pulumi.StringOutput `pulumi:"subDomain"` // Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. Ttl pulumi.IntOutput `pulumi:"ttl"` @@ -143,11 +146,11 @@ func GetRecord(ctx *pulumi.Context, type recordState struct { // MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. Mx *int `pulumi:"mx"` - // Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + // Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. RecordType *string `pulumi:"recordType"` // Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. RecordValue *string `pulumi:"recordValue"` - // Subdomain, such as "www", "m", and "@". + // Subdomain, such as `www`, `m`, and `@`. SubDomain *string `pulumi:"subDomain"` // Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. Ttl *int `pulumi:"ttl"` @@ -160,11 +163,11 @@ type recordState struct { type RecordState struct { // MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. Mx pulumi.IntPtrInput - // Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + // Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. RecordType pulumi.StringPtrInput // Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. RecordValue pulumi.StringPtrInput - // Subdomain, such as "www", "m", and "@". + // Subdomain, such as `www`, `m`, and `@`. SubDomain pulumi.StringPtrInput // Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. Ttl pulumi.IntPtrInput @@ -181,11 +184,11 @@ func (RecordState) ElementType() reflect.Type { type recordArgs struct { // MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. Mx *int `pulumi:"mx"` - // Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + // Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. RecordType string `pulumi:"recordType"` // Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. RecordValue string `pulumi:"recordValue"` - // Subdomain, such as "www", "m", and "@". + // Subdomain, such as `www`, `m`, and `@`. SubDomain string `pulumi:"subDomain"` // Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. Ttl *int `pulumi:"ttl"` @@ -199,11 +202,11 @@ type recordArgs struct { type RecordArgs struct { // MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. Mx pulumi.IntPtrInput - // Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + // Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. RecordType pulumi.StringInput // Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. RecordValue pulumi.StringInput - // Subdomain, such as "www", "m", and "@". + // Subdomain, such as `www`, `m`, and `@`. SubDomain pulumi.StringInput // Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. Ttl pulumi.IntPtrInput @@ -305,7 +308,7 @@ func (o RecordOutput) Mx() pulumi.IntPtrOutput { return o.ApplyT(func(v *Record) pulumi.IntPtrOutput { return v.Mx }).(pulumi.IntPtrOutput) } -// Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". +// Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. func (o RecordOutput) RecordType() pulumi.StringOutput { return o.ApplyT(func(v *Record) pulumi.StringOutput { return v.RecordType }).(pulumi.StringOutput) } @@ -315,7 +318,7 @@ func (o RecordOutput) RecordValue() pulumi.StringOutput { return o.ApplyT(func(v *Record) pulumi.StringOutput { return v.RecordValue }).(pulumi.StringOutput) } -// Subdomain, such as "www", "m", and "@". +// Subdomain, such as `www`, `m`, and `@`. func (o RecordOutput) SubDomain() pulumi.StringOutput { return o.ApplyT(func(v *Record) pulumi.StringOutput { return v.SubDomain }).(pulumi.StringOutput) } diff --git a/sdk/go/tencentcloud/provider.go b/sdk/go/tencentcloud/provider.go index 69ca6f8fc..e479a3160 100644 --- a/sdk/go/tencentcloud/provider.go +++ b/sdk/go/tencentcloud/provider.go @@ -18,6 +18,11 @@ import ( type Provider struct { pulumi.ProviderResourceState + // The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + CamRoleName pulumi.StringPtrOutput `pulumi:"camRoleName"` + // The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + // `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + CosDomain pulumi.StringPtrOutput `pulumi:"cosDomain"` // The root domain of the API request, Default is `tencentcloudapi.com`. Domain pulumi.StringPtrOutput `pulumi:"domain"` // The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment @@ -25,14 +30,12 @@ type Provider struct { Profile pulumi.StringPtrOutput `pulumi:"profile"` // The protocol of the API request. Valid values: `HTTP` and `HTTPS`. Default is `HTTPS`. Protocol pulumi.StringPtrOutput `pulumi:"protocol"` - // This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - // environment variables. The default input value is ap-guangzhou. + // This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + // default input value is ap-guangzhou. Region pulumi.StringPtrOutput `pulumi:"region"` - // This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - // environment variable. + // This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. SecretId pulumi.StringPtrOutput `pulumi:"secretId"` - // This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - // environment variable. + // This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. SecretKey pulumi.StringPtrOutput `pulumi:"secretKey"` // TencentCloud Security Token of temporary access credentials. It can be sourced from the `TENCENTCLOUD_SECURITY_TOKEN` // environment variable. Notice: for supported products, please refer to: [temporary key supported @@ -93,21 +96,32 @@ func NewProvider(ctx *pulumi.Context, type providerArgs struct { // The `assume_role` block. If provided, terraform will attempt to assume this role using the supplied credentials. AssumeRole *ProviderAssumeRole `pulumi:"assumeRole"` + // The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied + // credentials. + AssumeRoleWithSaml *ProviderAssumeRoleWithSaml `pulumi:"assumeRoleWithSaml"` + // The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied + // credentials. + AssumeRoleWithWebIdentity *ProviderAssumeRoleWithWebIdentity `pulumi:"assumeRoleWithWebIdentity"` + // The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + CamRoleName *string `pulumi:"camRoleName"` + // The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + // `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + CosDomain *string `pulumi:"cosDomain"` // The root domain of the API request, Default is `tencentcloudapi.com`. Domain *string `pulumi:"domain"` + // Whether to enable pod oidc. + EnablePodOidc *bool `pulumi:"enablePodOidc"` // The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment // variable. If not set, the default profile created with `tccli configure` will be used. Profile *string `pulumi:"profile"` // The protocol of the API request. Valid values: `HTTP` and `HTTPS`. Default is `HTTPS`. Protocol *string `pulumi:"protocol"` - // This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - // environment variables. The default input value is ap-guangzhou. + // This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + // default input value is ap-guangzhou. Region *string `pulumi:"region"` - // This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - // environment variable. + // This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. SecretId *string `pulumi:"secretId"` - // This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - // environment variable. + // This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. SecretKey *string `pulumi:"secretKey"` // TencentCloud Security Token of temporary access credentials. It can be sourced from the `TENCENTCLOUD_SECURITY_TOKEN` // environment variable. Notice: for supported products, please refer to: [temporary key supported @@ -122,21 +136,32 @@ type providerArgs struct { type ProviderArgs struct { // The `assume_role` block. If provided, terraform will attempt to assume this role using the supplied credentials. AssumeRole ProviderAssumeRolePtrInput + // The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied + // credentials. + AssumeRoleWithSaml ProviderAssumeRoleWithSamlPtrInput + // The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied + // credentials. + AssumeRoleWithWebIdentity ProviderAssumeRoleWithWebIdentityPtrInput + // The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + CamRoleName pulumi.StringPtrInput + // The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + // `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + CosDomain pulumi.StringPtrInput // The root domain of the API request, Default is `tencentcloudapi.com`. Domain pulumi.StringPtrInput + // Whether to enable pod oidc. + EnablePodOidc pulumi.BoolPtrInput // The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment // variable. If not set, the default profile created with `tccli configure` will be used. Profile pulumi.StringPtrInput // The protocol of the API request. Valid values: `HTTP` and `HTTPS`. Default is `HTTPS`. Protocol pulumi.StringPtrInput - // This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - // environment variables. The default input value is ap-guangzhou. + // This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + // default input value is ap-guangzhou. Region pulumi.StringPtrInput - // This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - // environment variable. + // This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. SecretId pulumi.StringPtrInput - // This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - // environment variable. + // This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. SecretKey pulumi.StringPtrInput // TencentCloud Security Token of temporary access credentials. It can be sourced from the `TENCENTCLOUD_SECURITY_TOKEN` // environment variable. Notice: for supported products, please refer to: [temporary key supported @@ -184,6 +209,17 @@ func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) Provide return o } +// The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. +func (o ProviderOutput) CamRoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.CamRoleName }).(pulumi.StringPtrOutput) +} + +// The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: +// `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. +func (o ProviderOutput) CosDomain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.CosDomain }).(pulumi.StringPtrOutput) +} + // The root domain of the API request, Default is `tencentcloudapi.com`. func (o ProviderOutput) Domain() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Domain }).(pulumi.StringPtrOutput) @@ -200,20 +236,18 @@ func (o ProviderOutput) Protocol() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Protocol }).(pulumi.StringPtrOutput) } -// This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` -// environment variables. The default input value is ap-guangzhou. +// This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The +// default input value is ap-guangzhou. func (o ProviderOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Region }).(pulumi.StringPtrOutput) } -// This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` -// environment variable. +// This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. func (o ProviderOutput) SecretId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SecretId }).(pulumi.StringPtrOutput) } -// This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` -// environment variable. +// This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. func (o ProviderOutput) SecretKey() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SecretKey }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/tencentcloud/pulumiTypes.go b/sdk/go/tencentcloud/pulumiTypes.go index 47b8791b1..08efc2f94 100644 --- a/sdk/go/tencentcloud/pulumiTypes.go +++ b/sdk/go/tencentcloud/pulumiTypes.go @@ -207,9 +207,424 @@ func (o ProviderAssumeRolePtrOutput) SessionName() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type ProviderAssumeRoleWithSaml struct { + // Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + PrincipalArn string `pulumi:"principalArn"` + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn string `pulumi:"roleArn"` + // SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + SamlAssertion string `pulumi:"samlAssertion"` + // The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration int `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName string `pulumi:"sessionName"` +} + +// ProviderAssumeRoleWithSamlInput is an input type that accepts ProviderAssumeRoleWithSamlArgs and ProviderAssumeRoleWithSamlOutput values. +// You can construct a concrete instance of `ProviderAssumeRoleWithSamlInput` via: +// +// ProviderAssumeRoleWithSamlArgs{...} +type ProviderAssumeRoleWithSamlInput interface { + pulumi.Input + + ToProviderAssumeRoleWithSamlOutput() ProviderAssumeRoleWithSamlOutput + ToProviderAssumeRoleWithSamlOutputWithContext(context.Context) ProviderAssumeRoleWithSamlOutput +} + +type ProviderAssumeRoleWithSamlArgs struct { + // Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + PrincipalArn pulumi.StringInput `pulumi:"principalArn"` + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn pulumi.StringInput `pulumi:"roleArn"` + // SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + SamlAssertion pulumi.StringInput `pulumi:"samlAssertion"` + // The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration pulumi.IntInput `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName pulumi.StringInput `pulumi:"sessionName"` +} + +func (ProviderAssumeRoleWithSamlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderAssumeRoleWithSaml)(nil)).Elem() +} + +func (i ProviderAssumeRoleWithSamlArgs) ToProviderAssumeRoleWithSamlOutput() ProviderAssumeRoleWithSamlOutput { + return i.ToProviderAssumeRoleWithSamlOutputWithContext(context.Background()) +} + +func (i ProviderAssumeRoleWithSamlArgs) ToProviderAssumeRoleWithSamlOutputWithContext(ctx context.Context) ProviderAssumeRoleWithSamlOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderAssumeRoleWithSamlOutput) +} + +func (i ProviderAssumeRoleWithSamlArgs) ToProviderAssumeRoleWithSamlPtrOutput() ProviderAssumeRoleWithSamlPtrOutput { + return i.ToProviderAssumeRoleWithSamlPtrOutputWithContext(context.Background()) +} + +func (i ProviderAssumeRoleWithSamlArgs) ToProviderAssumeRoleWithSamlPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithSamlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderAssumeRoleWithSamlOutput).ToProviderAssumeRoleWithSamlPtrOutputWithContext(ctx) +} + +// ProviderAssumeRoleWithSamlPtrInput is an input type that accepts ProviderAssumeRoleWithSamlArgs, ProviderAssumeRoleWithSamlPtr and ProviderAssumeRoleWithSamlPtrOutput values. +// You can construct a concrete instance of `ProviderAssumeRoleWithSamlPtrInput` via: +// +// ProviderAssumeRoleWithSamlArgs{...} +// +// or: +// +// nil +type ProviderAssumeRoleWithSamlPtrInput interface { + pulumi.Input + + ToProviderAssumeRoleWithSamlPtrOutput() ProviderAssumeRoleWithSamlPtrOutput + ToProviderAssumeRoleWithSamlPtrOutputWithContext(context.Context) ProviderAssumeRoleWithSamlPtrOutput +} + +type providerAssumeRoleWithSamlPtrType ProviderAssumeRoleWithSamlArgs + +func ProviderAssumeRoleWithSamlPtr(v *ProviderAssumeRoleWithSamlArgs) ProviderAssumeRoleWithSamlPtrInput { + return (*providerAssumeRoleWithSamlPtrType)(v) +} + +func (*providerAssumeRoleWithSamlPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProviderAssumeRoleWithSaml)(nil)).Elem() +} + +func (i *providerAssumeRoleWithSamlPtrType) ToProviderAssumeRoleWithSamlPtrOutput() ProviderAssumeRoleWithSamlPtrOutput { + return i.ToProviderAssumeRoleWithSamlPtrOutputWithContext(context.Background()) +} + +func (i *providerAssumeRoleWithSamlPtrType) ToProviderAssumeRoleWithSamlPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithSamlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderAssumeRoleWithSamlPtrOutput) +} + +type ProviderAssumeRoleWithSamlOutput struct{ *pulumi.OutputState } + +func (ProviderAssumeRoleWithSamlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderAssumeRoleWithSaml)(nil)).Elem() +} + +func (o ProviderAssumeRoleWithSamlOutput) ToProviderAssumeRoleWithSamlOutput() ProviderAssumeRoleWithSamlOutput { + return o +} + +func (o ProviderAssumeRoleWithSamlOutput) ToProviderAssumeRoleWithSamlOutputWithContext(ctx context.Context) ProviderAssumeRoleWithSamlOutput { + return o +} + +func (o ProviderAssumeRoleWithSamlOutput) ToProviderAssumeRoleWithSamlPtrOutput() ProviderAssumeRoleWithSamlPtrOutput { + return o.ToProviderAssumeRoleWithSamlPtrOutputWithContext(context.Background()) +} + +func (o ProviderAssumeRoleWithSamlOutput) ToProviderAssumeRoleWithSamlPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithSamlPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProviderAssumeRoleWithSaml) *ProviderAssumeRoleWithSaml { + return &v + }).(ProviderAssumeRoleWithSamlPtrOutput) +} + +// Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. +func (o ProviderAssumeRoleWithSamlOutput) PrincipalArn() pulumi.StringOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithSaml) string { return v.PrincipalArn }).(pulumi.StringOutput) +} + +// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. +func (o ProviderAssumeRoleWithSamlOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithSaml) string { return v.RoleArn }).(pulumi.StringOutput) +} + +// SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. +func (o ProviderAssumeRoleWithSamlOutput) SamlAssertion() pulumi.StringOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithSaml) string { return v.SamlAssertion }).(pulumi.StringOutput) +} + +// The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. +func (o ProviderAssumeRoleWithSamlOutput) SessionDuration() pulumi.IntOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithSaml) int { return v.SessionDuration }).(pulumi.IntOutput) +} + +// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. +func (o ProviderAssumeRoleWithSamlOutput) SessionName() pulumi.StringOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithSaml) string { return v.SessionName }).(pulumi.StringOutput) +} + +type ProviderAssumeRoleWithSamlPtrOutput struct{ *pulumi.OutputState } + +func (ProviderAssumeRoleWithSamlPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProviderAssumeRoleWithSaml)(nil)).Elem() +} + +func (o ProviderAssumeRoleWithSamlPtrOutput) ToProviderAssumeRoleWithSamlPtrOutput() ProviderAssumeRoleWithSamlPtrOutput { + return o +} + +func (o ProviderAssumeRoleWithSamlPtrOutput) ToProviderAssumeRoleWithSamlPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithSamlPtrOutput { + return o +} + +func (o ProviderAssumeRoleWithSamlPtrOutput) Elem() ProviderAssumeRoleWithSamlOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithSaml) ProviderAssumeRoleWithSaml { + if v != nil { + return *v + } + var ret ProviderAssumeRoleWithSaml + return ret + }).(ProviderAssumeRoleWithSamlOutput) +} + +// Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. +func (o ProviderAssumeRoleWithSamlPtrOutput) PrincipalArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithSaml) *string { + if v == nil { + return nil + } + return &v.PrincipalArn + }).(pulumi.StringPtrOutput) +} + +// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. +func (o ProviderAssumeRoleWithSamlPtrOutput) RoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithSaml) *string { + if v == nil { + return nil + } + return &v.RoleArn + }).(pulumi.StringPtrOutput) +} + +// SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. +func (o ProviderAssumeRoleWithSamlPtrOutput) SamlAssertion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithSaml) *string { + if v == nil { + return nil + } + return &v.SamlAssertion + }).(pulumi.StringPtrOutput) +} + +// The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. +func (o ProviderAssumeRoleWithSamlPtrOutput) SessionDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithSaml) *int { + if v == nil { + return nil + } + return &v.SessionDuration + }).(pulumi.IntPtrOutput) +} + +// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. +func (o ProviderAssumeRoleWithSamlPtrOutput) SessionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithSaml) *string { + if v == nil { + return nil + } + return &v.SessionName + }).(pulumi.StringPtrOutput) +} + +type ProviderAssumeRoleWithWebIdentity struct { + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn string `pulumi:"roleArn"` + // The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration int `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName string `pulumi:"sessionName"` + // OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + WebIdentityToken string `pulumi:"webIdentityToken"` +} + +// ProviderAssumeRoleWithWebIdentityInput is an input type that accepts ProviderAssumeRoleWithWebIdentityArgs and ProviderAssumeRoleWithWebIdentityOutput values. +// You can construct a concrete instance of `ProviderAssumeRoleWithWebIdentityInput` via: +// +// ProviderAssumeRoleWithWebIdentityArgs{...} +type ProviderAssumeRoleWithWebIdentityInput interface { + pulumi.Input + + ToProviderAssumeRoleWithWebIdentityOutput() ProviderAssumeRoleWithWebIdentityOutput + ToProviderAssumeRoleWithWebIdentityOutputWithContext(context.Context) ProviderAssumeRoleWithWebIdentityOutput +} + +type ProviderAssumeRoleWithWebIdentityArgs struct { + // The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + RoleArn pulumi.StringInput `pulumi:"roleArn"` + // The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + SessionDuration pulumi.IntInput `pulumi:"sessionDuration"` + // The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + SessionName pulumi.StringInput `pulumi:"sessionName"` + // OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + WebIdentityToken pulumi.StringInput `pulumi:"webIdentityToken"` +} + +func (ProviderAssumeRoleWithWebIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderAssumeRoleWithWebIdentity)(nil)).Elem() +} + +func (i ProviderAssumeRoleWithWebIdentityArgs) ToProviderAssumeRoleWithWebIdentityOutput() ProviderAssumeRoleWithWebIdentityOutput { + return i.ToProviderAssumeRoleWithWebIdentityOutputWithContext(context.Background()) +} + +func (i ProviderAssumeRoleWithWebIdentityArgs) ToProviderAssumeRoleWithWebIdentityOutputWithContext(ctx context.Context) ProviderAssumeRoleWithWebIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderAssumeRoleWithWebIdentityOutput) +} + +func (i ProviderAssumeRoleWithWebIdentityArgs) ToProviderAssumeRoleWithWebIdentityPtrOutput() ProviderAssumeRoleWithWebIdentityPtrOutput { + return i.ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(context.Background()) +} + +func (i ProviderAssumeRoleWithWebIdentityArgs) ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithWebIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderAssumeRoleWithWebIdentityOutput).ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(ctx) +} + +// ProviderAssumeRoleWithWebIdentityPtrInput is an input type that accepts ProviderAssumeRoleWithWebIdentityArgs, ProviderAssumeRoleWithWebIdentityPtr and ProviderAssumeRoleWithWebIdentityPtrOutput values. +// You can construct a concrete instance of `ProviderAssumeRoleWithWebIdentityPtrInput` via: +// +// ProviderAssumeRoleWithWebIdentityArgs{...} +// +// or: +// +// nil +type ProviderAssumeRoleWithWebIdentityPtrInput interface { + pulumi.Input + + ToProviderAssumeRoleWithWebIdentityPtrOutput() ProviderAssumeRoleWithWebIdentityPtrOutput + ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(context.Context) ProviderAssumeRoleWithWebIdentityPtrOutput +} + +type providerAssumeRoleWithWebIdentityPtrType ProviderAssumeRoleWithWebIdentityArgs + +func ProviderAssumeRoleWithWebIdentityPtr(v *ProviderAssumeRoleWithWebIdentityArgs) ProviderAssumeRoleWithWebIdentityPtrInput { + return (*providerAssumeRoleWithWebIdentityPtrType)(v) +} + +func (*providerAssumeRoleWithWebIdentityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ProviderAssumeRoleWithWebIdentity)(nil)).Elem() +} + +func (i *providerAssumeRoleWithWebIdentityPtrType) ToProviderAssumeRoleWithWebIdentityPtrOutput() ProviderAssumeRoleWithWebIdentityPtrOutput { + return i.ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(context.Background()) +} + +func (i *providerAssumeRoleWithWebIdentityPtrType) ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithWebIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderAssumeRoleWithWebIdentityPtrOutput) +} + +type ProviderAssumeRoleWithWebIdentityOutput struct{ *pulumi.OutputState } + +func (ProviderAssumeRoleWithWebIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderAssumeRoleWithWebIdentity)(nil)).Elem() +} + +func (o ProviderAssumeRoleWithWebIdentityOutput) ToProviderAssumeRoleWithWebIdentityOutput() ProviderAssumeRoleWithWebIdentityOutput { + return o +} + +func (o ProviderAssumeRoleWithWebIdentityOutput) ToProviderAssumeRoleWithWebIdentityOutputWithContext(ctx context.Context) ProviderAssumeRoleWithWebIdentityOutput { + return o +} + +func (o ProviderAssumeRoleWithWebIdentityOutput) ToProviderAssumeRoleWithWebIdentityPtrOutput() ProviderAssumeRoleWithWebIdentityPtrOutput { + return o.ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(context.Background()) +} + +func (o ProviderAssumeRoleWithWebIdentityOutput) ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithWebIdentityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ProviderAssumeRoleWithWebIdentity) *ProviderAssumeRoleWithWebIdentity { + return &v + }).(ProviderAssumeRoleWithWebIdentityPtrOutput) +} + +// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. +func (o ProviderAssumeRoleWithWebIdentityOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithWebIdentity) string { return v.RoleArn }).(pulumi.StringOutput) +} + +// The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. +func (o ProviderAssumeRoleWithWebIdentityOutput) SessionDuration() pulumi.IntOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithWebIdentity) int { return v.SessionDuration }).(pulumi.IntOutput) +} + +// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. +func (o ProviderAssumeRoleWithWebIdentityOutput) SessionName() pulumi.StringOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithWebIdentity) string { return v.SessionName }).(pulumi.StringOutput) +} + +// OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. +func (o ProviderAssumeRoleWithWebIdentityOutput) WebIdentityToken() pulumi.StringOutput { + return o.ApplyT(func(v ProviderAssumeRoleWithWebIdentity) string { return v.WebIdentityToken }).(pulumi.StringOutput) +} + +type ProviderAssumeRoleWithWebIdentityPtrOutput struct{ *pulumi.OutputState } + +func (ProviderAssumeRoleWithWebIdentityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ProviderAssumeRoleWithWebIdentity)(nil)).Elem() +} + +func (o ProviderAssumeRoleWithWebIdentityPtrOutput) ToProviderAssumeRoleWithWebIdentityPtrOutput() ProviderAssumeRoleWithWebIdentityPtrOutput { + return o +} + +func (o ProviderAssumeRoleWithWebIdentityPtrOutput) ToProviderAssumeRoleWithWebIdentityPtrOutputWithContext(ctx context.Context) ProviderAssumeRoleWithWebIdentityPtrOutput { + return o +} + +func (o ProviderAssumeRoleWithWebIdentityPtrOutput) Elem() ProviderAssumeRoleWithWebIdentityOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithWebIdentity) ProviderAssumeRoleWithWebIdentity { + if v != nil { + return *v + } + var ret ProviderAssumeRoleWithWebIdentity + return ret + }).(ProviderAssumeRoleWithWebIdentityOutput) +} + +// The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. +func (o ProviderAssumeRoleWithWebIdentityPtrOutput) RoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithWebIdentity) *string { + if v == nil { + return nil + } + return &v.RoleArn + }).(pulumi.StringPtrOutput) +} + +// The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. +func (o ProviderAssumeRoleWithWebIdentityPtrOutput) SessionDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithWebIdentity) *int { + if v == nil { + return nil + } + return &v.SessionDuration + }).(pulumi.IntPtrOutput) +} + +// The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. +func (o ProviderAssumeRoleWithWebIdentityPtrOutput) SessionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithWebIdentity) *string { + if v == nil { + return nil + } + return &v.SessionName + }).(pulumi.StringPtrOutput) +} + +// OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. +func (o ProviderAssumeRoleWithWebIdentityPtrOutput) WebIdentityToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ProviderAssumeRoleWithWebIdentity) *string { + if v == nil { + return nil + } + return &v.WebIdentityToken + }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRoleInput)(nil)).Elem(), ProviderAssumeRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRolePtrInput)(nil)).Elem(), ProviderAssumeRoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRoleWithSamlInput)(nil)).Elem(), ProviderAssumeRoleWithSamlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRoleWithSamlPtrInput)(nil)).Elem(), ProviderAssumeRoleWithSamlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRoleWithWebIdentityInput)(nil)).Elem(), ProviderAssumeRoleWithWebIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ProviderAssumeRoleWithWebIdentityPtrInput)(nil)).Elem(), ProviderAssumeRoleWithWebIdentityArgs{}) pulumi.RegisterOutputType(ProviderAssumeRoleOutput{}) pulumi.RegisterOutputType(ProviderAssumeRolePtrOutput{}) + pulumi.RegisterOutputType(ProviderAssumeRoleWithSamlOutput{}) + pulumi.RegisterOutputType(ProviderAssumeRoleWithSamlPtrOutput{}) + pulumi.RegisterOutputType(ProviderAssumeRoleWithWebIdentityOutput{}) + pulumi.RegisterOutputType(ProviderAssumeRoleWithWebIdentityPtrOutput{}) } diff --git a/sdk/go/tencentcloud/redis/getClusters.go b/sdk/go/tencentcloud/redis/getClusters.go new file mode 100644 index 000000000..a5dde012f --- /dev/null +++ b/sdk/go/tencentcloud/redis/getClusters.go @@ -0,0 +1,228 @@ +// 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 redis + +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 redis clusters +// +// ## Example Usage +// +// ### Query all instance +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Redis" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Redis.GetClusters(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Also Support the following query conditions +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Redis" +// +// ) +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Redis.GetClusters(ctx, &redis.GetClustersArgs{ +// AutoRenewFlags: interface{}{ +// 0, +// 1, +// 2, +// }, +// ClusterName: pulumi.StringRef("crs-cdc-9nyfki8h"), +// DedicatedClusterId: pulumi.StringRef("cluster-0astoh6a"), +// ProjectIds: interface{}{ +// 0, +// 1, +// }, +// RedisClusterIds: []string{ +// "crs-cdc-9nyfki8h", +// }, +// Statuses: interface{}{ +// 0, +// 1, +// 2, +// }, +// }, nil); +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// +func GetClusters(ctx *pulumi.Context, args *GetClustersArgs, opts ...pulumi.InvokeOption) (*GetClustersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetClustersResult + err := ctx.Invoke("tencentcloud:Redis/getClusters:getClusters", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getClusters. +type GetClustersArgs struct { + // Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + AutoRenewFlags []int `pulumi:"autoRenewFlags"` + // Cluster name. + ClusterName *string `pulumi:"clusterName"` + // Dedicated cluster Id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` + // Project Ids. + ProjectIds []int `pulumi:"projectIds"` + // Redis Cluster Ids. + RedisClusterIds []string `pulumi:"redisClusterIds"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Cluster status: 1- In process, 2- Running, 3- Isolated. + Statuses []int `pulumi:"statuses"` +} + +// A collection of values returned by getClusters. +type GetClustersResult struct { + // Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + AutoRenewFlags []int `pulumi:"autoRenewFlags"` + // Cluster name. + ClusterName *string `pulumi:"clusterName"` + // Dedicated cluster Id. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ProjectIds []int `pulumi:"projectIds"` + RedisClusterIds []string `pulumi:"redisClusterIds"` + // . + Resources []GetClustersResource `pulumi:"resources"` + ResultOutputFile *string `pulumi:"resultOutputFile"` + // Cluster status: 1- In process, 2- Running, 3- Isolated. + Statuses []int `pulumi:"statuses"` +} + +func GetClustersOutput(ctx *pulumi.Context, args GetClustersOutputArgs, opts ...pulumi.InvokeOption) GetClustersResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetClustersResult, error) { + args := v.(GetClustersArgs) + r, err := GetClusters(ctx, &args, opts...) + var s GetClustersResult + if r != nil { + s = *r + } + return s, err + }).(GetClustersResultOutput) +} + +// A collection of arguments for invoking getClusters. +type GetClustersOutputArgs struct { + // Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + AutoRenewFlags pulumi.IntArrayInput `pulumi:"autoRenewFlags"` + // Cluster name. + ClusterName pulumi.StringPtrInput `pulumi:"clusterName"` + // Dedicated cluster Id. + DedicatedClusterId pulumi.StringPtrInput `pulumi:"dedicatedClusterId"` + // Project Ids. + ProjectIds pulumi.IntArrayInput `pulumi:"projectIds"` + // Redis Cluster Ids. + RedisClusterIds pulumi.StringArrayInput `pulumi:"redisClusterIds"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` + // Cluster status: 1- In process, 2- Running, 3- Isolated. + Statuses pulumi.IntArrayInput `pulumi:"statuses"` +} + +func (GetClustersOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersArgs)(nil)).Elem() +} + +// A collection of values returned by getClusters. +type GetClustersResultOutput struct{ *pulumi.OutputState } + +func (GetClustersResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersResult)(nil)).Elem() +} + +func (o GetClustersResultOutput) ToGetClustersResultOutput() GetClustersResultOutput { + return o +} + +func (o GetClustersResultOutput) ToGetClustersResultOutputWithContext(ctx context.Context) GetClustersResultOutput { + return o +} + +// Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. +func (o GetClustersResultOutput) AutoRenewFlags() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetClustersResult) []int { return v.AutoRenewFlags }).(pulumi.IntArrayOutput) +} + +// Cluster name. +func (o GetClustersResultOutput) ClusterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetClustersResult) *string { return v.ClusterName }).(pulumi.StringPtrOutput) +} + +// Dedicated cluster Id. +func (o GetClustersResultOutput) DedicatedClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetClustersResult) *string { return v.DedicatedClusterId }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetClustersResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetClustersResultOutput) ProjectIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetClustersResult) []int { return v.ProjectIds }).(pulumi.IntArrayOutput) +} + +func (o GetClustersResultOutput) RedisClusterIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClustersResult) []string { return v.RedisClusterIds }).(pulumi.StringArrayOutput) +} + +// . +func (o GetClustersResultOutput) Resources() GetClustersResourceArrayOutput { + return o.ApplyT(func(v GetClustersResult) []GetClustersResource { return v.Resources }).(GetClustersResourceArrayOutput) +} + +func (o GetClustersResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetClustersResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +// Cluster status: 1- In process, 2- Running, 3- Isolated. +func (o GetClustersResultOutput) Statuses() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetClustersResult) []int { return v.Statuses }).(pulumi.IntArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetClustersResultOutput{}) +} diff --git a/sdk/go/tencentcloud/redis/init.go b/sdk/go/tencentcloud/redis/init.go index 3003c6472..17c108ba7 100644 --- a/sdk/go/tencentcloud/redis/init.go +++ b/sdk/go/tencentcloud/redis/init.go @@ -35,6 +35,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ConnectionConfig{} case "tencentcloud:Redis/instance:Instance": r = &Instance{} + case "tencentcloud:Redis/logDelivery:LogDelivery": + r = &LogDelivery{} case "tencentcloud:Redis/maintenanceWindow:MaintenanceWindow": r = &MaintenanceWindow{} case "tencentcloud:Redis/param:Param": @@ -111,6 +113,11 @@ func init() { "Redis/instance", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Redis/logDelivery", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Redis/maintenanceWindow", diff --git a/sdk/go/tencentcloud/redis/instance.go b/sdk/go/tencentcloud/redis/instance.go index 6e480336c..b2317954b 100644 --- a/sdk/go/tencentcloud/redis/instance.go +++ b/sdk/go/tencentcloud/redis/instance.go @@ -57,10 +57,10 @@ import ( // if err != nil { // return err // } -// _, err = Redis.NewInstance(ctx, "foo", &Redis.InstanceArgs{ +// _, err = Redis.NewInstance(ctx, "example", &Redis.InstanceArgs{ // AvailabilityZone: pulumi.String(zone.Lists[0].Zone), // TypeId: pulumi.Int(zone.Lists[0].TypeId), -// Password: pulumi.String("test12345789"), +// Password: pulumi.String("Password@123"), // MemSize: pulumi.Int(8192), // RedisShardNum: pulumi.Int(zone.Lists[0].RedisShardNums[0]), // RedisReplicasNum: pulumi.Int(zone.Lists[0].RedisReplicasNums[0]), @@ -78,12 +78,77 @@ import ( // ``` // // +// ### Create a CDC scenario instance +// +// +// ```go +// package main +// +// 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/Redis" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// cdcId := "cluster-xxxx" +// if param := cfg.Get("cdcId"); param != "" { +// cdcId = param +// } +// clusters, err := Redis.GetClusters(ctx, &redis.GetClustersArgs{ +// DedicatedClusterId: pulumi.StringRef(cdcId), +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("name", clusters.Resources[0].RedisClusterId) +// zone, err := Redis.GetZoneConfig(ctx, &redis.GetZoneConfigArgs{ +// TypeId: pulumi.IntRef(7), +// Region: pulumi.StringRef("ap-guangzhou"), +// }, nil) +// if err != nil { +// return err +// } +// subnets, err := Vpc.GetSubnets(ctx, &vpc.GetSubnetsArgs{ +// CdcId: pulumi.StringRef(cdcId), +// }, nil) +// if err != nil { +// return err +// } +// _, err = Redis.NewInstance(ctx, "example", &Redis.InstanceArgs{ +// AvailabilityZone: pulumi.String(zone.Lists[0].Zone), +// TypeId: pulumi.Int(zone.Lists[0].TypeId), +// Password: pulumi.String("Password@123"), +// MemSize: pulumi.Int(8192), +// RedisShardNum: pulumi.Int(zone.Lists[0].RedisShardNums[0]), +// RedisReplicasNum: pulumi.Int(zone.Lists[0].RedisReplicasNums[0]), +// Port: pulumi.Int(6379), +// VpcId: pulumi.String(subnets.InstanceLists[0].VpcId), +// SubnetId: pulumi.String(subnets.InstanceLists[0].SubnetId), +// ProductVersion: pulumi.String("cdc"), +// RedisClusterId: pulumi.String(clusters.Resources[0].RedisClusterId), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// // ## Import // // Redis instance can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Redis/instance:Instance redislab redis-id +// $ pulumi import tencentcloud:Redis/instance:Instance example crs-iu22tdrf // ``` type Instance struct { pulumi.CustomResourceState @@ -96,6 +161,8 @@ type Instance struct { ChargeType pulumi.StringPtrOutput `pulumi:"chargeType"` // The time when the instance was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` + // Dedicated Cluster ID. + DedicatedClusterId pulumi.StringOutput `pulumi:"dedicatedClusterId"` // Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"` // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. @@ -118,10 +185,14 @@ type Instance struct { Port pulumi.IntPtrOutput `pulumi:"port"` // The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. PrepaidPeriod pulumi.IntPtrOutput `pulumi:"prepaidPeriod"` + // Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + ProductVersion pulumi.StringOutput `pulumi:"productVersion"` // Specifies which project the instance should belong to. ProjectId pulumi.IntPtrOutput `pulumi:"projectId"` // Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. Recycle pulumi.IntPtrOutput `pulumi:"recycle"` + // Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + RedisClusterId pulumi.StringOutput `pulumi:"redisClusterId"` // The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. RedisReplicasNum pulumi.IntPtrOutput `pulumi:"redisReplicasNum"` // The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, ` 24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. @@ -201,6 +272,8 @@ type instanceState struct { ChargeType *string `pulumi:"chargeType"` // The time when the instance was created. CreateTime *string `pulumi:"createTime"` + // Dedicated Cluster ID. + DedicatedClusterId *string `pulumi:"dedicatedClusterId"` // Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. ForceDelete *bool `pulumi:"forceDelete"` // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. @@ -223,10 +296,14 @@ type instanceState struct { Port *int `pulumi:"port"` // The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. PrepaidPeriod *int `pulumi:"prepaidPeriod"` + // Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + ProductVersion *string `pulumi:"productVersion"` // Specifies which project the instance should belong to. ProjectId *int `pulumi:"projectId"` // Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. Recycle *int `pulumi:"recycle"` + // Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + RedisClusterId *string `pulumi:"redisClusterId"` // The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. RedisReplicasNum *int `pulumi:"redisReplicasNum"` // The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, ` 24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. @@ -264,6 +341,8 @@ type InstanceState struct { ChargeType pulumi.StringPtrInput // The time when the instance was created. CreateTime pulumi.StringPtrInput + // Dedicated Cluster ID. + DedicatedClusterId pulumi.StringPtrInput // Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. ForceDelete pulumi.BoolPtrInput // IP address of an instance. When the `operationNetwork` is `changeVip`, this parameter needs to be configured. @@ -286,10 +365,14 @@ type InstanceState struct { Port pulumi.IntPtrInput // The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. PrepaidPeriod pulumi.IntPtrInput + // Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + ProductVersion pulumi.StringPtrInput // Specifies which project the instance should belong to. ProjectId pulumi.IntPtrInput // Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. Recycle pulumi.IntPtrInput + // Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + RedisClusterId pulumi.StringPtrInput // The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. RedisReplicasNum pulumi.IntPtrInput // The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, ` 24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. @@ -349,10 +432,14 @@ type instanceArgs struct { Port *int `pulumi:"port"` // The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. PrepaidPeriod *int `pulumi:"prepaidPeriod"` + // Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + ProductVersion *string `pulumi:"productVersion"` // Specifies which project the instance should belong to. ProjectId *int `pulumi:"projectId"` // Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. Recycle *int `pulumi:"recycle"` + // Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + RedisClusterId *string `pulumi:"redisClusterId"` // The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. RedisReplicasNum *int `pulumi:"redisReplicasNum"` // The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, ` 24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. @@ -407,10 +494,14 @@ type InstanceArgs struct { Port pulumi.IntPtrInput // The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. PrepaidPeriod pulumi.IntPtrInput + // Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + ProductVersion pulumi.StringPtrInput // Specifies which project the instance should belong to. ProjectId pulumi.IntPtrInput // Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. Recycle pulumi.IntPtrInput + // Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + RedisClusterId pulumi.StringPtrInput // The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. RedisReplicasNum pulumi.IntPtrInput // The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, ` 24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. @@ -544,6 +635,11 @@ func (o InstanceOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } +// Dedicated Cluster ID. +func (o InstanceOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + // Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. func (o InstanceOutput) ForceDelete() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.ForceDelete }).(pulumi.BoolPtrOutput) @@ -599,6 +695,11 @@ func (o InstanceOutput) PrepaidPeriod() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.PrepaidPeriod }).(pulumi.IntPtrOutput) } +// Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. +func (o InstanceOutput) ProductVersion() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ProductVersion }).(pulumi.StringOutput) +} + // Specifies which project the instance should belong to. func (o InstanceOutput) ProjectId() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.ProjectId }).(pulumi.IntPtrOutput) @@ -609,6 +710,11 @@ func (o InstanceOutput) Recycle() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.Recycle }).(pulumi.IntPtrOutput) } +// Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. +func (o InstanceOutput) RedisClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.RedisClusterId }).(pulumi.StringOutput) +} + // The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. func (o InstanceOutput) RedisReplicasNum() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.RedisReplicasNum }).(pulumi.IntPtrOutput) diff --git a/sdk/go/tencentcloud/redis/logDelivery.go b/sdk/go/tencentcloud/redis/logDelivery.go new file mode 100644 index 000000000..91f9a2aba --- /dev/null +++ b/sdk/go/tencentcloud/redis/logDelivery.go @@ -0,0 +1,432 @@ +// 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 redis + +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 Redis instance log delivery land set its attributes. +// +// > **NOTE:** When you use an existing cls logset and topic to enable logging, there is no need to set parameters such +// as `period`, `createIndex`, `logRegion`, etc. +// +// ## Example Usage +// +// ### Use cls logset and topic which existed +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Redis" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Redis.NewLogDelivery(ctx, "delivery", &Redis.LogDeliveryArgs{ +// InstanceId: pulumi.String("crs-dmjj8en7"), +// LogsetId: pulumi.String("cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c"), +// TopicId: pulumi.String("5c2333e9-0bab-41fd-9f75-c602b3f9545f"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Use exist cls logset and create new topic +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Redis" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Redis.NewLogDelivery(ctx, "delivery", &Redis.LogDeliveryArgs{ +// CreateIndex: pulumi.Bool(true), +// InstanceId: pulumi.String("crs-dmjj8en7"), +// LogsetId: pulumi.String("cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c"), +// Period: pulumi.Int(20), +// TopicName: pulumi.String("test13"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create new cls logset and topic +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Redis" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Redis.NewLogDelivery(ctx, "delivery", &Redis.LogDeliveryArgs{ +// CreateIndex: pulumi.Bool(true), +// InstanceId: pulumi.String("crs-dmjj8en7"), +// LogRegion: pulumi.String("ap-guangzhou"), +// LogsetName: pulumi.String("test"), +// Period: pulumi.Int(20), +// TopicName: pulumi.String("test"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// Redis log delivery can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Redis/logDelivery:LogDelivery delivery crs-dmjj8en7 +// ``` +type LogDelivery struct { + pulumi.CustomResourceState + + // Whether to create an index when creating a log topic. + CreateIndex pulumi.BoolOutput `pulumi:"createIndex"` + // Instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // The region where the log set is located; if not specified, the region where the instance is located will be used by default. + LogRegion pulumi.StringOutput `pulumi:"logRegion"` + // The ID of the log set being delivered. + LogsetId pulumi.StringOutput `pulumi:"logsetId"` + // Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + LogsetName pulumi.StringOutput `pulumi:"logsetName"` + // Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + Period pulumi.IntOutput `pulumi:"period"` + // The ID of the topic being delivered. + TopicId pulumi.StringOutput `pulumi:"topicId"` + // Log topic name, required when TopicId is empty, a new log topic will be automatically created. + TopicName pulumi.StringOutput `pulumi:"topicName"` +} + +// NewLogDelivery registers a new resource with the given unique name, arguments, and options. +func NewLogDelivery(ctx *pulumi.Context, + name string, args *LogDeliveryArgs, opts ...pulumi.ResourceOption) (*LogDelivery, 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'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource LogDelivery + err := ctx.RegisterResource("tencentcloud:Redis/logDelivery:LogDelivery", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLogDelivery gets an existing LogDelivery 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 GetLogDelivery(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LogDeliveryState, opts ...pulumi.ResourceOption) (*LogDelivery, error) { + var resource LogDelivery + err := ctx.ReadResource("tencentcloud:Redis/logDelivery:LogDelivery", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LogDelivery resources. +type logDeliveryState struct { + // Whether to create an index when creating a log topic. + CreateIndex *bool `pulumi:"createIndex"` + // Instance ID. + InstanceId *string `pulumi:"instanceId"` + // The region where the log set is located; if not specified, the region where the instance is located will be used by default. + LogRegion *string `pulumi:"logRegion"` + // The ID of the log set being delivered. + LogsetId *string `pulumi:"logsetId"` + // Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + LogsetName *string `pulumi:"logsetName"` + // Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + Period *int `pulumi:"period"` + // The ID of the topic being delivered. + TopicId *string `pulumi:"topicId"` + // Log topic name, required when TopicId is empty, a new log topic will be automatically created. + TopicName *string `pulumi:"topicName"` +} + +type LogDeliveryState struct { + // Whether to create an index when creating a log topic. + CreateIndex pulumi.BoolPtrInput + // Instance ID. + InstanceId pulumi.StringPtrInput + // The region where the log set is located; if not specified, the region where the instance is located will be used by default. + LogRegion pulumi.StringPtrInput + // The ID of the log set being delivered. + LogsetId pulumi.StringPtrInput + // Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + LogsetName pulumi.StringPtrInput + // Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + Period pulumi.IntPtrInput + // The ID of the topic being delivered. + TopicId pulumi.StringPtrInput + // Log topic name, required when TopicId is empty, a new log topic will be automatically created. + TopicName pulumi.StringPtrInput +} + +func (LogDeliveryState) ElementType() reflect.Type { + return reflect.TypeOf((*logDeliveryState)(nil)).Elem() +} + +type logDeliveryArgs struct { + // Whether to create an index when creating a log topic. + CreateIndex *bool `pulumi:"createIndex"` + // Instance ID. + InstanceId string `pulumi:"instanceId"` + // The region where the log set is located; if not specified, the region where the instance is located will be used by default. + LogRegion *string `pulumi:"logRegion"` + // The ID of the log set being delivered. + LogsetId *string `pulumi:"logsetId"` + // Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + LogsetName *string `pulumi:"logsetName"` + // Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + Period *int `pulumi:"period"` + // The ID of the topic being delivered. + TopicId *string `pulumi:"topicId"` + // Log topic name, required when TopicId is empty, a new log topic will be automatically created. + TopicName *string `pulumi:"topicName"` +} + +// The set of arguments for constructing a LogDelivery resource. +type LogDeliveryArgs struct { + // Whether to create an index when creating a log topic. + CreateIndex pulumi.BoolPtrInput + // Instance ID. + InstanceId pulumi.StringInput + // The region where the log set is located; if not specified, the region where the instance is located will be used by default. + LogRegion pulumi.StringPtrInput + // The ID of the log set being delivered. + LogsetId pulumi.StringPtrInput + // Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + LogsetName pulumi.StringPtrInput + // Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + Period pulumi.IntPtrInput + // The ID of the topic being delivered. + TopicId pulumi.StringPtrInput + // Log topic name, required when TopicId is empty, a new log topic will be automatically created. + TopicName pulumi.StringPtrInput +} + +func (LogDeliveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*logDeliveryArgs)(nil)).Elem() +} + +type LogDeliveryInput interface { + pulumi.Input + + ToLogDeliveryOutput() LogDeliveryOutput + ToLogDeliveryOutputWithContext(ctx context.Context) LogDeliveryOutput +} + +func (*LogDelivery) ElementType() reflect.Type { + return reflect.TypeOf((**LogDelivery)(nil)).Elem() +} + +func (i *LogDelivery) ToLogDeliveryOutput() LogDeliveryOutput { + return i.ToLogDeliveryOutputWithContext(context.Background()) +} + +func (i *LogDelivery) ToLogDeliveryOutputWithContext(ctx context.Context) LogDeliveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogDeliveryOutput) +} + +// LogDeliveryArrayInput is an input type that accepts LogDeliveryArray and LogDeliveryArrayOutput values. +// You can construct a concrete instance of `LogDeliveryArrayInput` via: +// +// LogDeliveryArray{ LogDeliveryArgs{...} } +type LogDeliveryArrayInput interface { + pulumi.Input + + ToLogDeliveryArrayOutput() LogDeliveryArrayOutput + ToLogDeliveryArrayOutputWithContext(context.Context) LogDeliveryArrayOutput +} + +type LogDeliveryArray []LogDeliveryInput + +func (LogDeliveryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogDelivery)(nil)).Elem() +} + +func (i LogDeliveryArray) ToLogDeliveryArrayOutput() LogDeliveryArrayOutput { + return i.ToLogDeliveryArrayOutputWithContext(context.Background()) +} + +func (i LogDeliveryArray) ToLogDeliveryArrayOutputWithContext(ctx context.Context) LogDeliveryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogDeliveryArrayOutput) +} + +// LogDeliveryMapInput is an input type that accepts LogDeliveryMap and LogDeliveryMapOutput values. +// You can construct a concrete instance of `LogDeliveryMapInput` via: +// +// LogDeliveryMap{ "key": LogDeliveryArgs{...} } +type LogDeliveryMapInput interface { + pulumi.Input + + ToLogDeliveryMapOutput() LogDeliveryMapOutput + ToLogDeliveryMapOutputWithContext(context.Context) LogDeliveryMapOutput +} + +type LogDeliveryMap map[string]LogDeliveryInput + +func (LogDeliveryMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogDelivery)(nil)).Elem() +} + +func (i LogDeliveryMap) ToLogDeliveryMapOutput() LogDeliveryMapOutput { + return i.ToLogDeliveryMapOutputWithContext(context.Background()) +} + +func (i LogDeliveryMap) ToLogDeliveryMapOutputWithContext(ctx context.Context) LogDeliveryMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogDeliveryMapOutput) +} + +type LogDeliveryOutput struct{ *pulumi.OutputState } + +func (LogDeliveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogDelivery)(nil)).Elem() +} + +func (o LogDeliveryOutput) ToLogDeliveryOutput() LogDeliveryOutput { + return o +} + +func (o LogDeliveryOutput) ToLogDeliveryOutputWithContext(ctx context.Context) LogDeliveryOutput { + return o +} + +// Whether to create an index when creating a log topic. +func (o LogDeliveryOutput) CreateIndex() pulumi.BoolOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.BoolOutput { return v.CreateIndex }).(pulumi.BoolOutput) +} + +// Instance ID. +func (o LogDeliveryOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// The region where the log set is located; if not specified, the region where the instance is located will be used by default. +func (o LogDeliveryOutput) LogRegion() pulumi.StringOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.StringOutput { return v.LogRegion }).(pulumi.StringOutput) +} + +// The ID of the log set being delivered. +func (o LogDeliveryOutput) LogsetId() pulumi.StringOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.StringOutput { return v.LogsetId }).(pulumi.StringOutput) +} + +// Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. +func (o LogDeliveryOutput) LogsetName() pulumi.StringOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.StringOutput { return v.LogsetName }).(pulumi.StringOutput) +} + +// Log storage time, defaults to 30 days, with an optional range of 1-3600 days. +func (o LogDeliveryOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.IntOutput { return v.Period }).(pulumi.IntOutput) +} + +// The ID of the topic being delivered. +func (o LogDeliveryOutput) TopicId() pulumi.StringOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.StringOutput { return v.TopicId }).(pulumi.StringOutput) +} + +// Log topic name, required when TopicId is empty, a new log topic will be automatically created. +func (o LogDeliveryOutput) TopicName() pulumi.StringOutput { + return o.ApplyT(func(v *LogDelivery) pulumi.StringOutput { return v.TopicName }).(pulumi.StringOutput) +} + +type LogDeliveryArrayOutput struct{ *pulumi.OutputState } + +func (LogDeliveryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogDelivery)(nil)).Elem() +} + +func (o LogDeliveryArrayOutput) ToLogDeliveryArrayOutput() LogDeliveryArrayOutput { + return o +} + +func (o LogDeliveryArrayOutput) ToLogDeliveryArrayOutputWithContext(ctx context.Context) LogDeliveryArrayOutput { + return o +} + +func (o LogDeliveryArrayOutput) Index(i pulumi.IntInput) LogDeliveryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LogDelivery { + return vs[0].([]*LogDelivery)[vs[1].(int)] + }).(LogDeliveryOutput) +} + +type LogDeliveryMapOutput struct{ *pulumi.OutputState } + +func (LogDeliveryMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogDelivery)(nil)).Elem() +} + +func (o LogDeliveryMapOutput) ToLogDeliveryMapOutput() LogDeliveryMapOutput { + return o +} + +func (o LogDeliveryMapOutput) ToLogDeliveryMapOutputWithContext(ctx context.Context) LogDeliveryMapOutput { + return o +} + +func (o LogDeliveryMapOutput) MapIndex(k pulumi.StringInput) LogDeliveryOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LogDelivery { + return vs[0].(map[string]*LogDelivery)[vs[1].(string)] + }).(LogDeliveryOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LogDeliveryInput)(nil)).Elem(), &LogDelivery{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogDeliveryArrayInput)(nil)).Elem(), LogDeliveryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogDeliveryMapInput)(nil)).Elem(), LogDeliveryMap{}) + pulumi.RegisterOutputType(LogDeliveryOutput{}) + pulumi.RegisterOutputType(LogDeliveryArrayOutput{}) + pulumi.RegisterOutputType(LogDeliveryMapOutput{}) +} diff --git a/sdk/go/tencentcloud/redis/pulumiTypes.go b/sdk/go/tencentcloud/redis/pulumiTypes.go index 73171ad59..4f0dde5db 100644 --- a/sdk/go/tencentcloud/redis/pulumiTypes.go +++ b/sdk/go/tencentcloud/redis/pulumiTypes.go @@ -962,6 +962,450 @@ func (o GetBackupDownloadInfoLimitVpcArrayOutput) Index(i pulumi.IntInput) GetBa }).(GetBackupDownloadInfoLimitVpcOutput) } +type GetClustersResource struct { + // User's Appid. + AppId int `pulumi:"appId"` + // Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + AutoRenewFlag int `pulumi:"autoRenewFlag"` + // Basic Control Resource Package. + BaseBundles []GetClustersResourceBaseBundle `pulumi:"baseBundles"` + // Cluster name. + ClusterName string `pulumi:"clusterName"` + // Dedicated cluster Id. + DedicatedClusterId string `pulumi:"dedicatedClusterId"` + // Instance expiration time. + EndTime string `pulumi:"endTime"` + // Billing mode, 1-annual and monthly package, 0-quantity based billing. + PayMode int `pulumi:"payMode"` + // Project Id. + ProjectId int `pulumi:"projectId"` + // Redis Cluster Id. + RedisClusterId string `pulumi:"redisClusterId"` + // Region Id. + RegionId int `pulumi:"regionId"` + // List of Resource Packages. + ResourceBundles []GetClustersResourceResourceBundle `pulumi:"resourceBundles"` + // Instance create time. + StartTime string `pulumi:"startTime"` + // Cluster status: 1- In process, 2- Running, 3- Isolated. + Status int `pulumi:"status"` + // zone Id. + ZoneId int `pulumi:"zoneId"` +} + +// GetClustersResourceInput is an input type that accepts GetClustersResourceArgs and GetClustersResourceOutput values. +// You can construct a concrete instance of `GetClustersResourceInput` via: +// +// GetClustersResourceArgs{...} +type GetClustersResourceInput interface { + pulumi.Input + + ToGetClustersResourceOutput() GetClustersResourceOutput + ToGetClustersResourceOutputWithContext(context.Context) GetClustersResourceOutput +} + +type GetClustersResourceArgs struct { + // User's Appid. + AppId pulumi.IntInput `pulumi:"appId"` + // Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + AutoRenewFlag pulumi.IntInput `pulumi:"autoRenewFlag"` + // Basic Control Resource Package. + BaseBundles GetClustersResourceBaseBundleArrayInput `pulumi:"baseBundles"` + // Cluster name. + ClusterName pulumi.StringInput `pulumi:"clusterName"` + // Dedicated cluster Id. + DedicatedClusterId pulumi.StringInput `pulumi:"dedicatedClusterId"` + // Instance expiration time. + EndTime pulumi.StringInput `pulumi:"endTime"` + // Billing mode, 1-annual and monthly package, 0-quantity based billing. + PayMode pulumi.IntInput `pulumi:"payMode"` + // Project Id. + ProjectId pulumi.IntInput `pulumi:"projectId"` + // Redis Cluster Id. + RedisClusterId pulumi.StringInput `pulumi:"redisClusterId"` + // Region Id. + RegionId pulumi.IntInput `pulumi:"regionId"` + // List of Resource Packages. + ResourceBundles GetClustersResourceResourceBundleArrayInput `pulumi:"resourceBundles"` + // Instance create time. + StartTime pulumi.StringInput `pulumi:"startTime"` + // Cluster status: 1- In process, 2- Running, 3- Isolated. + Status pulumi.IntInput `pulumi:"status"` + // zone Id. + ZoneId pulumi.IntInput `pulumi:"zoneId"` +} + +func (GetClustersResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersResource)(nil)).Elem() +} + +func (i GetClustersResourceArgs) ToGetClustersResourceOutput() GetClustersResourceOutput { + return i.ToGetClustersResourceOutputWithContext(context.Background()) +} + +func (i GetClustersResourceArgs) ToGetClustersResourceOutputWithContext(ctx context.Context) GetClustersResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClustersResourceOutput) +} + +// GetClustersResourceArrayInput is an input type that accepts GetClustersResourceArray and GetClustersResourceArrayOutput values. +// You can construct a concrete instance of `GetClustersResourceArrayInput` via: +// +// GetClustersResourceArray{ GetClustersResourceArgs{...} } +type GetClustersResourceArrayInput interface { + pulumi.Input + + ToGetClustersResourceArrayOutput() GetClustersResourceArrayOutput + ToGetClustersResourceArrayOutputWithContext(context.Context) GetClustersResourceArrayOutput +} + +type GetClustersResourceArray []GetClustersResourceInput + +func (GetClustersResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClustersResource)(nil)).Elem() +} + +func (i GetClustersResourceArray) ToGetClustersResourceArrayOutput() GetClustersResourceArrayOutput { + return i.ToGetClustersResourceArrayOutputWithContext(context.Background()) +} + +func (i GetClustersResourceArray) ToGetClustersResourceArrayOutputWithContext(ctx context.Context) GetClustersResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClustersResourceArrayOutput) +} + +type GetClustersResourceOutput struct{ *pulumi.OutputState } + +func (GetClustersResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersResource)(nil)).Elem() +} + +func (o GetClustersResourceOutput) ToGetClustersResourceOutput() GetClustersResourceOutput { + return o +} + +func (o GetClustersResourceOutput) ToGetClustersResourceOutputWithContext(ctx context.Context) GetClustersResourceOutput { + return o +} + +// User's Appid. +func (o GetClustersResourceOutput) AppId() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResource) int { return v.AppId }).(pulumi.IntOutput) +} + +// Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. +func (o GetClustersResourceOutput) AutoRenewFlag() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResource) int { return v.AutoRenewFlag }).(pulumi.IntOutput) +} + +// Basic Control Resource Package. +func (o GetClustersResourceOutput) BaseBundles() GetClustersResourceBaseBundleArrayOutput { + return o.ApplyT(func(v GetClustersResource) []GetClustersResourceBaseBundle { return v.BaseBundles }).(GetClustersResourceBaseBundleArrayOutput) +} + +// Cluster name. +func (o GetClustersResourceOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResource) string { return v.ClusterName }).(pulumi.StringOutput) +} + +// Dedicated cluster Id. +func (o GetClustersResourceOutput) DedicatedClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResource) string { return v.DedicatedClusterId }).(pulumi.StringOutput) +} + +// Instance expiration time. +func (o GetClustersResourceOutput) EndTime() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResource) string { return v.EndTime }).(pulumi.StringOutput) +} + +// Billing mode, 1-annual and monthly package, 0-quantity based billing. +func (o GetClustersResourceOutput) PayMode() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResource) int { return v.PayMode }).(pulumi.IntOutput) +} + +// Project Id. +func (o GetClustersResourceOutput) ProjectId() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResource) int { return v.ProjectId }).(pulumi.IntOutput) +} + +// Redis Cluster Id. +func (o GetClustersResourceOutput) RedisClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResource) string { return v.RedisClusterId }).(pulumi.StringOutput) +} + +// Region Id. +func (o GetClustersResourceOutput) RegionId() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResource) int { return v.RegionId }).(pulumi.IntOutput) +} + +// List of Resource Packages. +func (o GetClustersResourceOutput) ResourceBundles() GetClustersResourceResourceBundleArrayOutput { + return o.ApplyT(func(v GetClustersResource) []GetClustersResourceResourceBundle { return v.ResourceBundles }).(GetClustersResourceResourceBundleArrayOutput) +} + +// Instance create time. +func (o GetClustersResourceOutput) StartTime() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResource) string { return v.StartTime }).(pulumi.StringOutput) +} + +// Cluster status: 1- In process, 2- Running, 3- Isolated. +func (o GetClustersResourceOutput) Status() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResource) int { return v.Status }).(pulumi.IntOutput) +} + +// zone Id. +func (o GetClustersResourceOutput) ZoneId() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResource) int { return v.ZoneId }).(pulumi.IntOutput) +} + +type GetClustersResourceArrayOutput struct{ *pulumi.OutputState } + +func (GetClustersResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClustersResource)(nil)).Elem() +} + +func (o GetClustersResourceArrayOutput) ToGetClustersResourceArrayOutput() GetClustersResourceArrayOutput { + return o +} + +func (o GetClustersResourceArrayOutput) ToGetClustersResourceArrayOutputWithContext(ctx context.Context) GetClustersResourceArrayOutput { + return o +} + +func (o GetClustersResourceArrayOutput) Index(i pulumi.IntInput) GetClustersResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClustersResource { + return vs[0].([]GetClustersResource)[vs[1].(int)] + }).(GetClustersResourceOutput) +} + +type GetClustersResourceBaseBundle struct { + // Saleable memory, unit: GB. + AvailableMemory int `pulumi:"availableMemory"` + // Resource bundle count. + Count int `pulumi:"count"` + // Resource bundle name. + ResourceBundleName string `pulumi:"resourceBundleName"` +} + +// GetClustersResourceBaseBundleInput is an input type that accepts GetClustersResourceBaseBundleArgs and GetClustersResourceBaseBundleOutput values. +// You can construct a concrete instance of `GetClustersResourceBaseBundleInput` via: +// +// GetClustersResourceBaseBundleArgs{...} +type GetClustersResourceBaseBundleInput interface { + pulumi.Input + + ToGetClustersResourceBaseBundleOutput() GetClustersResourceBaseBundleOutput + ToGetClustersResourceBaseBundleOutputWithContext(context.Context) GetClustersResourceBaseBundleOutput +} + +type GetClustersResourceBaseBundleArgs struct { + // Saleable memory, unit: GB. + AvailableMemory pulumi.IntInput `pulumi:"availableMemory"` + // Resource bundle count. + Count pulumi.IntInput `pulumi:"count"` + // Resource bundle name. + ResourceBundleName pulumi.StringInput `pulumi:"resourceBundleName"` +} + +func (GetClustersResourceBaseBundleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersResourceBaseBundle)(nil)).Elem() +} + +func (i GetClustersResourceBaseBundleArgs) ToGetClustersResourceBaseBundleOutput() GetClustersResourceBaseBundleOutput { + return i.ToGetClustersResourceBaseBundleOutputWithContext(context.Background()) +} + +func (i GetClustersResourceBaseBundleArgs) ToGetClustersResourceBaseBundleOutputWithContext(ctx context.Context) GetClustersResourceBaseBundleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClustersResourceBaseBundleOutput) +} + +// GetClustersResourceBaseBundleArrayInput is an input type that accepts GetClustersResourceBaseBundleArray and GetClustersResourceBaseBundleArrayOutput values. +// You can construct a concrete instance of `GetClustersResourceBaseBundleArrayInput` via: +// +// GetClustersResourceBaseBundleArray{ GetClustersResourceBaseBundleArgs{...} } +type GetClustersResourceBaseBundleArrayInput interface { + pulumi.Input + + ToGetClustersResourceBaseBundleArrayOutput() GetClustersResourceBaseBundleArrayOutput + ToGetClustersResourceBaseBundleArrayOutputWithContext(context.Context) GetClustersResourceBaseBundleArrayOutput +} + +type GetClustersResourceBaseBundleArray []GetClustersResourceBaseBundleInput + +func (GetClustersResourceBaseBundleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClustersResourceBaseBundle)(nil)).Elem() +} + +func (i GetClustersResourceBaseBundleArray) ToGetClustersResourceBaseBundleArrayOutput() GetClustersResourceBaseBundleArrayOutput { + return i.ToGetClustersResourceBaseBundleArrayOutputWithContext(context.Background()) +} + +func (i GetClustersResourceBaseBundleArray) ToGetClustersResourceBaseBundleArrayOutputWithContext(ctx context.Context) GetClustersResourceBaseBundleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClustersResourceBaseBundleArrayOutput) +} + +type GetClustersResourceBaseBundleOutput struct{ *pulumi.OutputState } + +func (GetClustersResourceBaseBundleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersResourceBaseBundle)(nil)).Elem() +} + +func (o GetClustersResourceBaseBundleOutput) ToGetClustersResourceBaseBundleOutput() GetClustersResourceBaseBundleOutput { + return o +} + +func (o GetClustersResourceBaseBundleOutput) ToGetClustersResourceBaseBundleOutputWithContext(ctx context.Context) GetClustersResourceBaseBundleOutput { + return o +} + +// Saleable memory, unit: GB. +func (o GetClustersResourceBaseBundleOutput) AvailableMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResourceBaseBundle) int { return v.AvailableMemory }).(pulumi.IntOutput) +} + +// Resource bundle count. +func (o GetClustersResourceBaseBundleOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResourceBaseBundle) int { return v.Count }).(pulumi.IntOutput) +} + +// Resource bundle name. +func (o GetClustersResourceBaseBundleOutput) ResourceBundleName() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResourceBaseBundle) string { return v.ResourceBundleName }).(pulumi.StringOutput) +} + +type GetClustersResourceBaseBundleArrayOutput struct{ *pulumi.OutputState } + +func (GetClustersResourceBaseBundleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClustersResourceBaseBundle)(nil)).Elem() +} + +func (o GetClustersResourceBaseBundleArrayOutput) ToGetClustersResourceBaseBundleArrayOutput() GetClustersResourceBaseBundleArrayOutput { + return o +} + +func (o GetClustersResourceBaseBundleArrayOutput) ToGetClustersResourceBaseBundleArrayOutputWithContext(ctx context.Context) GetClustersResourceBaseBundleArrayOutput { + return o +} + +func (o GetClustersResourceBaseBundleArrayOutput) Index(i pulumi.IntInput) GetClustersResourceBaseBundleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClustersResourceBaseBundle { + return vs[0].([]GetClustersResourceBaseBundle)[vs[1].(int)] + }).(GetClustersResourceBaseBundleOutput) +} + +type GetClustersResourceResourceBundle struct { + // Saleable memory, unit: GB. + AvailableMemory int `pulumi:"availableMemory"` + // Resource bundle count. + Count int `pulumi:"count"` + // Resource bundle name. + ResourceBundleName string `pulumi:"resourceBundleName"` +} + +// GetClustersResourceResourceBundleInput is an input type that accepts GetClustersResourceResourceBundleArgs and GetClustersResourceResourceBundleOutput values. +// You can construct a concrete instance of `GetClustersResourceResourceBundleInput` via: +// +// GetClustersResourceResourceBundleArgs{...} +type GetClustersResourceResourceBundleInput interface { + pulumi.Input + + ToGetClustersResourceResourceBundleOutput() GetClustersResourceResourceBundleOutput + ToGetClustersResourceResourceBundleOutputWithContext(context.Context) GetClustersResourceResourceBundleOutput +} + +type GetClustersResourceResourceBundleArgs struct { + // Saleable memory, unit: GB. + AvailableMemory pulumi.IntInput `pulumi:"availableMemory"` + // Resource bundle count. + Count pulumi.IntInput `pulumi:"count"` + // Resource bundle name. + ResourceBundleName pulumi.StringInput `pulumi:"resourceBundleName"` +} + +func (GetClustersResourceResourceBundleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersResourceResourceBundle)(nil)).Elem() +} + +func (i GetClustersResourceResourceBundleArgs) ToGetClustersResourceResourceBundleOutput() GetClustersResourceResourceBundleOutput { + return i.ToGetClustersResourceResourceBundleOutputWithContext(context.Background()) +} + +func (i GetClustersResourceResourceBundleArgs) ToGetClustersResourceResourceBundleOutputWithContext(ctx context.Context) GetClustersResourceResourceBundleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClustersResourceResourceBundleOutput) +} + +// GetClustersResourceResourceBundleArrayInput is an input type that accepts GetClustersResourceResourceBundleArray and GetClustersResourceResourceBundleArrayOutput values. +// You can construct a concrete instance of `GetClustersResourceResourceBundleArrayInput` via: +// +// GetClustersResourceResourceBundleArray{ GetClustersResourceResourceBundleArgs{...} } +type GetClustersResourceResourceBundleArrayInput interface { + pulumi.Input + + ToGetClustersResourceResourceBundleArrayOutput() GetClustersResourceResourceBundleArrayOutput + ToGetClustersResourceResourceBundleArrayOutputWithContext(context.Context) GetClustersResourceResourceBundleArrayOutput +} + +type GetClustersResourceResourceBundleArray []GetClustersResourceResourceBundleInput + +func (GetClustersResourceResourceBundleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClustersResourceResourceBundle)(nil)).Elem() +} + +func (i GetClustersResourceResourceBundleArray) ToGetClustersResourceResourceBundleArrayOutput() GetClustersResourceResourceBundleArrayOutput { + return i.ToGetClustersResourceResourceBundleArrayOutputWithContext(context.Background()) +} + +func (i GetClustersResourceResourceBundleArray) ToGetClustersResourceResourceBundleArrayOutputWithContext(ctx context.Context) GetClustersResourceResourceBundleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClustersResourceResourceBundleArrayOutput) +} + +type GetClustersResourceResourceBundleOutput struct{ *pulumi.OutputState } + +func (GetClustersResourceResourceBundleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClustersResourceResourceBundle)(nil)).Elem() +} + +func (o GetClustersResourceResourceBundleOutput) ToGetClustersResourceResourceBundleOutput() GetClustersResourceResourceBundleOutput { + return o +} + +func (o GetClustersResourceResourceBundleOutput) ToGetClustersResourceResourceBundleOutputWithContext(ctx context.Context) GetClustersResourceResourceBundleOutput { + return o +} + +// Saleable memory, unit: GB. +func (o GetClustersResourceResourceBundleOutput) AvailableMemory() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResourceResourceBundle) int { return v.AvailableMemory }).(pulumi.IntOutput) +} + +// Resource bundle count. +func (o GetClustersResourceResourceBundleOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetClustersResourceResourceBundle) int { return v.Count }).(pulumi.IntOutput) +} + +// Resource bundle name. +func (o GetClustersResourceResourceBundleOutput) ResourceBundleName() pulumi.StringOutput { + return o.ApplyT(func(v GetClustersResourceResourceBundle) string { return v.ResourceBundleName }).(pulumi.StringOutput) +} + +type GetClustersResourceResourceBundleArrayOutput struct{ *pulumi.OutputState } + +func (GetClustersResourceResourceBundleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClustersResourceResourceBundle)(nil)).Elem() +} + +func (o GetClustersResourceResourceBundleArrayOutput) ToGetClustersResourceResourceBundleArrayOutput() GetClustersResourceResourceBundleArrayOutput { + return o +} + +func (o GetClustersResourceResourceBundleArrayOutput) ToGetClustersResourceResourceBundleArrayOutputWithContext(ctx context.Context) GetClustersResourceResourceBundleArrayOutput { + return o +} + +func (o GetClustersResourceResourceBundleArrayOutput) Index(i pulumi.IntInput) GetClustersResourceResourceBundleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClustersResourceResourceBundle { + return vs[0].([]GetClustersResourceResourceBundle)[vs[1].(int)] + }).(GetClustersResourceResourceBundleOutput) +} + type GetInstanceNodeInfoProxy struct { // Node ID. NodeId string `pulumi:"nodeId"` @@ -2489,6 +2933,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetBackupDownloadInfoBackupInfoArrayInput)(nil)).Elem(), GetBackupDownloadInfoBackupInfoArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupDownloadInfoLimitVpcInput)(nil)).Elem(), GetBackupDownloadInfoLimitVpcArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupDownloadInfoLimitVpcArrayInput)(nil)).Elem(), GetBackupDownloadInfoLimitVpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClustersResourceInput)(nil)).Elem(), GetClustersResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClustersResourceArrayInput)(nil)).Elem(), GetClustersResourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClustersResourceBaseBundleInput)(nil)).Elem(), GetClustersResourceBaseBundleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClustersResourceBaseBundleArrayInput)(nil)).Elem(), GetClustersResourceBaseBundleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClustersResourceResourceBundleInput)(nil)).Elem(), GetClustersResourceResourceBundleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClustersResourceResourceBundleArrayInput)(nil)).Elem(), GetClustersResourceResourceBundleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceNodeInfoProxyInput)(nil)).Elem(), GetInstanceNodeInfoProxyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceNodeInfoProxyArrayInput)(nil)).Elem(), GetInstanceNodeInfoProxyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceNodeInfoRediInput)(nil)).Elem(), GetInstanceNodeInfoRediArgs{}) @@ -2523,6 +2973,12 @@ func init() { pulumi.RegisterOutputType(GetBackupDownloadInfoBackupInfoArrayOutput{}) pulumi.RegisterOutputType(GetBackupDownloadInfoLimitVpcOutput{}) pulumi.RegisterOutputType(GetBackupDownloadInfoLimitVpcArrayOutput{}) + pulumi.RegisterOutputType(GetClustersResourceOutput{}) + pulumi.RegisterOutputType(GetClustersResourceArrayOutput{}) + pulumi.RegisterOutputType(GetClustersResourceBaseBundleOutput{}) + pulumi.RegisterOutputType(GetClustersResourceBaseBundleArrayOutput{}) + pulumi.RegisterOutputType(GetClustersResourceResourceBundleOutput{}) + pulumi.RegisterOutputType(GetClustersResourceResourceBundleArrayOutput{}) pulumi.RegisterOutputType(GetInstanceNodeInfoProxyOutput{}) pulumi.RegisterOutputType(GetInstanceNodeInfoProxyArrayOutput{}) pulumi.RegisterOutputType(GetInstanceNodeInfoRediOutput{}) diff --git a/sdk/go/tencentcloud/route/tableEntry.go b/sdk/go/tencentcloud/route/tableEntry.go index 8d48e9a97..d6b84f1fc 100644 --- a/sdk/go/tencentcloud/route/tableEntry.go +++ b/sdk/go/tencentcloud/route/tableEntry.go @@ -33,41 +33,46 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // cfg := config.New(ctx, "") -// availabilityZone := "na-siliconvalley-1" +// availabilityZone := "ap-guangzhou-4" // if param := cfg.Get("availabilityZone"); param != "" { // availabilityZone = param // } -// fooInstance, err := Vpc.NewInstance(ctx, "fooInstance", &Vpc.InstanceArgs{ +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ // CidrBlock: pulumi.String("10.0.0.0/16"), // }) // if err != nil { // return err // } -// fooTable, err := Route.NewTable(ctx, "fooTable", &Route.TableArgs{ -// VpcId: fooInstance.ID(), +// // create route table +// exampleTable, err := Route.NewTable(ctx, "exampleTable", &Route.TableArgs{ +// VpcId: vpc.ID(), // }) // if err != nil { // return err // } -// _, err = Subnet.NewInstance(ctx, "fooSubnet/instanceInstance", &Subnet.InstanceArgs{ -// VpcId: fooInstance.ID(), +// // create subnet +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), // CidrBlock: pulumi.String("10.0.12.0/24"), // AvailabilityZone: pulumi.String(availabilityZone), -// RouteTableId: fooTable.ID(), +// RouteTableId: exampleTable.ID(), // }) // if err != nil { // return err // } -// _, err = Route.NewTableEntry(ctx, "instance", &Route.TableEntryArgs{ -// RouteTableId: fooTable.ID(), +// // create route table entry +// exampleTableEntry, err := Route.NewTableEntry(ctx, "exampleTableEntry", &Route.TableEntryArgs{ +// RouteTableId: exampleTable.ID(), // DestinationCidrBlock: pulumi.String("10.4.4.0/24"), // NextType: pulumi.String("EIP"), // NextHub: pulumi.String("0"), -// Description: pulumi.String("ci-test-route-table-entry"), +// Description: pulumi.String("describe"), // }) // if err != nil { // return err // } +// ctx.Export("itemId", exampleTableEntry.RouteItemId) // return nil // }) // } @@ -80,7 +85,7 @@ import ( // Route table entry can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Route/tableEntry:TableEntry foo 83517.rtb-mlhpg09u +// $ pulumi import tencentcloud:Route/tableEntry:TableEntry example 3065857.rtb-b050fg94 // ``` type TableEntry struct { pulumi.CustomResourceState @@ -95,6 +100,8 @@ type TableEntry struct { NextHub pulumi.StringOutput `pulumi:"nextHub"` // Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`. NextType pulumi.StringOutput `pulumi:"nextType"` + // ID of route table entry. + RouteItemId pulumi.StringOutput `pulumi:"routeItemId"` // ID of routing table to which this entry belongs. RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` } @@ -151,6 +158,8 @@ type tableEntryState struct { NextHub *string `pulumi:"nextHub"` // Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`. NextType *string `pulumi:"nextType"` + // ID of route table entry. + RouteItemId *string `pulumi:"routeItemId"` // ID of routing table to which this entry belongs. RouteTableId *string `pulumi:"routeTableId"` } @@ -166,6 +175,8 @@ type TableEntryState struct { NextHub pulumi.StringPtrInput // Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`. NextType pulumi.StringPtrInput + // ID of route table entry. + RouteItemId pulumi.StringPtrInput // ID of routing table to which this entry belongs. RouteTableId pulumi.StringPtrInput } @@ -317,6 +328,11 @@ func (o TableEntryOutput) NextType() pulumi.StringOutput { return o.ApplyT(func(v *TableEntry) pulumi.StringOutput { return v.NextType }).(pulumi.StringOutput) } +// ID of route table entry. +func (o TableEntryOutput) RouteItemId() pulumi.StringOutput { + return o.ApplyT(func(v *TableEntry) pulumi.StringOutput { return v.RouteItemId }).(pulumi.StringOutput) +} + // ID of routing table to which this entry belongs. func (o TableEntryOutput) RouteTableId() pulumi.StringOutput { return o.ApplyT(func(v *TableEntry) pulumi.StringOutput { return v.RouteTableId }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/rum/project.go b/sdk/go/tencentcloud/rum/project.go index de016291d..5680d2f1e 100644 --- a/sdk/go/tencentcloud/rum/project.go +++ b/sdk/go/tencentcloud/rum/project.go @@ -29,14 +29,27 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Rum.NewProject(ctx, "project", &Rum.ProjectArgs{ -// Desc: pulumi.String("projectDesc-1"), -// EnableUrlGroup: pulumi.Int(0), -// InstanceId: pulumi.String("rum-pasZKEI3RLgakj"), +// exampleTawInstance, err := Rum.NewTawInstance(ctx, "exampleTawInstance", &Rum.TawInstanceArgs{ +// AreaId: pulumi.Int(1), +// ChargeType: pulumi.Int(1), +// DataRetentionDays: pulumi.Int(30), +// InstanceName: pulumi.String("tf-example"), +// InstanceDesc: pulumi.String("desc."), +// Tags: pulumi.Map{ +// "createdBy": pulumi.Any("terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = Rum.NewProject(ctx, "exampleProject", &Rum.ProjectArgs{ +// InstanceId: exampleTawInstance.ID(), // Rate: pulumi.String("100"), -// Repo: pulumi.String(""), +// EnableUrlGroup: pulumi.Int(0), // Type: pulumi.String("web"), +// Repo: pulumi.String("https://github.com/xxx"), // Url: pulumi.String("iac-tf.com"), +// Desc: pulumi.String("desc."), // }) // if err != nil { // return err @@ -53,12 +66,12 @@ import ( // rum project can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Rum/project:Project project project_id +// $ pulumi import tencentcloud:Rum/project:Project example 139422 // ``` type Project struct { pulumi.CustomResourceState - // Creata Time. + // Create Time. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Creator ID. Creator pulumi.StringOutput `pulumi:"creator"` @@ -132,7 +145,7 @@ func GetProject(ctx *pulumi.Context, // Input properties used for looking up and filtering Project resources. type projectState struct { - // Creata Time. + // Create Time. CreateTime *string `pulumi:"createTime"` // Creator ID. Creator *string `pulumi:"creator"` @@ -165,7 +178,7 @@ type projectState struct { } type ProjectState struct { - // Creata Time. + // Create Time. CreateTime pulumi.StringPtrInput // Creator ID. Creator pulumi.StringPtrInput @@ -327,7 +340,7 @@ func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOu return o } -// Creata Time. +// Create Time. func (o ProjectOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Project) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } diff --git a/sdk/go/tencentcloud/rum/tawInstance.go b/sdk/go/tencentcloud/rum/tawInstance.go index ff62c5061..063ac8323 100644 --- a/sdk/go/tencentcloud/rum/tawInstance.go +++ b/sdk/go/tencentcloud/rum/tawInstance.go @@ -29,12 +29,12 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Rum.NewTawInstance(ctx, "tawInstance", &Rum.TawInstanceArgs{ +// _, err := Rum.NewTawInstance(ctx, "example", &Rum.TawInstanceArgs{ // AreaId: pulumi.Int(1), // ChargeType: pulumi.Int(1), // DataRetentionDays: pulumi.Int(30), -// InstanceDesc: pulumi.String("instanceDesc-1"), -// InstanceName: pulumi.String("instanceName-1"), +// InstanceDesc: pulumi.String("desc."), +// InstanceName: pulumi.String("tf-example"), // Tags: pulumi.Map{ // "createdBy": pulumi.Any("terraform"), // }, @@ -54,7 +54,7 @@ import ( // rum taw_instance can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Rum/tawInstance:TawInstance taw_instance tawInstance_id +// $ pulumi import tencentcloud:Rum/tawInstance:TawInstance example rum-WYsjMaiGOVXBeJ // ``` type TawInstance struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/ssl/pulumiTypes.go b/sdk/go/tencentcloud/ssl/pulumiTypes.go index 0e0e08375..526255dc4 100644 --- a/sdk/go/tencentcloud/ssl/pulumiTypes.go +++ b/sdk/go/tencentcloud/ssl/pulumiTypes.go @@ -963,6 +963,8 @@ type GetCertificatesCertificate struct { Name string `pulumi:"name"` // Order ID returned. OrderId string `pulumi:"orderId"` + // Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained. + OwnerUin string `pulumi:"ownerUin"` // Certificate authority. ProductZhName string `pulumi:"productZhName"` // Project ID of the SSL certificate. @@ -973,6 +975,8 @@ type GetCertificatesCertificate struct { SubjectNames []string `pulumi:"subjectNames"` // Type of the SSL certificate to be queried. Available values includes: `CA` and `SVR`. Type string `pulumi:"type"` + // Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained. + ValidityPeriod string `pulumi:"validityPeriod"` } // GetCertificatesCertificateInput is an input type that accepts GetCertificatesCertificateArgs and GetCertificatesCertificateOutput values. @@ -1007,6 +1011,8 @@ type GetCertificatesCertificateArgs struct { Name pulumi.StringInput `pulumi:"name"` // Order ID returned. OrderId pulumi.StringInput `pulumi:"orderId"` + // Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained. + OwnerUin pulumi.StringInput `pulumi:"ownerUin"` // Certificate authority. ProductZhName pulumi.StringInput `pulumi:"productZhName"` // Project ID of the SSL certificate. @@ -1017,6 +1023,8 @@ type GetCertificatesCertificateArgs struct { SubjectNames pulumi.StringArrayInput `pulumi:"subjectNames"` // Type of the SSL certificate to be queried. Available values includes: `CA` and `SVR`. Type pulumi.StringInput `pulumi:"type"` + // Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained. + ValidityPeriod pulumi.StringInput `pulumi:"validityPeriod"` } func (GetCertificatesCertificateArgs) ElementType() reflect.Type { @@ -1120,6 +1128,11 @@ func (o GetCertificatesCertificateOutput) OrderId() pulumi.StringOutput { return o.ApplyT(func(v GetCertificatesCertificate) string { return v.OrderId }).(pulumi.StringOutput) } +// Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained. +func (o GetCertificatesCertificateOutput) OwnerUin() pulumi.StringOutput { + return o.ApplyT(func(v GetCertificatesCertificate) string { return v.OwnerUin }).(pulumi.StringOutput) +} + // Certificate authority. func (o GetCertificatesCertificateOutput) ProductZhName() pulumi.StringOutput { return o.ApplyT(func(v GetCertificatesCertificate) string { return v.ProductZhName }).(pulumi.StringOutput) @@ -1145,6 +1158,11 @@ func (o GetCertificatesCertificateOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v GetCertificatesCertificate) string { return v.Type }).(pulumi.StringOutput) } +// Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained. +func (o GetCertificatesCertificateOutput) ValidityPeriod() pulumi.StringOutput { + return o.ApplyT(func(v GetCertificatesCertificate) string { return v.ValidityPeriod }).(pulumi.StringOutput) +} + type GetCertificatesCertificateArrayOutput struct{ *pulumi.OutputState } func (GetCertificatesCertificateArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/tencentcloud/subnet/instance.go b/sdk/go/tencentcloud/subnet/instance.go index bcb5fab4c..e9f9b3526 100644 --- a/sdk/go/tencentcloud/subnet/instance.go +++ b/sdk/go/tencentcloud/subnet/instance.go @@ -14,12 +14,14 @@ import ( // Provide a resource to create a VPC subnet. // +// ## Example Usage +// // ## Import // // Vpc subnet instance can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Subnet/instance:Instance test subnet_id +// $ pulumi import tencentcloud:Subnet/instance:Instance subnet subnet-b8j03v0c // ``` type Instance struct { pulumi.CustomResourceState @@ -28,6 +30,8 @@ type Instance struct { AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` // The number of available IPs. AvailableIpCount pulumi.IntOutput `pulumi:"availableIpCount"` + // ID of CDC instance. + CdcId pulumi.StringPtrOutput `pulumi:"cdcId"` // A network address block of the subnet. CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"` // Creation time of subnet resource. @@ -89,6 +93,8 @@ type instanceState struct { AvailabilityZone *string `pulumi:"availabilityZone"` // The number of available IPs. AvailableIpCount *int `pulumi:"availableIpCount"` + // ID of CDC instance. + CdcId *string `pulumi:"cdcId"` // A network address block of the subnet. CidrBlock *string `pulumi:"cidrBlock"` // Creation time of subnet resource. @@ -112,6 +118,8 @@ type InstanceState struct { AvailabilityZone pulumi.StringPtrInput // The number of available IPs. AvailableIpCount pulumi.IntPtrInput + // ID of CDC instance. + CdcId pulumi.StringPtrInput // A network address block of the subnet. CidrBlock pulumi.StringPtrInput // Creation time of subnet resource. @@ -137,6 +145,8 @@ func (InstanceState) ElementType() reflect.Type { type instanceArgs struct { // The availability zone within which the subnet should be created. AvailabilityZone string `pulumi:"availabilityZone"` + // ID of CDC instance. + CdcId *string `pulumi:"cdcId"` // A network address block of the subnet. CidrBlock string `pulumi:"cidrBlock"` // Indicates whether multicast is enabled. The default value is 'true'. @@ -155,6 +165,8 @@ type instanceArgs struct { type InstanceArgs struct { // The availability zone within which the subnet should be created. AvailabilityZone pulumi.StringInput + // ID of CDC instance. + CdcId pulumi.StringPtrInput // A network address block of the subnet. CidrBlock pulumi.StringInput // Indicates whether multicast is enabled. The default value is 'true'. @@ -266,6 +278,11 @@ func (o InstanceOutput) AvailableIpCount() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.AvailableIpCount }).(pulumi.IntOutput) } +// ID of CDC instance. +func (o InstanceOutput) CdcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.CdcId }).(pulumi.StringPtrOutput) +} + // A network address block of the subnet. func (o InstanceOutput) CidrBlock() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CidrBlock }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/teo/accelerationDomain.go b/sdk/go/tencentcloud/teo/accelerationDomain.go index a548e3531..e844e47ae 100644 --- a/sdk/go/tencentcloud/teo/accelerationDomain.go +++ b/sdk/go/tencentcloud/teo/accelerationDomain.go @@ -52,7 +52,7 @@ import ( // teo acceleration_domain can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain acceleration_domain_id +// $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain zone_id#domain_name // ``` type AccelerationDomain struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/teo/certificateConfig.go b/sdk/go/tencentcloud/teo/certificateConfig.go index 1d64976e7..1e5defa48 100644 --- a/sdk/go/tencentcloud/teo/certificateConfig.go +++ b/sdk/go/tencentcloud/teo/certificateConfig.go @@ -84,7 +84,7 @@ import ( // teo certificate can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host#cert_id +// $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host // ``` type CertificateConfig struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/thpc/init.go b/sdk/go/tencentcloud/thpc/init.go new file mode 100644 index 000000000..8d70ade92 --- /dev/null +++ b/sdk/go/tencentcloud/thpc/init.go @@ -0,0 +1,44 @@ +// 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 thpc + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "tencentcloud:Thpc/workspaces:Workspaces": + r = &Workspaces{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "tencentcloud", + "Thpc/workspaces", + &module{version}, + ) +} diff --git a/sdk/go/tencentcloud/thpc/pulumiTypes.go b/sdk/go/tencentcloud/thpc/pulumiTypes.go new file mode 100644 index 000000000..acd0e579b --- /dev/null +++ b/sdk/go/tencentcloud/thpc/pulumiTypes.go @@ -0,0 +1,2079 @@ +// 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 thpc + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +var _ = internal.GetEnvOrDefault + +type WorkspacesDataDisk struct { + // Sudden performance. PS: During testing. + BurstPerformance *bool `pulumi:"burstPerformance"` + // Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + DeleteWithInstance *bool `pulumi:"deleteWithInstance"` + // Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + DiskId *string `pulumi:"diskId"` + // Size of the data disk, and unit is GB. + DiskSize *int `pulumi:"diskSize"` + // Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + DiskType *string `pulumi:"diskType"` + // Decides whether the disk is encrypted. Default is `false`. + Encrypt *bool `pulumi:"encrypt"` + // Kms key ID. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + SnapshotId *string `pulumi:"snapshotId"` + // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + ThroughputPerformance *int `pulumi:"throughputPerformance"` +} + +// WorkspacesDataDiskInput is an input type that accepts WorkspacesDataDiskArgs and WorkspacesDataDiskOutput values. +// You can construct a concrete instance of `WorkspacesDataDiskInput` via: +// +// WorkspacesDataDiskArgs{...} +type WorkspacesDataDiskInput interface { + pulumi.Input + + ToWorkspacesDataDiskOutput() WorkspacesDataDiskOutput + ToWorkspacesDataDiskOutputWithContext(context.Context) WorkspacesDataDiskOutput +} + +type WorkspacesDataDiskArgs struct { + // Sudden performance. PS: During testing. + BurstPerformance pulumi.BoolPtrInput `pulumi:"burstPerformance"` + // Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + DeleteWithInstance pulumi.BoolPtrInput `pulumi:"deleteWithInstance"` + // Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + DiskId pulumi.StringPtrInput `pulumi:"diskId"` + // Size of the data disk, and unit is GB. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Decides whether the disk is encrypted. Default is `false`. + Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` + // Kms key ID. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + ThroughputPerformance pulumi.IntPtrInput `pulumi:"throughputPerformance"` +} + +func (WorkspacesDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesDataDisk)(nil)).Elem() +} + +func (i WorkspacesDataDiskArgs) ToWorkspacesDataDiskOutput() WorkspacesDataDiskOutput { + return i.ToWorkspacesDataDiskOutputWithContext(context.Background()) +} + +func (i WorkspacesDataDiskArgs) ToWorkspacesDataDiskOutputWithContext(ctx context.Context) WorkspacesDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesDataDiskOutput) +} + +// WorkspacesDataDiskArrayInput is an input type that accepts WorkspacesDataDiskArray and WorkspacesDataDiskArrayOutput values. +// You can construct a concrete instance of `WorkspacesDataDiskArrayInput` via: +// +// WorkspacesDataDiskArray{ WorkspacesDataDiskArgs{...} } +type WorkspacesDataDiskArrayInput interface { + pulumi.Input + + ToWorkspacesDataDiskArrayOutput() WorkspacesDataDiskArrayOutput + ToWorkspacesDataDiskArrayOutputWithContext(context.Context) WorkspacesDataDiskArrayOutput +} + +type WorkspacesDataDiskArray []WorkspacesDataDiskInput + +func (WorkspacesDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkspacesDataDisk)(nil)).Elem() +} + +func (i WorkspacesDataDiskArray) ToWorkspacesDataDiskArrayOutput() WorkspacesDataDiskArrayOutput { + return i.ToWorkspacesDataDiskArrayOutputWithContext(context.Background()) +} + +func (i WorkspacesDataDiskArray) ToWorkspacesDataDiskArrayOutputWithContext(ctx context.Context) WorkspacesDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesDataDiskArrayOutput) +} + +type WorkspacesDataDiskOutput struct{ *pulumi.OutputState } + +func (WorkspacesDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesDataDisk)(nil)).Elem() +} + +func (o WorkspacesDataDiskOutput) ToWorkspacesDataDiskOutput() WorkspacesDataDiskOutput { + return o +} + +func (o WorkspacesDataDiskOutput) ToWorkspacesDataDiskOutputWithContext(ctx context.Context) WorkspacesDataDiskOutput { + return o +} + +// Sudden performance. PS: During testing. +func (o WorkspacesDataDiskOutput) BurstPerformance() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *bool { return v.BurstPerformance }).(pulumi.BoolPtrOutput) +} + +// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. +func (o WorkspacesDataDiskOutput) DeleteWithInstance() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *bool { return v.DeleteWithInstance }).(pulumi.BoolPtrOutput) +} + +// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. +func (o WorkspacesDataDiskOutput) DiskId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *string { return v.DiskId }).(pulumi.StringPtrOutput) +} + +// Size of the data disk, and unit is GB. +func (o WorkspacesDataDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. +func (o WorkspacesDataDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Decides whether the disk is encrypted. Default is `false`. +func (o WorkspacesDataDiskOutput) Encrypt() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *bool { return v.Encrypt }).(pulumi.BoolPtrOutput) +} + +// Kms key ID. +func (o WorkspacesDataDiskOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. +func (o WorkspacesDataDiskOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. +func (o WorkspacesDataDiskOutput) ThroughputPerformance() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkspacesDataDisk) *int { return v.ThroughputPerformance }).(pulumi.IntPtrOutput) +} + +type WorkspacesDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (WorkspacesDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkspacesDataDisk)(nil)).Elem() +} + +func (o WorkspacesDataDiskArrayOutput) ToWorkspacesDataDiskArrayOutput() WorkspacesDataDiskArrayOutput { + return o +} + +func (o WorkspacesDataDiskArrayOutput) ToWorkspacesDataDiskArrayOutputWithContext(ctx context.Context) WorkspacesDataDiskArrayOutput { + return o +} + +func (o WorkspacesDataDiskArrayOutput) Index(i pulumi.IntInput) WorkspacesDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WorkspacesDataDisk { + return vs[0].([]WorkspacesDataDisk)[vs[1].(int)] + }).(WorkspacesDataDiskOutput) +} + +type WorkspacesEnhancedService struct { + // Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + AutomationService *WorkspacesEnhancedServiceAutomationService `pulumi:"automationService"` + // Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + MonitorService *WorkspacesEnhancedServiceMonitorService `pulumi:"monitorService"` + // Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + SecurityService *WorkspacesEnhancedServiceSecurityService `pulumi:"securityService"` +} + +// WorkspacesEnhancedServiceInput is an input type that accepts WorkspacesEnhancedServiceArgs and WorkspacesEnhancedServiceOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServiceInput` via: +// +// WorkspacesEnhancedServiceArgs{...} +type WorkspacesEnhancedServiceInput interface { + pulumi.Input + + ToWorkspacesEnhancedServiceOutput() WorkspacesEnhancedServiceOutput + ToWorkspacesEnhancedServiceOutputWithContext(context.Context) WorkspacesEnhancedServiceOutput +} + +type WorkspacesEnhancedServiceArgs struct { + // Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + AutomationService WorkspacesEnhancedServiceAutomationServicePtrInput `pulumi:"automationService"` + // Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + MonitorService WorkspacesEnhancedServiceMonitorServicePtrInput `pulumi:"monitorService"` + // Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + SecurityService WorkspacesEnhancedServiceSecurityServicePtrInput `pulumi:"securityService"` +} + +func (WorkspacesEnhancedServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedService)(nil)).Elem() +} + +func (i WorkspacesEnhancedServiceArgs) ToWorkspacesEnhancedServiceOutput() WorkspacesEnhancedServiceOutput { + return i.ToWorkspacesEnhancedServiceOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceArgs) ToWorkspacesEnhancedServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceOutput) +} + +func (i WorkspacesEnhancedServiceArgs) ToWorkspacesEnhancedServicePtrOutput() WorkspacesEnhancedServicePtrOutput { + return i.ToWorkspacesEnhancedServicePtrOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceArgs) ToWorkspacesEnhancedServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceOutput).ToWorkspacesEnhancedServicePtrOutputWithContext(ctx) +} + +// WorkspacesEnhancedServicePtrInput is an input type that accepts WorkspacesEnhancedServiceArgs, WorkspacesEnhancedServicePtr and WorkspacesEnhancedServicePtrOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServicePtrInput` via: +// +// WorkspacesEnhancedServiceArgs{...} +// +// or: +// +// nil +type WorkspacesEnhancedServicePtrInput interface { + pulumi.Input + + ToWorkspacesEnhancedServicePtrOutput() WorkspacesEnhancedServicePtrOutput + ToWorkspacesEnhancedServicePtrOutputWithContext(context.Context) WorkspacesEnhancedServicePtrOutput +} + +type workspacesEnhancedServicePtrType WorkspacesEnhancedServiceArgs + +func WorkspacesEnhancedServicePtr(v *WorkspacesEnhancedServiceArgs) WorkspacesEnhancedServicePtrInput { + return (*workspacesEnhancedServicePtrType)(v) +} + +func (*workspacesEnhancedServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedService)(nil)).Elem() +} + +func (i *workspacesEnhancedServicePtrType) ToWorkspacesEnhancedServicePtrOutput() WorkspacesEnhancedServicePtrOutput { + return i.ToWorkspacesEnhancedServicePtrOutputWithContext(context.Background()) +} + +func (i *workspacesEnhancedServicePtrType) ToWorkspacesEnhancedServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServicePtrOutput) +} + +type WorkspacesEnhancedServiceOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServiceOutput) ToWorkspacesEnhancedServiceOutput() WorkspacesEnhancedServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceOutput) ToWorkspacesEnhancedServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceOutput) ToWorkspacesEnhancedServicePtrOutput() WorkspacesEnhancedServicePtrOutput { + return o.ToWorkspacesEnhancedServicePtrOutputWithContext(context.Background()) +} + +func (o WorkspacesEnhancedServiceOutput) ToWorkspacesEnhancedServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesEnhancedService) *WorkspacesEnhancedService { + return &v + }).(WorkspacesEnhancedServicePtrOutput) +} + +// Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. +func (o WorkspacesEnhancedServiceOutput) AutomationService() WorkspacesEnhancedServiceAutomationServicePtrOutput { + return o.ApplyT(func(v WorkspacesEnhancedService) *WorkspacesEnhancedServiceAutomationService { + return v.AutomationService + }).(WorkspacesEnhancedServiceAutomationServicePtrOutput) +} + +// Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. +func (o WorkspacesEnhancedServiceOutput) MonitorService() WorkspacesEnhancedServiceMonitorServicePtrOutput { + return o.ApplyT(func(v WorkspacesEnhancedService) *WorkspacesEnhancedServiceMonitorService { return v.MonitorService }).(WorkspacesEnhancedServiceMonitorServicePtrOutput) +} + +// Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. +func (o WorkspacesEnhancedServiceOutput) SecurityService() WorkspacesEnhancedServiceSecurityServicePtrOutput { + return o.ApplyT(func(v WorkspacesEnhancedService) *WorkspacesEnhancedServiceSecurityService { return v.SecurityService }).(WorkspacesEnhancedServiceSecurityServicePtrOutput) +} + +type WorkspacesEnhancedServicePtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServicePtrOutput) ToWorkspacesEnhancedServicePtrOutput() WorkspacesEnhancedServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServicePtrOutput) ToWorkspacesEnhancedServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServicePtrOutput) Elem() WorkspacesEnhancedServiceOutput { + return o.ApplyT(func(v *WorkspacesEnhancedService) WorkspacesEnhancedService { + if v != nil { + return *v + } + var ret WorkspacesEnhancedService + return ret + }).(WorkspacesEnhancedServiceOutput) +} + +// Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. +func (o WorkspacesEnhancedServicePtrOutput) AutomationService() WorkspacesEnhancedServiceAutomationServicePtrOutput { + return o.ApplyT(func(v *WorkspacesEnhancedService) *WorkspacesEnhancedServiceAutomationService { + if v == nil { + return nil + } + return v.AutomationService + }).(WorkspacesEnhancedServiceAutomationServicePtrOutput) +} + +// Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. +func (o WorkspacesEnhancedServicePtrOutput) MonitorService() WorkspacesEnhancedServiceMonitorServicePtrOutput { + return o.ApplyT(func(v *WorkspacesEnhancedService) *WorkspacesEnhancedServiceMonitorService { + if v == nil { + return nil + } + return v.MonitorService + }).(WorkspacesEnhancedServiceMonitorServicePtrOutput) +} + +// Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. +func (o WorkspacesEnhancedServicePtrOutput) SecurityService() WorkspacesEnhancedServiceSecurityServicePtrOutput { + return o.ApplyT(func(v *WorkspacesEnhancedService) *WorkspacesEnhancedServiceSecurityService { + if v == nil { + return nil + } + return v.SecurityService + }).(WorkspacesEnhancedServiceSecurityServicePtrOutput) +} + +type WorkspacesEnhancedServiceAutomationService struct { + // Whether to enable. + Enabled *bool `pulumi:"enabled"` +} + +// WorkspacesEnhancedServiceAutomationServiceInput is an input type that accepts WorkspacesEnhancedServiceAutomationServiceArgs and WorkspacesEnhancedServiceAutomationServiceOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServiceAutomationServiceInput` via: +// +// WorkspacesEnhancedServiceAutomationServiceArgs{...} +type WorkspacesEnhancedServiceAutomationServiceInput interface { + pulumi.Input + + ToWorkspacesEnhancedServiceAutomationServiceOutput() WorkspacesEnhancedServiceAutomationServiceOutput + ToWorkspacesEnhancedServiceAutomationServiceOutputWithContext(context.Context) WorkspacesEnhancedServiceAutomationServiceOutput +} + +type WorkspacesEnhancedServiceAutomationServiceArgs struct { + // Whether to enable. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (WorkspacesEnhancedServiceAutomationServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedServiceAutomationService)(nil)).Elem() +} + +func (i WorkspacesEnhancedServiceAutomationServiceArgs) ToWorkspacesEnhancedServiceAutomationServiceOutput() WorkspacesEnhancedServiceAutomationServiceOutput { + return i.ToWorkspacesEnhancedServiceAutomationServiceOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceAutomationServiceArgs) ToWorkspacesEnhancedServiceAutomationServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceAutomationServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceAutomationServiceOutput) +} + +func (i WorkspacesEnhancedServiceAutomationServiceArgs) ToWorkspacesEnhancedServiceAutomationServicePtrOutput() WorkspacesEnhancedServiceAutomationServicePtrOutput { + return i.ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceAutomationServiceArgs) ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceAutomationServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceAutomationServiceOutput).ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(ctx) +} + +// WorkspacesEnhancedServiceAutomationServicePtrInput is an input type that accepts WorkspacesEnhancedServiceAutomationServiceArgs, WorkspacesEnhancedServiceAutomationServicePtr and WorkspacesEnhancedServiceAutomationServicePtrOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServiceAutomationServicePtrInput` via: +// +// WorkspacesEnhancedServiceAutomationServiceArgs{...} +// +// or: +// +// nil +type WorkspacesEnhancedServiceAutomationServicePtrInput interface { + pulumi.Input + + ToWorkspacesEnhancedServiceAutomationServicePtrOutput() WorkspacesEnhancedServiceAutomationServicePtrOutput + ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(context.Context) WorkspacesEnhancedServiceAutomationServicePtrOutput +} + +type workspacesEnhancedServiceAutomationServicePtrType WorkspacesEnhancedServiceAutomationServiceArgs + +func WorkspacesEnhancedServiceAutomationServicePtr(v *WorkspacesEnhancedServiceAutomationServiceArgs) WorkspacesEnhancedServiceAutomationServicePtrInput { + return (*workspacesEnhancedServiceAutomationServicePtrType)(v) +} + +func (*workspacesEnhancedServiceAutomationServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedServiceAutomationService)(nil)).Elem() +} + +func (i *workspacesEnhancedServiceAutomationServicePtrType) ToWorkspacesEnhancedServiceAutomationServicePtrOutput() WorkspacesEnhancedServiceAutomationServicePtrOutput { + return i.ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(context.Background()) +} + +func (i *workspacesEnhancedServiceAutomationServicePtrType) ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceAutomationServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceAutomationServicePtrOutput) +} + +type WorkspacesEnhancedServiceAutomationServiceOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServiceAutomationServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedServiceAutomationService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServiceAutomationServiceOutput) ToWorkspacesEnhancedServiceAutomationServiceOutput() WorkspacesEnhancedServiceAutomationServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceAutomationServiceOutput) ToWorkspacesEnhancedServiceAutomationServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceAutomationServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceAutomationServiceOutput) ToWorkspacesEnhancedServiceAutomationServicePtrOutput() WorkspacesEnhancedServiceAutomationServicePtrOutput { + return o.ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(context.Background()) +} + +func (o WorkspacesEnhancedServiceAutomationServiceOutput) ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceAutomationServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesEnhancedServiceAutomationService) *WorkspacesEnhancedServiceAutomationService { + return &v + }).(WorkspacesEnhancedServiceAutomationServicePtrOutput) +} + +// Whether to enable. +func (o WorkspacesEnhancedServiceAutomationServiceOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesEnhancedServiceAutomationService) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type WorkspacesEnhancedServiceAutomationServicePtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServiceAutomationServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedServiceAutomationService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServiceAutomationServicePtrOutput) ToWorkspacesEnhancedServiceAutomationServicePtrOutput() WorkspacesEnhancedServiceAutomationServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServiceAutomationServicePtrOutput) ToWorkspacesEnhancedServiceAutomationServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceAutomationServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServiceAutomationServicePtrOutput) Elem() WorkspacesEnhancedServiceAutomationServiceOutput { + return o.ApplyT(func(v *WorkspacesEnhancedServiceAutomationService) WorkspacesEnhancedServiceAutomationService { + if v != nil { + return *v + } + var ret WorkspacesEnhancedServiceAutomationService + return ret + }).(WorkspacesEnhancedServiceAutomationServiceOutput) +} + +// Whether to enable. +func (o WorkspacesEnhancedServiceAutomationServicePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WorkspacesEnhancedServiceAutomationService) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type WorkspacesEnhancedServiceMonitorService struct { + // Whether to enable. + Enabled *bool `pulumi:"enabled"` +} + +// WorkspacesEnhancedServiceMonitorServiceInput is an input type that accepts WorkspacesEnhancedServiceMonitorServiceArgs and WorkspacesEnhancedServiceMonitorServiceOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServiceMonitorServiceInput` via: +// +// WorkspacesEnhancedServiceMonitorServiceArgs{...} +type WorkspacesEnhancedServiceMonitorServiceInput interface { + pulumi.Input + + ToWorkspacesEnhancedServiceMonitorServiceOutput() WorkspacesEnhancedServiceMonitorServiceOutput + ToWorkspacesEnhancedServiceMonitorServiceOutputWithContext(context.Context) WorkspacesEnhancedServiceMonitorServiceOutput +} + +type WorkspacesEnhancedServiceMonitorServiceArgs struct { + // Whether to enable. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (WorkspacesEnhancedServiceMonitorServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedServiceMonitorService)(nil)).Elem() +} + +func (i WorkspacesEnhancedServiceMonitorServiceArgs) ToWorkspacesEnhancedServiceMonitorServiceOutput() WorkspacesEnhancedServiceMonitorServiceOutput { + return i.ToWorkspacesEnhancedServiceMonitorServiceOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceMonitorServiceArgs) ToWorkspacesEnhancedServiceMonitorServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceMonitorServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceMonitorServiceOutput) +} + +func (i WorkspacesEnhancedServiceMonitorServiceArgs) ToWorkspacesEnhancedServiceMonitorServicePtrOutput() WorkspacesEnhancedServiceMonitorServicePtrOutput { + return i.ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceMonitorServiceArgs) ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceMonitorServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceMonitorServiceOutput).ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(ctx) +} + +// WorkspacesEnhancedServiceMonitorServicePtrInput is an input type that accepts WorkspacesEnhancedServiceMonitorServiceArgs, WorkspacesEnhancedServiceMonitorServicePtr and WorkspacesEnhancedServiceMonitorServicePtrOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServiceMonitorServicePtrInput` via: +// +// WorkspacesEnhancedServiceMonitorServiceArgs{...} +// +// or: +// +// nil +type WorkspacesEnhancedServiceMonitorServicePtrInput interface { + pulumi.Input + + ToWorkspacesEnhancedServiceMonitorServicePtrOutput() WorkspacesEnhancedServiceMonitorServicePtrOutput + ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(context.Context) WorkspacesEnhancedServiceMonitorServicePtrOutput +} + +type workspacesEnhancedServiceMonitorServicePtrType WorkspacesEnhancedServiceMonitorServiceArgs + +func WorkspacesEnhancedServiceMonitorServicePtr(v *WorkspacesEnhancedServiceMonitorServiceArgs) WorkspacesEnhancedServiceMonitorServicePtrInput { + return (*workspacesEnhancedServiceMonitorServicePtrType)(v) +} + +func (*workspacesEnhancedServiceMonitorServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedServiceMonitorService)(nil)).Elem() +} + +func (i *workspacesEnhancedServiceMonitorServicePtrType) ToWorkspacesEnhancedServiceMonitorServicePtrOutput() WorkspacesEnhancedServiceMonitorServicePtrOutput { + return i.ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(context.Background()) +} + +func (i *workspacesEnhancedServiceMonitorServicePtrType) ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceMonitorServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceMonitorServicePtrOutput) +} + +type WorkspacesEnhancedServiceMonitorServiceOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServiceMonitorServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedServiceMonitorService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServiceMonitorServiceOutput) ToWorkspacesEnhancedServiceMonitorServiceOutput() WorkspacesEnhancedServiceMonitorServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceMonitorServiceOutput) ToWorkspacesEnhancedServiceMonitorServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceMonitorServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceMonitorServiceOutput) ToWorkspacesEnhancedServiceMonitorServicePtrOutput() WorkspacesEnhancedServiceMonitorServicePtrOutput { + return o.ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(context.Background()) +} + +func (o WorkspacesEnhancedServiceMonitorServiceOutput) ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceMonitorServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesEnhancedServiceMonitorService) *WorkspacesEnhancedServiceMonitorService { + return &v + }).(WorkspacesEnhancedServiceMonitorServicePtrOutput) +} + +// Whether to enable. +func (o WorkspacesEnhancedServiceMonitorServiceOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesEnhancedServiceMonitorService) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type WorkspacesEnhancedServiceMonitorServicePtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServiceMonitorServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedServiceMonitorService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServiceMonitorServicePtrOutput) ToWorkspacesEnhancedServiceMonitorServicePtrOutput() WorkspacesEnhancedServiceMonitorServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServiceMonitorServicePtrOutput) ToWorkspacesEnhancedServiceMonitorServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceMonitorServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServiceMonitorServicePtrOutput) Elem() WorkspacesEnhancedServiceMonitorServiceOutput { + return o.ApplyT(func(v *WorkspacesEnhancedServiceMonitorService) WorkspacesEnhancedServiceMonitorService { + if v != nil { + return *v + } + var ret WorkspacesEnhancedServiceMonitorService + return ret + }).(WorkspacesEnhancedServiceMonitorServiceOutput) +} + +// Whether to enable. +func (o WorkspacesEnhancedServiceMonitorServicePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WorkspacesEnhancedServiceMonitorService) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type WorkspacesEnhancedServiceSecurityService struct { + // Whether to enable. + Enabled *bool `pulumi:"enabled"` +} + +// WorkspacesEnhancedServiceSecurityServiceInput is an input type that accepts WorkspacesEnhancedServiceSecurityServiceArgs and WorkspacesEnhancedServiceSecurityServiceOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServiceSecurityServiceInput` via: +// +// WorkspacesEnhancedServiceSecurityServiceArgs{...} +type WorkspacesEnhancedServiceSecurityServiceInput interface { + pulumi.Input + + ToWorkspacesEnhancedServiceSecurityServiceOutput() WorkspacesEnhancedServiceSecurityServiceOutput + ToWorkspacesEnhancedServiceSecurityServiceOutputWithContext(context.Context) WorkspacesEnhancedServiceSecurityServiceOutput +} + +type WorkspacesEnhancedServiceSecurityServiceArgs struct { + // Whether to enable. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (WorkspacesEnhancedServiceSecurityServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedServiceSecurityService)(nil)).Elem() +} + +func (i WorkspacesEnhancedServiceSecurityServiceArgs) ToWorkspacesEnhancedServiceSecurityServiceOutput() WorkspacesEnhancedServiceSecurityServiceOutput { + return i.ToWorkspacesEnhancedServiceSecurityServiceOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceSecurityServiceArgs) ToWorkspacesEnhancedServiceSecurityServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceSecurityServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceSecurityServiceOutput) +} + +func (i WorkspacesEnhancedServiceSecurityServiceArgs) ToWorkspacesEnhancedServiceSecurityServicePtrOutput() WorkspacesEnhancedServiceSecurityServicePtrOutput { + return i.ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(context.Background()) +} + +func (i WorkspacesEnhancedServiceSecurityServiceArgs) ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceSecurityServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceSecurityServiceOutput).ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(ctx) +} + +// WorkspacesEnhancedServiceSecurityServicePtrInput is an input type that accepts WorkspacesEnhancedServiceSecurityServiceArgs, WorkspacesEnhancedServiceSecurityServicePtr and WorkspacesEnhancedServiceSecurityServicePtrOutput values. +// You can construct a concrete instance of `WorkspacesEnhancedServiceSecurityServicePtrInput` via: +// +// WorkspacesEnhancedServiceSecurityServiceArgs{...} +// +// or: +// +// nil +type WorkspacesEnhancedServiceSecurityServicePtrInput interface { + pulumi.Input + + ToWorkspacesEnhancedServiceSecurityServicePtrOutput() WorkspacesEnhancedServiceSecurityServicePtrOutput + ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(context.Context) WorkspacesEnhancedServiceSecurityServicePtrOutput +} + +type workspacesEnhancedServiceSecurityServicePtrType WorkspacesEnhancedServiceSecurityServiceArgs + +func WorkspacesEnhancedServiceSecurityServicePtr(v *WorkspacesEnhancedServiceSecurityServiceArgs) WorkspacesEnhancedServiceSecurityServicePtrInput { + return (*workspacesEnhancedServiceSecurityServicePtrType)(v) +} + +func (*workspacesEnhancedServiceSecurityServicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedServiceSecurityService)(nil)).Elem() +} + +func (i *workspacesEnhancedServiceSecurityServicePtrType) ToWorkspacesEnhancedServiceSecurityServicePtrOutput() WorkspacesEnhancedServiceSecurityServicePtrOutput { + return i.ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(context.Background()) +} + +func (i *workspacesEnhancedServiceSecurityServicePtrType) ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceSecurityServicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesEnhancedServiceSecurityServicePtrOutput) +} + +type WorkspacesEnhancedServiceSecurityServiceOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServiceSecurityServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesEnhancedServiceSecurityService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServiceSecurityServiceOutput) ToWorkspacesEnhancedServiceSecurityServiceOutput() WorkspacesEnhancedServiceSecurityServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceSecurityServiceOutput) ToWorkspacesEnhancedServiceSecurityServiceOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceSecurityServiceOutput { + return o +} + +func (o WorkspacesEnhancedServiceSecurityServiceOutput) ToWorkspacesEnhancedServiceSecurityServicePtrOutput() WorkspacesEnhancedServiceSecurityServicePtrOutput { + return o.ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(context.Background()) +} + +func (o WorkspacesEnhancedServiceSecurityServiceOutput) ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceSecurityServicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesEnhancedServiceSecurityService) *WorkspacesEnhancedServiceSecurityService { + return &v + }).(WorkspacesEnhancedServiceSecurityServicePtrOutput) +} + +// Whether to enable. +func (o WorkspacesEnhancedServiceSecurityServiceOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesEnhancedServiceSecurityService) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type WorkspacesEnhancedServiceSecurityServicePtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesEnhancedServiceSecurityServicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesEnhancedServiceSecurityService)(nil)).Elem() +} + +func (o WorkspacesEnhancedServiceSecurityServicePtrOutput) ToWorkspacesEnhancedServiceSecurityServicePtrOutput() WorkspacesEnhancedServiceSecurityServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServiceSecurityServicePtrOutput) ToWorkspacesEnhancedServiceSecurityServicePtrOutputWithContext(ctx context.Context) WorkspacesEnhancedServiceSecurityServicePtrOutput { + return o +} + +func (o WorkspacesEnhancedServiceSecurityServicePtrOutput) Elem() WorkspacesEnhancedServiceSecurityServiceOutput { + return o.ApplyT(func(v *WorkspacesEnhancedServiceSecurityService) WorkspacesEnhancedServiceSecurityService { + if v != nil { + return *v + } + var ret WorkspacesEnhancedServiceSecurityService + return ret + }).(WorkspacesEnhancedServiceSecurityServiceOutput) +} + +// Whether to enable. +func (o WorkspacesEnhancedServiceSecurityServicePtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WorkspacesEnhancedServiceSecurityService) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type WorkspacesInternetAccessible struct { + // Bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + BandwidthPackageId *string `pulumi:"bandwidthPackageId"` + // Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocatePublicIp` is false. + InternetChargeType *string `pulumi:"internetChargeType"` + // Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocatePublicIp` is false. + InternetMaxBandwidthOut *int `pulumi:"internetMaxBandwidthOut"` + // Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + PublicIpAssigned *bool `pulumi:"publicIpAssigned"` +} + +// WorkspacesInternetAccessibleInput is an input type that accepts WorkspacesInternetAccessibleArgs and WorkspacesInternetAccessibleOutput values. +// You can construct a concrete instance of `WorkspacesInternetAccessibleInput` via: +// +// WorkspacesInternetAccessibleArgs{...} +type WorkspacesInternetAccessibleInput interface { + pulumi.Input + + ToWorkspacesInternetAccessibleOutput() WorkspacesInternetAccessibleOutput + ToWorkspacesInternetAccessibleOutputWithContext(context.Context) WorkspacesInternetAccessibleOutput +} + +type WorkspacesInternetAccessibleArgs struct { + // Bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + BandwidthPackageId pulumi.StringPtrInput `pulumi:"bandwidthPackageId"` + // Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocatePublicIp` is false. + InternetChargeType pulumi.StringPtrInput `pulumi:"internetChargeType"` + // Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocatePublicIp` is false. + InternetMaxBandwidthOut pulumi.IntPtrInput `pulumi:"internetMaxBandwidthOut"` + // Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + PublicIpAssigned pulumi.BoolPtrInput `pulumi:"publicIpAssigned"` +} + +func (WorkspacesInternetAccessibleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesInternetAccessible)(nil)).Elem() +} + +func (i WorkspacesInternetAccessibleArgs) ToWorkspacesInternetAccessibleOutput() WorkspacesInternetAccessibleOutput { + return i.ToWorkspacesInternetAccessibleOutputWithContext(context.Background()) +} + +func (i WorkspacesInternetAccessibleArgs) ToWorkspacesInternetAccessibleOutputWithContext(ctx context.Context) WorkspacesInternetAccessibleOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesInternetAccessibleOutput) +} + +func (i WorkspacesInternetAccessibleArgs) ToWorkspacesInternetAccessiblePtrOutput() WorkspacesInternetAccessiblePtrOutput { + return i.ToWorkspacesInternetAccessiblePtrOutputWithContext(context.Background()) +} + +func (i WorkspacesInternetAccessibleArgs) ToWorkspacesInternetAccessiblePtrOutputWithContext(ctx context.Context) WorkspacesInternetAccessiblePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesInternetAccessibleOutput).ToWorkspacesInternetAccessiblePtrOutputWithContext(ctx) +} + +// WorkspacesInternetAccessiblePtrInput is an input type that accepts WorkspacesInternetAccessibleArgs, WorkspacesInternetAccessiblePtr and WorkspacesInternetAccessiblePtrOutput values. +// You can construct a concrete instance of `WorkspacesInternetAccessiblePtrInput` via: +// +// WorkspacesInternetAccessibleArgs{...} +// +// or: +// +// nil +type WorkspacesInternetAccessiblePtrInput interface { + pulumi.Input + + ToWorkspacesInternetAccessiblePtrOutput() WorkspacesInternetAccessiblePtrOutput + ToWorkspacesInternetAccessiblePtrOutputWithContext(context.Context) WorkspacesInternetAccessiblePtrOutput +} + +type workspacesInternetAccessiblePtrType WorkspacesInternetAccessibleArgs + +func WorkspacesInternetAccessiblePtr(v *WorkspacesInternetAccessibleArgs) WorkspacesInternetAccessiblePtrInput { + return (*workspacesInternetAccessiblePtrType)(v) +} + +func (*workspacesInternetAccessiblePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesInternetAccessible)(nil)).Elem() +} + +func (i *workspacesInternetAccessiblePtrType) ToWorkspacesInternetAccessiblePtrOutput() WorkspacesInternetAccessiblePtrOutput { + return i.ToWorkspacesInternetAccessiblePtrOutputWithContext(context.Background()) +} + +func (i *workspacesInternetAccessiblePtrType) ToWorkspacesInternetAccessiblePtrOutputWithContext(ctx context.Context) WorkspacesInternetAccessiblePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesInternetAccessiblePtrOutput) +} + +type WorkspacesInternetAccessibleOutput struct{ *pulumi.OutputState } + +func (WorkspacesInternetAccessibleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesInternetAccessible)(nil)).Elem() +} + +func (o WorkspacesInternetAccessibleOutput) ToWorkspacesInternetAccessibleOutput() WorkspacesInternetAccessibleOutput { + return o +} + +func (o WorkspacesInternetAccessibleOutput) ToWorkspacesInternetAccessibleOutputWithContext(ctx context.Context) WorkspacesInternetAccessibleOutput { + return o +} + +func (o WorkspacesInternetAccessibleOutput) ToWorkspacesInternetAccessiblePtrOutput() WorkspacesInternetAccessiblePtrOutput { + return o.ToWorkspacesInternetAccessiblePtrOutputWithContext(context.Background()) +} + +func (o WorkspacesInternetAccessibleOutput) ToWorkspacesInternetAccessiblePtrOutputWithContext(ctx context.Context) WorkspacesInternetAccessiblePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesInternetAccessible) *WorkspacesInternetAccessible { + return &v + }).(WorkspacesInternetAccessiblePtrOutput) +} + +// Bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. +func (o WorkspacesInternetAccessibleOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesInternetAccessible) *string { return v.BandwidthPackageId }).(pulumi.StringPtrOutput) +} + +// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocatePublicIp` is false. +func (o WorkspacesInternetAccessibleOutput) InternetChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesInternetAccessible) *string { return v.InternetChargeType }).(pulumi.StringPtrOutput) +} + +// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocatePublicIp` is false. +func (o WorkspacesInternetAccessibleOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkspacesInternetAccessible) *int { return v.InternetMaxBandwidthOut }).(pulumi.IntPtrOutput) +} + +// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. +func (o WorkspacesInternetAccessibleOutput) PublicIpAssigned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesInternetAccessible) *bool { return v.PublicIpAssigned }).(pulumi.BoolPtrOutput) +} + +type WorkspacesInternetAccessiblePtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesInternetAccessiblePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesInternetAccessible)(nil)).Elem() +} + +func (o WorkspacesInternetAccessiblePtrOutput) ToWorkspacesInternetAccessiblePtrOutput() WorkspacesInternetAccessiblePtrOutput { + return o +} + +func (o WorkspacesInternetAccessiblePtrOutput) ToWorkspacesInternetAccessiblePtrOutputWithContext(ctx context.Context) WorkspacesInternetAccessiblePtrOutput { + return o +} + +func (o WorkspacesInternetAccessiblePtrOutput) Elem() WorkspacesInternetAccessibleOutput { + return o.ApplyT(func(v *WorkspacesInternetAccessible) WorkspacesInternetAccessible { + if v != nil { + return *v + } + var ret WorkspacesInternetAccessible + return ret + }).(WorkspacesInternetAccessibleOutput) +} + +// Bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. +func (o WorkspacesInternetAccessiblePtrOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesInternetAccessible) *string { + if v == nil { + return nil + } + return v.BandwidthPackageId + }).(pulumi.StringPtrOutput) +} + +// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocatePublicIp` is false. +func (o WorkspacesInternetAccessiblePtrOutput) InternetChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesInternetAccessible) *string { + if v == nil { + return nil + } + return v.InternetChargeType + }).(pulumi.StringPtrOutput) +} + +// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocatePublicIp` is false. +func (o WorkspacesInternetAccessiblePtrOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkspacesInternetAccessible) *int { + if v == nil { + return nil + } + return v.InternetMaxBandwidthOut + }).(pulumi.IntPtrOutput) +} + +// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. +func (o WorkspacesInternetAccessiblePtrOutput) PublicIpAssigned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WorkspacesInternetAccessible) *bool { + if v == nil { + return nil + } + return v.PublicIpAssigned + }).(pulumi.BoolPtrOutput) +} + +type WorkspacesLoginSettings struct { + // The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + KeyIds []string `pulumi:"keyIds"` + // Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + Password *string `pulumi:"password"` +} + +// WorkspacesLoginSettingsInput is an input type that accepts WorkspacesLoginSettingsArgs and WorkspacesLoginSettingsOutput values. +// You can construct a concrete instance of `WorkspacesLoginSettingsInput` via: +// +// WorkspacesLoginSettingsArgs{...} +type WorkspacesLoginSettingsInput interface { + pulumi.Input + + ToWorkspacesLoginSettingsOutput() WorkspacesLoginSettingsOutput + ToWorkspacesLoginSettingsOutputWithContext(context.Context) WorkspacesLoginSettingsOutput +} + +type WorkspacesLoginSettingsArgs struct { + // The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + KeyIds pulumi.StringArrayInput `pulumi:"keyIds"` + // Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + Password pulumi.StringPtrInput `pulumi:"password"` +} + +func (WorkspacesLoginSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesLoginSettings)(nil)).Elem() +} + +func (i WorkspacesLoginSettingsArgs) ToWorkspacesLoginSettingsOutput() WorkspacesLoginSettingsOutput { + return i.ToWorkspacesLoginSettingsOutputWithContext(context.Background()) +} + +func (i WorkspacesLoginSettingsArgs) ToWorkspacesLoginSettingsOutputWithContext(ctx context.Context) WorkspacesLoginSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesLoginSettingsOutput) +} + +func (i WorkspacesLoginSettingsArgs) ToWorkspacesLoginSettingsPtrOutput() WorkspacesLoginSettingsPtrOutput { + return i.ToWorkspacesLoginSettingsPtrOutputWithContext(context.Background()) +} + +func (i WorkspacesLoginSettingsArgs) ToWorkspacesLoginSettingsPtrOutputWithContext(ctx context.Context) WorkspacesLoginSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesLoginSettingsOutput).ToWorkspacesLoginSettingsPtrOutputWithContext(ctx) +} + +// WorkspacesLoginSettingsPtrInput is an input type that accepts WorkspacesLoginSettingsArgs, WorkspacesLoginSettingsPtr and WorkspacesLoginSettingsPtrOutput values. +// You can construct a concrete instance of `WorkspacesLoginSettingsPtrInput` via: +// +// WorkspacesLoginSettingsArgs{...} +// +// or: +// +// nil +type WorkspacesLoginSettingsPtrInput interface { + pulumi.Input + + ToWorkspacesLoginSettingsPtrOutput() WorkspacesLoginSettingsPtrOutput + ToWorkspacesLoginSettingsPtrOutputWithContext(context.Context) WorkspacesLoginSettingsPtrOutput +} + +type workspacesLoginSettingsPtrType WorkspacesLoginSettingsArgs + +func WorkspacesLoginSettingsPtr(v *WorkspacesLoginSettingsArgs) WorkspacesLoginSettingsPtrInput { + return (*workspacesLoginSettingsPtrType)(v) +} + +func (*workspacesLoginSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesLoginSettings)(nil)).Elem() +} + +func (i *workspacesLoginSettingsPtrType) ToWorkspacesLoginSettingsPtrOutput() WorkspacesLoginSettingsPtrOutput { + return i.ToWorkspacesLoginSettingsPtrOutputWithContext(context.Background()) +} + +func (i *workspacesLoginSettingsPtrType) ToWorkspacesLoginSettingsPtrOutputWithContext(ctx context.Context) WorkspacesLoginSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesLoginSettingsPtrOutput) +} + +type WorkspacesLoginSettingsOutput struct{ *pulumi.OutputState } + +func (WorkspacesLoginSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesLoginSettings)(nil)).Elem() +} + +func (o WorkspacesLoginSettingsOutput) ToWorkspacesLoginSettingsOutput() WorkspacesLoginSettingsOutput { + return o +} + +func (o WorkspacesLoginSettingsOutput) ToWorkspacesLoginSettingsOutputWithContext(ctx context.Context) WorkspacesLoginSettingsOutput { + return o +} + +func (o WorkspacesLoginSettingsOutput) ToWorkspacesLoginSettingsPtrOutput() WorkspacesLoginSettingsPtrOutput { + return o.ToWorkspacesLoginSettingsPtrOutputWithContext(context.Background()) +} + +func (o WorkspacesLoginSettingsOutput) ToWorkspacesLoginSettingsPtrOutputWithContext(ctx context.Context) WorkspacesLoginSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesLoginSettings) *WorkspacesLoginSettings { + return &v + }).(WorkspacesLoginSettingsPtrOutput) +} + +// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. +func (o WorkspacesLoginSettingsOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v WorkspacesLoginSettings) []string { return v.KeyIds }).(pulumi.StringArrayOutput) +} + +// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. +func (o WorkspacesLoginSettingsOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesLoginSettings) *string { return v.Password }).(pulumi.StringPtrOutput) +} + +type WorkspacesLoginSettingsPtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesLoginSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesLoginSettings)(nil)).Elem() +} + +func (o WorkspacesLoginSettingsPtrOutput) ToWorkspacesLoginSettingsPtrOutput() WorkspacesLoginSettingsPtrOutput { + return o +} + +func (o WorkspacesLoginSettingsPtrOutput) ToWorkspacesLoginSettingsPtrOutputWithContext(ctx context.Context) WorkspacesLoginSettingsPtrOutput { + return o +} + +func (o WorkspacesLoginSettingsPtrOutput) Elem() WorkspacesLoginSettingsOutput { + return o.ApplyT(func(v *WorkspacesLoginSettings) WorkspacesLoginSettings { + if v != nil { + return *v + } + var ret WorkspacesLoginSettings + return ret + }).(WorkspacesLoginSettingsOutput) +} + +// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. +func (o WorkspacesLoginSettingsPtrOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *WorkspacesLoginSettings) []string { + if v == nil { + return nil + } + return v.KeyIds + }).(pulumi.StringArrayOutput) +} + +// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. +func (o WorkspacesLoginSettingsPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesLoginSettings) *string { + if v == nil { + return nil + } + return v.Password + }).(pulumi.StringPtrOutput) +} + +type WorkspacesPlacement struct { + // The project the instance belongs to, default to 0. + ProjectId *int `pulumi:"projectId"` + // The available zone for the CVM instance. + Zone string `pulumi:"zone"` +} + +// WorkspacesPlacementInput is an input type that accepts WorkspacesPlacementArgs and WorkspacesPlacementOutput values. +// You can construct a concrete instance of `WorkspacesPlacementInput` via: +// +// WorkspacesPlacementArgs{...} +type WorkspacesPlacementInput interface { + pulumi.Input + + ToWorkspacesPlacementOutput() WorkspacesPlacementOutput + ToWorkspacesPlacementOutputWithContext(context.Context) WorkspacesPlacementOutput +} + +type WorkspacesPlacementArgs struct { + // The project the instance belongs to, default to 0. + ProjectId pulumi.IntPtrInput `pulumi:"projectId"` + // The available zone for the CVM instance. + Zone pulumi.StringInput `pulumi:"zone"` +} + +func (WorkspacesPlacementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesPlacement)(nil)).Elem() +} + +func (i WorkspacesPlacementArgs) ToWorkspacesPlacementOutput() WorkspacesPlacementOutput { + return i.ToWorkspacesPlacementOutputWithContext(context.Background()) +} + +func (i WorkspacesPlacementArgs) ToWorkspacesPlacementOutputWithContext(ctx context.Context) WorkspacesPlacementOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesPlacementOutput) +} + +func (i WorkspacesPlacementArgs) ToWorkspacesPlacementPtrOutput() WorkspacesPlacementPtrOutput { + return i.ToWorkspacesPlacementPtrOutputWithContext(context.Background()) +} + +func (i WorkspacesPlacementArgs) ToWorkspacesPlacementPtrOutputWithContext(ctx context.Context) WorkspacesPlacementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesPlacementOutput).ToWorkspacesPlacementPtrOutputWithContext(ctx) +} + +// WorkspacesPlacementPtrInput is an input type that accepts WorkspacesPlacementArgs, WorkspacesPlacementPtr and WorkspacesPlacementPtrOutput values. +// You can construct a concrete instance of `WorkspacesPlacementPtrInput` via: +// +// WorkspacesPlacementArgs{...} +// +// or: +// +// nil +type WorkspacesPlacementPtrInput interface { + pulumi.Input + + ToWorkspacesPlacementPtrOutput() WorkspacesPlacementPtrOutput + ToWorkspacesPlacementPtrOutputWithContext(context.Context) WorkspacesPlacementPtrOutput +} + +type workspacesPlacementPtrType WorkspacesPlacementArgs + +func WorkspacesPlacementPtr(v *WorkspacesPlacementArgs) WorkspacesPlacementPtrInput { + return (*workspacesPlacementPtrType)(v) +} + +func (*workspacesPlacementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesPlacement)(nil)).Elem() +} + +func (i *workspacesPlacementPtrType) ToWorkspacesPlacementPtrOutput() WorkspacesPlacementPtrOutput { + return i.ToWorkspacesPlacementPtrOutputWithContext(context.Background()) +} + +func (i *workspacesPlacementPtrType) ToWorkspacesPlacementPtrOutputWithContext(ctx context.Context) WorkspacesPlacementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesPlacementPtrOutput) +} + +type WorkspacesPlacementOutput struct{ *pulumi.OutputState } + +func (WorkspacesPlacementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesPlacement)(nil)).Elem() +} + +func (o WorkspacesPlacementOutput) ToWorkspacesPlacementOutput() WorkspacesPlacementOutput { + return o +} + +func (o WorkspacesPlacementOutput) ToWorkspacesPlacementOutputWithContext(ctx context.Context) WorkspacesPlacementOutput { + return o +} + +func (o WorkspacesPlacementOutput) ToWorkspacesPlacementPtrOutput() WorkspacesPlacementPtrOutput { + return o.ToWorkspacesPlacementPtrOutputWithContext(context.Background()) +} + +func (o WorkspacesPlacementOutput) ToWorkspacesPlacementPtrOutputWithContext(ctx context.Context) WorkspacesPlacementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesPlacement) *WorkspacesPlacement { + return &v + }).(WorkspacesPlacementPtrOutput) +} + +// The project the instance belongs to, default to 0. +func (o WorkspacesPlacementOutput) ProjectId() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkspacesPlacement) *int { return v.ProjectId }).(pulumi.IntPtrOutput) +} + +// The available zone for the CVM instance. +func (o WorkspacesPlacementOutput) Zone() pulumi.StringOutput { + return o.ApplyT(func(v WorkspacesPlacement) string { return v.Zone }).(pulumi.StringOutput) +} + +type WorkspacesPlacementPtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesPlacementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesPlacement)(nil)).Elem() +} + +func (o WorkspacesPlacementPtrOutput) ToWorkspacesPlacementPtrOutput() WorkspacesPlacementPtrOutput { + return o +} + +func (o WorkspacesPlacementPtrOutput) ToWorkspacesPlacementPtrOutputWithContext(ctx context.Context) WorkspacesPlacementPtrOutput { + return o +} + +func (o WorkspacesPlacementPtrOutput) Elem() WorkspacesPlacementOutput { + return o.ApplyT(func(v *WorkspacesPlacement) WorkspacesPlacement { + if v != nil { + return *v + } + var ret WorkspacesPlacement + return ret + }).(WorkspacesPlacementOutput) +} + +// The project the instance belongs to, default to 0. +func (o WorkspacesPlacementPtrOutput) ProjectId() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkspacesPlacement) *int { + if v == nil { + return nil + } + return v.ProjectId + }).(pulumi.IntPtrOutput) +} + +// The available zone for the CVM instance. +func (o WorkspacesPlacementPtrOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesPlacement) *string { + if v == nil { + return nil + } + return &v.Zone + }).(pulumi.StringPtrOutput) +} + +type WorkspacesSpaceChargePrepaid struct { + // 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`, `48`, `60`. + Period *int `pulumi:"period"` + // 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`. + RenewFlag *string `pulumi:"renewFlag"` +} + +// WorkspacesSpaceChargePrepaidInput is an input type that accepts WorkspacesSpaceChargePrepaidArgs and WorkspacesSpaceChargePrepaidOutput values. +// You can construct a concrete instance of `WorkspacesSpaceChargePrepaidInput` via: +// +// WorkspacesSpaceChargePrepaidArgs{...} +type WorkspacesSpaceChargePrepaidInput interface { + pulumi.Input + + ToWorkspacesSpaceChargePrepaidOutput() WorkspacesSpaceChargePrepaidOutput + ToWorkspacesSpaceChargePrepaidOutputWithContext(context.Context) WorkspacesSpaceChargePrepaidOutput +} + +type WorkspacesSpaceChargePrepaidArgs struct { + // 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`, `48`, `60`. + Period pulumi.IntPtrInput `pulumi:"period"` + // 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`. + RenewFlag pulumi.StringPtrInput `pulumi:"renewFlag"` +} + +func (WorkspacesSpaceChargePrepaidArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesSpaceChargePrepaid)(nil)).Elem() +} + +func (i WorkspacesSpaceChargePrepaidArgs) ToWorkspacesSpaceChargePrepaidOutput() WorkspacesSpaceChargePrepaidOutput { + return i.ToWorkspacesSpaceChargePrepaidOutputWithContext(context.Background()) +} + +func (i WorkspacesSpaceChargePrepaidArgs) ToWorkspacesSpaceChargePrepaidOutputWithContext(ctx context.Context) WorkspacesSpaceChargePrepaidOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesSpaceChargePrepaidOutput) +} + +func (i WorkspacesSpaceChargePrepaidArgs) ToWorkspacesSpaceChargePrepaidPtrOutput() WorkspacesSpaceChargePrepaidPtrOutput { + return i.ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(context.Background()) +} + +func (i WorkspacesSpaceChargePrepaidArgs) ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(ctx context.Context) WorkspacesSpaceChargePrepaidPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesSpaceChargePrepaidOutput).ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(ctx) +} + +// WorkspacesSpaceChargePrepaidPtrInput is an input type that accepts WorkspacesSpaceChargePrepaidArgs, WorkspacesSpaceChargePrepaidPtr and WorkspacesSpaceChargePrepaidPtrOutput values. +// You can construct a concrete instance of `WorkspacesSpaceChargePrepaidPtrInput` via: +// +// WorkspacesSpaceChargePrepaidArgs{...} +// +// or: +// +// nil +type WorkspacesSpaceChargePrepaidPtrInput interface { + pulumi.Input + + ToWorkspacesSpaceChargePrepaidPtrOutput() WorkspacesSpaceChargePrepaidPtrOutput + ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(context.Context) WorkspacesSpaceChargePrepaidPtrOutput +} + +type workspacesSpaceChargePrepaidPtrType WorkspacesSpaceChargePrepaidArgs + +func WorkspacesSpaceChargePrepaidPtr(v *WorkspacesSpaceChargePrepaidArgs) WorkspacesSpaceChargePrepaidPtrInput { + return (*workspacesSpaceChargePrepaidPtrType)(v) +} + +func (*workspacesSpaceChargePrepaidPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesSpaceChargePrepaid)(nil)).Elem() +} + +func (i *workspacesSpaceChargePrepaidPtrType) ToWorkspacesSpaceChargePrepaidPtrOutput() WorkspacesSpaceChargePrepaidPtrOutput { + return i.ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(context.Background()) +} + +func (i *workspacesSpaceChargePrepaidPtrType) ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(ctx context.Context) WorkspacesSpaceChargePrepaidPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesSpaceChargePrepaidPtrOutput) +} + +type WorkspacesSpaceChargePrepaidOutput struct{ *pulumi.OutputState } + +func (WorkspacesSpaceChargePrepaidOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesSpaceChargePrepaid)(nil)).Elem() +} + +func (o WorkspacesSpaceChargePrepaidOutput) ToWorkspacesSpaceChargePrepaidOutput() WorkspacesSpaceChargePrepaidOutput { + return o +} + +func (o WorkspacesSpaceChargePrepaidOutput) ToWorkspacesSpaceChargePrepaidOutputWithContext(ctx context.Context) WorkspacesSpaceChargePrepaidOutput { + return o +} + +func (o WorkspacesSpaceChargePrepaidOutput) ToWorkspacesSpaceChargePrepaidPtrOutput() WorkspacesSpaceChargePrepaidPtrOutput { + return o.ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(context.Background()) +} + +func (o WorkspacesSpaceChargePrepaidOutput) ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(ctx context.Context) WorkspacesSpaceChargePrepaidPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesSpaceChargePrepaid) *WorkspacesSpaceChargePrepaid { + return &v + }).(WorkspacesSpaceChargePrepaidPtrOutput) +} + +// 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`, `48`, `60`. +func (o WorkspacesSpaceChargePrepaidOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkspacesSpaceChargePrepaid) *int { return v.Period }).(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 WorkspacesSpaceChargePrepaidOutput) RenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesSpaceChargePrepaid) *string { return v.RenewFlag }).(pulumi.StringPtrOutput) +} + +type WorkspacesSpaceChargePrepaidPtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesSpaceChargePrepaidPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesSpaceChargePrepaid)(nil)).Elem() +} + +func (o WorkspacesSpaceChargePrepaidPtrOutput) ToWorkspacesSpaceChargePrepaidPtrOutput() WorkspacesSpaceChargePrepaidPtrOutput { + return o +} + +func (o WorkspacesSpaceChargePrepaidPtrOutput) ToWorkspacesSpaceChargePrepaidPtrOutputWithContext(ctx context.Context) WorkspacesSpaceChargePrepaidPtrOutput { + return o +} + +func (o WorkspacesSpaceChargePrepaidPtrOutput) Elem() WorkspacesSpaceChargePrepaidOutput { + return o.ApplyT(func(v *WorkspacesSpaceChargePrepaid) WorkspacesSpaceChargePrepaid { + if v != nil { + return *v + } + var ret WorkspacesSpaceChargePrepaid + return ret + }).(WorkspacesSpaceChargePrepaidOutput) +} + +// 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`, `48`, `60`. +func (o WorkspacesSpaceChargePrepaidPtrOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkspacesSpaceChargePrepaid) *int { + if v == nil { + return nil + } + return v.Period + }).(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 WorkspacesSpaceChargePrepaidPtrOutput) RenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesSpaceChargePrepaid) *string { + if v == nil { + return nil + } + return v.RenewFlag + }).(pulumi.StringPtrOutput) +} + +type WorkspacesSystemDisk struct { + // Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + DiskId *string `pulumi:"diskId"` + // Size of the system disk. unit is GB, Default is 50GB. + DiskSize *int `pulumi:"diskSize"` + // 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + DiskType *string `pulumi:"diskType"` +} + +// WorkspacesSystemDiskInput is an input type that accepts WorkspacesSystemDiskArgs and WorkspacesSystemDiskOutput values. +// You can construct a concrete instance of `WorkspacesSystemDiskInput` via: +// +// WorkspacesSystemDiskArgs{...} +type WorkspacesSystemDiskInput interface { + pulumi.Input + + ToWorkspacesSystemDiskOutput() WorkspacesSystemDiskOutput + ToWorkspacesSystemDiskOutputWithContext(context.Context) WorkspacesSystemDiskOutput +} + +type WorkspacesSystemDiskArgs struct { + // Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + DiskId pulumi.StringPtrInput `pulumi:"diskId"` + // Size of the system disk. unit is GB, Default is 50GB. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` +} + +func (WorkspacesSystemDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesSystemDisk)(nil)).Elem() +} + +func (i WorkspacesSystemDiskArgs) ToWorkspacesSystemDiskOutput() WorkspacesSystemDiskOutput { + return i.ToWorkspacesSystemDiskOutputWithContext(context.Background()) +} + +func (i WorkspacesSystemDiskArgs) ToWorkspacesSystemDiskOutputWithContext(ctx context.Context) WorkspacesSystemDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesSystemDiskOutput) +} + +func (i WorkspacesSystemDiskArgs) ToWorkspacesSystemDiskPtrOutput() WorkspacesSystemDiskPtrOutput { + return i.ToWorkspacesSystemDiskPtrOutputWithContext(context.Background()) +} + +func (i WorkspacesSystemDiskArgs) ToWorkspacesSystemDiskPtrOutputWithContext(ctx context.Context) WorkspacesSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesSystemDiskOutput).ToWorkspacesSystemDiskPtrOutputWithContext(ctx) +} + +// WorkspacesSystemDiskPtrInput is an input type that accepts WorkspacesSystemDiskArgs, WorkspacesSystemDiskPtr and WorkspacesSystemDiskPtrOutput values. +// You can construct a concrete instance of `WorkspacesSystemDiskPtrInput` via: +// +// WorkspacesSystemDiskArgs{...} +// +// or: +// +// nil +type WorkspacesSystemDiskPtrInput interface { + pulumi.Input + + ToWorkspacesSystemDiskPtrOutput() WorkspacesSystemDiskPtrOutput + ToWorkspacesSystemDiskPtrOutputWithContext(context.Context) WorkspacesSystemDiskPtrOutput +} + +type workspacesSystemDiskPtrType WorkspacesSystemDiskArgs + +func WorkspacesSystemDiskPtr(v *WorkspacesSystemDiskArgs) WorkspacesSystemDiskPtrInput { + return (*workspacesSystemDiskPtrType)(v) +} + +func (*workspacesSystemDiskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesSystemDisk)(nil)).Elem() +} + +func (i *workspacesSystemDiskPtrType) ToWorkspacesSystemDiskPtrOutput() WorkspacesSystemDiskPtrOutput { + return i.ToWorkspacesSystemDiskPtrOutputWithContext(context.Background()) +} + +func (i *workspacesSystemDiskPtrType) ToWorkspacesSystemDiskPtrOutputWithContext(ctx context.Context) WorkspacesSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesSystemDiskPtrOutput) +} + +type WorkspacesSystemDiskOutput struct{ *pulumi.OutputState } + +func (WorkspacesSystemDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesSystemDisk)(nil)).Elem() +} + +func (o WorkspacesSystemDiskOutput) ToWorkspacesSystemDiskOutput() WorkspacesSystemDiskOutput { + return o +} + +func (o WorkspacesSystemDiskOutput) ToWorkspacesSystemDiskOutputWithContext(ctx context.Context) WorkspacesSystemDiskOutput { + return o +} + +func (o WorkspacesSystemDiskOutput) ToWorkspacesSystemDiskPtrOutput() WorkspacesSystemDiskPtrOutput { + return o.ToWorkspacesSystemDiskPtrOutputWithContext(context.Background()) +} + +func (o WorkspacesSystemDiskOutput) ToWorkspacesSystemDiskPtrOutputWithContext(ctx context.Context) WorkspacesSystemDiskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesSystemDisk) *WorkspacesSystemDisk { + return &v + }).(WorkspacesSystemDiskPtrOutput) +} + +// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. +func (o WorkspacesSystemDiskOutput) DiskId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesSystemDisk) *string { return v.DiskId }).(pulumi.StringPtrOutput) +} + +// Size of the system disk. unit is GB, Default is 50GB. +func (o WorkspacesSystemDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkspacesSystemDisk) *int { return v.DiskSize }).(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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. +func (o WorkspacesSystemDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspacesSystemDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +type WorkspacesSystemDiskPtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesSystemDiskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesSystemDisk)(nil)).Elem() +} + +func (o WorkspacesSystemDiskPtrOutput) ToWorkspacesSystemDiskPtrOutput() WorkspacesSystemDiskPtrOutput { + return o +} + +func (o WorkspacesSystemDiskPtrOutput) ToWorkspacesSystemDiskPtrOutputWithContext(ctx context.Context) WorkspacesSystemDiskPtrOutput { + return o +} + +func (o WorkspacesSystemDiskPtrOutput) Elem() WorkspacesSystemDiskOutput { + return o.ApplyT(func(v *WorkspacesSystemDisk) WorkspacesSystemDisk { + if v != nil { + return *v + } + var ret WorkspacesSystemDisk + return ret + }).(WorkspacesSystemDiskOutput) +} + +// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. +func (o WorkspacesSystemDiskPtrOutput) DiskId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesSystemDisk) *string { + if v == nil { + return nil + } + return v.DiskId + }).(pulumi.StringPtrOutput) +} + +// Size of the system disk. unit is GB, Default is 50GB. +func (o WorkspacesSystemDiskPtrOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkspacesSystemDisk) *int { + if v == nil { + return nil + } + return v.DiskSize + }).(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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. +func (o WorkspacesSystemDiskPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesSystemDisk) *string { + if v == nil { + return nil + } + return v.DiskType + }).(pulumi.StringPtrOutput) +} + +type WorkspacesTagSpecification struct { + // tags. + Tags []WorkspacesTagSpecificationTag `pulumi:"tags"` +} + +// WorkspacesTagSpecificationInput is an input type that accepts WorkspacesTagSpecificationArgs and WorkspacesTagSpecificationOutput values. +// You can construct a concrete instance of `WorkspacesTagSpecificationInput` via: +// +// WorkspacesTagSpecificationArgs{...} +type WorkspacesTagSpecificationInput interface { + pulumi.Input + + ToWorkspacesTagSpecificationOutput() WorkspacesTagSpecificationOutput + ToWorkspacesTagSpecificationOutputWithContext(context.Context) WorkspacesTagSpecificationOutput +} + +type WorkspacesTagSpecificationArgs struct { + // tags. + Tags WorkspacesTagSpecificationTagArrayInput `pulumi:"tags"` +} + +func (WorkspacesTagSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesTagSpecification)(nil)).Elem() +} + +func (i WorkspacesTagSpecificationArgs) ToWorkspacesTagSpecificationOutput() WorkspacesTagSpecificationOutput { + return i.ToWorkspacesTagSpecificationOutputWithContext(context.Background()) +} + +func (i WorkspacesTagSpecificationArgs) ToWorkspacesTagSpecificationOutputWithContext(ctx context.Context) WorkspacesTagSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesTagSpecificationOutput) +} + +// WorkspacesTagSpecificationArrayInput is an input type that accepts WorkspacesTagSpecificationArray and WorkspacesTagSpecificationArrayOutput values. +// You can construct a concrete instance of `WorkspacesTagSpecificationArrayInput` via: +// +// WorkspacesTagSpecificationArray{ WorkspacesTagSpecificationArgs{...} } +type WorkspacesTagSpecificationArrayInput interface { + pulumi.Input + + ToWorkspacesTagSpecificationArrayOutput() WorkspacesTagSpecificationArrayOutput + ToWorkspacesTagSpecificationArrayOutputWithContext(context.Context) WorkspacesTagSpecificationArrayOutput +} + +type WorkspacesTagSpecificationArray []WorkspacesTagSpecificationInput + +func (WorkspacesTagSpecificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkspacesTagSpecification)(nil)).Elem() +} + +func (i WorkspacesTagSpecificationArray) ToWorkspacesTagSpecificationArrayOutput() WorkspacesTagSpecificationArrayOutput { + return i.ToWorkspacesTagSpecificationArrayOutputWithContext(context.Background()) +} + +func (i WorkspacesTagSpecificationArray) ToWorkspacesTagSpecificationArrayOutputWithContext(ctx context.Context) WorkspacesTagSpecificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesTagSpecificationArrayOutput) +} + +type WorkspacesTagSpecificationOutput struct{ *pulumi.OutputState } + +func (WorkspacesTagSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesTagSpecification)(nil)).Elem() +} + +func (o WorkspacesTagSpecificationOutput) ToWorkspacesTagSpecificationOutput() WorkspacesTagSpecificationOutput { + return o +} + +func (o WorkspacesTagSpecificationOutput) ToWorkspacesTagSpecificationOutputWithContext(ctx context.Context) WorkspacesTagSpecificationOutput { + return o +} + +// tags. +func (o WorkspacesTagSpecificationOutput) Tags() WorkspacesTagSpecificationTagArrayOutput { + return o.ApplyT(func(v WorkspacesTagSpecification) []WorkspacesTagSpecificationTag { return v.Tags }).(WorkspacesTagSpecificationTagArrayOutput) +} + +type WorkspacesTagSpecificationArrayOutput struct{ *pulumi.OutputState } + +func (WorkspacesTagSpecificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkspacesTagSpecification)(nil)).Elem() +} + +func (o WorkspacesTagSpecificationArrayOutput) ToWorkspacesTagSpecificationArrayOutput() WorkspacesTagSpecificationArrayOutput { + return o +} + +func (o WorkspacesTagSpecificationArrayOutput) ToWorkspacesTagSpecificationArrayOutputWithContext(ctx context.Context) WorkspacesTagSpecificationArrayOutput { + return o +} + +func (o WorkspacesTagSpecificationArrayOutput) Index(i pulumi.IntInput) WorkspacesTagSpecificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WorkspacesTagSpecification { + return vs[0].([]WorkspacesTagSpecification)[vs[1].(int)] + }).(WorkspacesTagSpecificationOutput) +} + +type WorkspacesTagSpecificationTag struct { + // Tag key. + Key string `pulumi:"key"` + // Tag value. + Value string `pulumi:"value"` +} + +// WorkspacesTagSpecificationTagInput is an input type that accepts WorkspacesTagSpecificationTagArgs and WorkspacesTagSpecificationTagOutput values. +// You can construct a concrete instance of `WorkspacesTagSpecificationTagInput` via: +// +// WorkspacesTagSpecificationTagArgs{...} +type WorkspacesTagSpecificationTagInput interface { + pulumi.Input + + ToWorkspacesTagSpecificationTagOutput() WorkspacesTagSpecificationTagOutput + ToWorkspacesTagSpecificationTagOutputWithContext(context.Context) WorkspacesTagSpecificationTagOutput +} + +type WorkspacesTagSpecificationTagArgs struct { + // Tag key. + Key pulumi.StringInput `pulumi:"key"` + // Tag value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (WorkspacesTagSpecificationTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesTagSpecificationTag)(nil)).Elem() +} + +func (i WorkspacesTagSpecificationTagArgs) ToWorkspacesTagSpecificationTagOutput() WorkspacesTagSpecificationTagOutput { + return i.ToWorkspacesTagSpecificationTagOutputWithContext(context.Background()) +} + +func (i WorkspacesTagSpecificationTagArgs) ToWorkspacesTagSpecificationTagOutputWithContext(ctx context.Context) WorkspacesTagSpecificationTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesTagSpecificationTagOutput) +} + +// WorkspacesTagSpecificationTagArrayInput is an input type that accepts WorkspacesTagSpecificationTagArray and WorkspacesTagSpecificationTagArrayOutput values. +// You can construct a concrete instance of `WorkspacesTagSpecificationTagArrayInput` via: +// +// WorkspacesTagSpecificationTagArray{ WorkspacesTagSpecificationTagArgs{...} } +type WorkspacesTagSpecificationTagArrayInput interface { + pulumi.Input + + ToWorkspacesTagSpecificationTagArrayOutput() WorkspacesTagSpecificationTagArrayOutput + ToWorkspacesTagSpecificationTagArrayOutputWithContext(context.Context) WorkspacesTagSpecificationTagArrayOutput +} + +type WorkspacesTagSpecificationTagArray []WorkspacesTagSpecificationTagInput + +func (WorkspacesTagSpecificationTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkspacesTagSpecificationTag)(nil)).Elem() +} + +func (i WorkspacesTagSpecificationTagArray) ToWorkspacesTagSpecificationTagArrayOutput() WorkspacesTagSpecificationTagArrayOutput { + return i.ToWorkspacesTagSpecificationTagArrayOutputWithContext(context.Background()) +} + +func (i WorkspacesTagSpecificationTagArray) ToWorkspacesTagSpecificationTagArrayOutputWithContext(ctx context.Context) WorkspacesTagSpecificationTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesTagSpecificationTagArrayOutput) +} + +type WorkspacesTagSpecificationTagOutput struct{ *pulumi.OutputState } + +func (WorkspacesTagSpecificationTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesTagSpecificationTag)(nil)).Elem() +} + +func (o WorkspacesTagSpecificationTagOutput) ToWorkspacesTagSpecificationTagOutput() WorkspacesTagSpecificationTagOutput { + return o +} + +func (o WorkspacesTagSpecificationTagOutput) ToWorkspacesTagSpecificationTagOutputWithContext(ctx context.Context) WorkspacesTagSpecificationTagOutput { + return o +} + +// Tag key. +func (o WorkspacesTagSpecificationTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v WorkspacesTagSpecificationTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Tag value. +func (o WorkspacesTagSpecificationTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v WorkspacesTagSpecificationTag) string { return v.Value }).(pulumi.StringOutput) +} + +type WorkspacesTagSpecificationTagArrayOutput struct{ *pulumi.OutputState } + +func (WorkspacesTagSpecificationTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WorkspacesTagSpecificationTag)(nil)).Elem() +} + +func (o WorkspacesTagSpecificationTagArrayOutput) ToWorkspacesTagSpecificationTagArrayOutput() WorkspacesTagSpecificationTagArrayOutput { + return o +} + +func (o WorkspacesTagSpecificationTagArrayOutput) ToWorkspacesTagSpecificationTagArrayOutputWithContext(ctx context.Context) WorkspacesTagSpecificationTagArrayOutput { + return o +} + +func (o WorkspacesTagSpecificationTagArrayOutput) Index(i pulumi.IntInput) WorkspacesTagSpecificationTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WorkspacesTagSpecificationTag { + return vs[0].([]WorkspacesTagSpecificationTag)[vs[1].(int)] + }).(WorkspacesTagSpecificationTagOutput) +} + +type WorkspacesVirtualPrivateCloud struct { + // Is it used as a public network gateway. + AsVpcGateway *bool `pulumi:"asVpcGateway"` + // IPV6 address count. + Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + // Array of private ip address. + PrivateIpAddresses []string `pulumi:"privateIpAddresses"` + // The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + SubnetId string `pulumi:"subnetId"` + // The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + VpcId string `pulumi:"vpcId"` +} + +// WorkspacesVirtualPrivateCloudInput is an input type that accepts WorkspacesVirtualPrivateCloudArgs and WorkspacesVirtualPrivateCloudOutput values. +// You can construct a concrete instance of `WorkspacesVirtualPrivateCloudInput` via: +// +// WorkspacesVirtualPrivateCloudArgs{...} +type WorkspacesVirtualPrivateCloudInput interface { + pulumi.Input + + ToWorkspacesVirtualPrivateCloudOutput() WorkspacesVirtualPrivateCloudOutput + ToWorkspacesVirtualPrivateCloudOutputWithContext(context.Context) WorkspacesVirtualPrivateCloudOutput +} + +type WorkspacesVirtualPrivateCloudArgs struct { + // Is it used as a public network gateway. + AsVpcGateway pulumi.BoolPtrInput `pulumi:"asVpcGateway"` + // IPV6 address count. + Ipv6AddressCount pulumi.IntPtrInput `pulumi:"ipv6AddressCount"` + // Array of private ip address. + PrivateIpAddresses pulumi.StringArrayInput `pulumi:"privateIpAddresses"` + // The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + SubnetId pulumi.StringInput `pulumi:"subnetId"` + // The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (WorkspacesVirtualPrivateCloudArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesVirtualPrivateCloud)(nil)).Elem() +} + +func (i WorkspacesVirtualPrivateCloudArgs) ToWorkspacesVirtualPrivateCloudOutput() WorkspacesVirtualPrivateCloudOutput { + return i.ToWorkspacesVirtualPrivateCloudOutputWithContext(context.Background()) +} + +func (i WorkspacesVirtualPrivateCloudArgs) ToWorkspacesVirtualPrivateCloudOutputWithContext(ctx context.Context) WorkspacesVirtualPrivateCloudOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesVirtualPrivateCloudOutput) +} + +func (i WorkspacesVirtualPrivateCloudArgs) ToWorkspacesVirtualPrivateCloudPtrOutput() WorkspacesVirtualPrivateCloudPtrOutput { + return i.ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(context.Background()) +} + +func (i WorkspacesVirtualPrivateCloudArgs) ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(ctx context.Context) WorkspacesVirtualPrivateCloudPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesVirtualPrivateCloudOutput).ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(ctx) +} + +// WorkspacesVirtualPrivateCloudPtrInput is an input type that accepts WorkspacesVirtualPrivateCloudArgs, WorkspacesVirtualPrivateCloudPtr and WorkspacesVirtualPrivateCloudPtrOutput values. +// You can construct a concrete instance of `WorkspacesVirtualPrivateCloudPtrInput` via: +// +// WorkspacesVirtualPrivateCloudArgs{...} +// +// or: +// +// nil +type WorkspacesVirtualPrivateCloudPtrInput interface { + pulumi.Input + + ToWorkspacesVirtualPrivateCloudPtrOutput() WorkspacesVirtualPrivateCloudPtrOutput + ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(context.Context) WorkspacesVirtualPrivateCloudPtrOutput +} + +type workspacesVirtualPrivateCloudPtrType WorkspacesVirtualPrivateCloudArgs + +func WorkspacesVirtualPrivateCloudPtr(v *WorkspacesVirtualPrivateCloudArgs) WorkspacesVirtualPrivateCloudPtrInput { + return (*workspacesVirtualPrivateCloudPtrType)(v) +} + +func (*workspacesVirtualPrivateCloudPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesVirtualPrivateCloud)(nil)).Elem() +} + +func (i *workspacesVirtualPrivateCloudPtrType) ToWorkspacesVirtualPrivateCloudPtrOutput() WorkspacesVirtualPrivateCloudPtrOutput { + return i.ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(context.Background()) +} + +func (i *workspacesVirtualPrivateCloudPtrType) ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(ctx context.Context) WorkspacesVirtualPrivateCloudPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesVirtualPrivateCloudPtrOutput) +} + +type WorkspacesVirtualPrivateCloudOutput struct{ *pulumi.OutputState } + +func (WorkspacesVirtualPrivateCloudOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspacesVirtualPrivateCloud)(nil)).Elem() +} + +func (o WorkspacesVirtualPrivateCloudOutput) ToWorkspacesVirtualPrivateCloudOutput() WorkspacesVirtualPrivateCloudOutput { + return o +} + +func (o WorkspacesVirtualPrivateCloudOutput) ToWorkspacesVirtualPrivateCloudOutputWithContext(ctx context.Context) WorkspacesVirtualPrivateCloudOutput { + return o +} + +func (o WorkspacesVirtualPrivateCloudOutput) ToWorkspacesVirtualPrivateCloudPtrOutput() WorkspacesVirtualPrivateCloudPtrOutput { + return o.ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(context.Background()) +} + +func (o WorkspacesVirtualPrivateCloudOutput) ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(ctx context.Context) WorkspacesVirtualPrivateCloudPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspacesVirtualPrivateCloud) *WorkspacesVirtualPrivateCloud { + return &v + }).(WorkspacesVirtualPrivateCloudPtrOutput) +} + +// Is it used as a public network gateway. +func (o WorkspacesVirtualPrivateCloudOutput) AsVpcGateway() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WorkspacesVirtualPrivateCloud) *bool { return v.AsVpcGateway }).(pulumi.BoolPtrOutput) +} + +// IPV6 address count. +func (o WorkspacesVirtualPrivateCloudOutput) Ipv6AddressCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v WorkspacesVirtualPrivateCloud) *int { return v.Ipv6AddressCount }).(pulumi.IntPtrOutput) +} + +// Array of private ip address. +func (o WorkspacesVirtualPrivateCloudOutput) PrivateIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v WorkspacesVirtualPrivateCloud) []string { return v.PrivateIpAddresses }).(pulumi.StringArrayOutput) +} + +// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. +func (o WorkspacesVirtualPrivateCloudOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v WorkspacesVirtualPrivateCloud) string { return v.SubnetId }).(pulumi.StringOutput) +} + +// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. +func (o WorkspacesVirtualPrivateCloudOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v WorkspacesVirtualPrivateCloud) string { return v.VpcId }).(pulumi.StringOutput) +} + +type WorkspacesVirtualPrivateCloudPtrOutput struct{ *pulumi.OutputState } + +func (WorkspacesVirtualPrivateCloudPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspacesVirtualPrivateCloud)(nil)).Elem() +} + +func (o WorkspacesVirtualPrivateCloudPtrOutput) ToWorkspacesVirtualPrivateCloudPtrOutput() WorkspacesVirtualPrivateCloudPtrOutput { + return o +} + +func (o WorkspacesVirtualPrivateCloudPtrOutput) ToWorkspacesVirtualPrivateCloudPtrOutputWithContext(ctx context.Context) WorkspacesVirtualPrivateCloudPtrOutput { + return o +} + +func (o WorkspacesVirtualPrivateCloudPtrOutput) Elem() WorkspacesVirtualPrivateCloudOutput { + return o.ApplyT(func(v *WorkspacesVirtualPrivateCloud) WorkspacesVirtualPrivateCloud { + if v != nil { + return *v + } + var ret WorkspacesVirtualPrivateCloud + return ret + }).(WorkspacesVirtualPrivateCloudOutput) +} + +// Is it used as a public network gateway. +func (o WorkspacesVirtualPrivateCloudPtrOutput) AsVpcGateway() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WorkspacesVirtualPrivateCloud) *bool { + if v == nil { + return nil + } + return v.AsVpcGateway + }).(pulumi.BoolPtrOutput) +} + +// IPV6 address count. +func (o WorkspacesVirtualPrivateCloudPtrOutput) Ipv6AddressCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WorkspacesVirtualPrivateCloud) *int { + if v == nil { + return nil + } + return v.Ipv6AddressCount + }).(pulumi.IntPtrOutput) +} + +// Array of private ip address. +func (o WorkspacesVirtualPrivateCloudPtrOutput) PrivateIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *WorkspacesVirtualPrivateCloud) []string { + if v == nil { + return nil + } + return v.PrivateIpAddresses + }).(pulumi.StringArrayOutput) +} + +// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. +func (o WorkspacesVirtualPrivateCloudPtrOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesVirtualPrivateCloud) *string { + if v == nil { + return nil + } + return &v.SubnetId + }).(pulumi.StringPtrOutput) +} + +// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. +func (o WorkspacesVirtualPrivateCloudPtrOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspacesVirtualPrivateCloud) *string { + if v == nil { + return nil + } + return &v.VpcId + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesDataDiskInput)(nil)).Elem(), WorkspacesDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesDataDiskArrayInput)(nil)).Elem(), WorkspacesDataDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServiceInput)(nil)).Elem(), WorkspacesEnhancedServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServicePtrInput)(nil)).Elem(), WorkspacesEnhancedServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServiceAutomationServiceInput)(nil)).Elem(), WorkspacesEnhancedServiceAutomationServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServiceAutomationServicePtrInput)(nil)).Elem(), WorkspacesEnhancedServiceAutomationServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServiceMonitorServiceInput)(nil)).Elem(), WorkspacesEnhancedServiceMonitorServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServiceMonitorServicePtrInput)(nil)).Elem(), WorkspacesEnhancedServiceMonitorServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServiceSecurityServiceInput)(nil)).Elem(), WorkspacesEnhancedServiceSecurityServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesEnhancedServiceSecurityServicePtrInput)(nil)).Elem(), WorkspacesEnhancedServiceSecurityServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesInternetAccessibleInput)(nil)).Elem(), WorkspacesInternetAccessibleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesInternetAccessiblePtrInput)(nil)).Elem(), WorkspacesInternetAccessibleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesLoginSettingsInput)(nil)).Elem(), WorkspacesLoginSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesLoginSettingsPtrInput)(nil)).Elem(), WorkspacesLoginSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesPlacementInput)(nil)).Elem(), WorkspacesPlacementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesPlacementPtrInput)(nil)).Elem(), WorkspacesPlacementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesSpaceChargePrepaidInput)(nil)).Elem(), WorkspacesSpaceChargePrepaidArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesSpaceChargePrepaidPtrInput)(nil)).Elem(), WorkspacesSpaceChargePrepaidArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesSystemDiskInput)(nil)).Elem(), WorkspacesSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesSystemDiskPtrInput)(nil)).Elem(), WorkspacesSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesTagSpecificationInput)(nil)).Elem(), WorkspacesTagSpecificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesTagSpecificationArrayInput)(nil)).Elem(), WorkspacesTagSpecificationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesTagSpecificationTagInput)(nil)).Elem(), WorkspacesTagSpecificationTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesTagSpecificationTagArrayInput)(nil)).Elem(), WorkspacesTagSpecificationTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesVirtualPrivateCloudInput)(nil)).Elem(), WorkspacesVirtualPrivateCloudArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesVirtualPrivateCloudPtrInput)(nil)).Elem(), WorkspacesVirtualPrivateCloudArgs{}) + pulumi.RegisterOutputType(WorkspacesDataDiskOutput{}) + pulumi.RegisterOutputType(WorkspacesDataDiskArrayOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServiceOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServicePtrOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServiceAutomationServiceOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServiceAutomationServicePtrOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServiceMonitorServiceOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServiceMonitorServicePtrOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServiceSecurityServiceOutput{}) + pulumi.RegisterOutputType(WorkspacesEnhancedServiceSecurityServicePtrOutput{}) + pulumi.RegisterOutputType(WorkspacesInternetAccessibleOutput{}) + pulumi.RegisterOutputType(WorkspacesInternetAccessiblePtrOutput{}) + pulumi.RegisterOutputType(WorkspacesLoginSettingsOutput{}) + pulumi.RegisterOutputType(WorkspacesLoginSettingsPtrOutput{}) + pulumi.RegisterOutputType(WorkspacesPlacementOutput{}) + pulumi.RegisterOutputType(WorkspacesPlacementPtrOutput{}) + pulumi.RegisterOutputType(WorkspacesSpaceChargePrepaidOutput{}) + pulumi.RegisterOutputType(WorkspacesSpaceChargePrepaidPtrOutput{}) + pulumi.RegisterOutputType(WorkspacesSystemDiskOutput{}) + pulumi.RegisterOutputType(WorkspacesSystemDiskPtrOutput{}) + pulumi.RegisterOutputType(WorkspacesTagSpecificationOutput{}) + pulumi.RegisterOutputType(WorkspacesTagSpecificationArrayOutput{}) + pulumi.RegisterOutputType(WorkspacesTagSpecificationTagOutput{}) + pulumi.RegisterOutputType(WorkspacesTagSpecificationTagArrayOutput{}) + pulumi.RegisterOutputType(WorkspacesVirtualPrivateCloudOutput{}) + pulumi.RegisterOutputType(WorkspacesVirtualPrivateCloudPtrOutput{}) +} diff --git a/sdk/go/tencentcloud/thpc/workspaces.go b/sdk/go/tencentcloud/thpc/workspaces.go new file mode 100644 index 000000000..666a6e407 --- /dev/null +++ b/sdk/go/tencentcloud/thpc/workspaces.go @@ -0,0 +1,780 @@ +// 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 thpc + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create a THPC workspaces +// +// > **Note:** If spaceChargeType is UNDERWRITE, Not currently supported for deletion. +// +// ## Example Usage +// +// ### Create a PREPAID THPC workspaces +// +// +// ```go +// package main +// +// 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/Images" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Thpc" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-nanjing-1" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// images, err := Images.GetInstance(ctx, &images.GetInstanceArgs{ +// ImageTypes: []string{ +// "PUBLIC_IMAGE", +// }, +// OsName: pulumi.StringRef("TencentOS Server 3.1 (TK4) UEFI"), +// }, nil) +// if err != nil { +// return err +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("security group desc."), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("Terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create thpc workspaces +// _, err = Thpc.NewWorkspaces(ctx, "exampleWorkspaces", &Thpc.WorkspacesArgs{ +// SpaceName: pulumi.String("tf-example"), +// SpaceChargeType: pulumi.String("PREPAID"), +// SpaceType: pulumi.String("96A.96XLARGE2304"), +// HpcClusterId: pulumi.String("hpc-l9anqcbl"), +// ImageId: pulumi.String(images.Images[0].ImageId), +// SecurityGroupIds: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// Placement: &thpc.WorkspacesPlacementArgs{ +// Zone: pulumi.String(availabilityZone), +// ProjectId: pulumi.Int(0), +// }, +// SpaceChargePrepaid: &thpc.WorkspacesSpaceChargePrepaidArgs{ +// Period: pulumi.Int(1), +// RenewFlag: pulumi.String("NOTIFY_AND_AUTO_RENEW"), +// }, +// SystemDisk: &thpc.WorkspacesSystemDiskArgs{ +// DiskSize: pulumi.Int(100), +// DiskType: pulumi.String("CLOUD_HSSD"), +// }, +// DataDisks: thpc.WorkspacesDataDiskArray{ +// &thpc.WorkspacesDataDiskArgs{ +// DiskSize: pulumi.Int(200), +// DiskType: pulumi.String("CLOUD_HSSD"), +// Encrypt: pulumi.Bool(false), +// }, +// }, +// VirtualPrivateCloud: &thpc.WorkspacesVirtualPrivateCloudArgs{ +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// AsVpcGateway: pulumi.Bool(false), +// Ipv6AddressCount: pulumi.Int(0), +// }, +// InternetAccessible: &thpc.WorkspacesInternetAccessibleArgs{ +// InternetChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"), +// InternetMaxBandwidthOut: pulumi.Int(200), +// PublicIpAssigned: pulumi.Bool(true), +// }, +// LoginSettings: &thpc.WorkspacesLoginSettingsArgs{ +// Password: pulumi.String("Password@123"), +// }, +// EnhancedService: &thpc.WorkspacesEnhancedServiceArgs{ +// SecurityService: &thpc.WorkspacesEnhancedServiceSecurityServiceArgs{ +// Enabled: pulumi.Bool(true), +// }, +// MonitorService: &thpc.WorkspacesEnhancedServiceMonitorServiceArgs{ +// Enabled: pulumi.Bool(true), +// }, +// AutomationService: &thpc.WorkspacesEnhancedServiceAutomationServiceArgs{ +// Enabled: pulumi.Bool(true), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Create a UNDERWRITE THPC workspaces +// +// +// ```go +// package main +// +// 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/Images" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Thpc" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// availabilityZone := "ap-nanjing-1" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// images, err := Images.GetInstance(ctx, &images.GetInstanceArgs{ +// ImageTypes: []string{ +// "PUBLIC_IMAGE", +// }, +// OsName: pulumi.StringRef("TencentOS Server 3.1 (TK4) UEFI"), +// }, nil) +// if err != nil { +// return err +// } +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("172.16.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("172.16.0.0/24"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create security group +// exampleGroup, err := Security.NewGroup(ctx, "exampleGroup", &Security.GroupArgs{ +// Description: pulumi.String("security group desc."), +// Tags: pulumi.Map{ +// "createBy": pulumi.Any("Terraform"), +// }, +// }) +// if err != nil { +// return err +// } +// // create thpc workspaces +// _, err = Thpc.NewWorkspaces(ctx, "exampleWorkspaces", &Thpc.WorkspacesArgs{ +// SpaceName: pulumi.String("tf-example"), +// SpaceChargeType: pulumi.String("UNDERWRITE"), +// SpaceType: pulumi.String("96A.96XLARGE2304"), +// HpcClusterId: pulumi.String("hpc-l9anqcbl"), +// ImageId: pulumi.String(images.Images[0].ImageId), +// SecurityGroupIds: pulumi.StringArray{ +// exampleGroup.ID(), +// }, +// Placement: &thpc.WorkspacesPlacementArgs{ +// Zone: pulumi.String(availabilityZone), +// ProjectId: pulumi.Int(0), +// }, +// SpaceChargePrepaid: &thpc.WorkspacesSpaceChargePrepaidArgs{ +// Period: pulumi.Int(12), +// RenewFlag: pulumi.String("NOTIFY_AND_AUTO_RENEW"), +// }, +// SystemDisk: &thpc.WorkspacesSystemDiskArgs{ +// DiskSize: pulumi.Int(100), +// DiskType: pulumi.String("CLOUD_HSSD"), +// }, +// DataDisks: thpc.WorkspacesDataDiskArray{ +// &thpc.WorkspacesDataDiskArgs{ +// DiskSize: pulumi.Int(200), +// DiskType: pulumi.String("CLOUD_HSSD"), +// Encrypt: pulumi.Bool(false), +// }, +// }, +// VirtualPrivateCloud: &thpc.WorkspacesVirtualPrivateCloudArgs{ +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// AsVpcGateway: pulumi.Bool(false), +// Ipv6AddressCount: pulumi.Int(0), +// PrivateIpAddresses: pulumi.StringArray{ +// pulumi.String("172.16.0.2"), +// }, +// }, +// InternetAccessible: &thpc.WorkspacesInternetAccessibleArgs{ +// InternetChargeType: pulumi.String("BANDWIDTH_PREPAID"), +// InternetMaxBandwidthOut: pulumi.Int(200), +// PublicIpAssigned: pulumi.Bool(true), +// }, +// LoginSettings: &thpc.WorkspacesLoginSettingsArgs{ +// KeyIds: pulumi.StringArray{ +// pulumi.String("skey-qxjpz7uj"), +// }, +// }, +// EnhancedService: &thpc.WorkspacesEnhancedServiceArgs{ +// SecurityService: &thpc.WorkspacesEnhancedServiceSecurityServiceArgs{ +// Enabled: pulumi.Bool(true), +// }, +// MonitorService: &thpc.WorkspacesEnhancedServiceMonitorServiceArgs{ +// Enabled: pulumi.Bool(true), +// }, +// AutomationService: &thpc.WorkspacesEnhancedServiceAutomationServiceArgs{ +// Enabled: pulumi.Bool(true), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// THPC workspaces can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Thpc/workspaces:Workspaces example wks-gwg3ygz1 +// ``` +type Workspaces struct { + pulumi.CustomResourceState + + // CAM role name authorized to access. + CamRoleName pulumi.StringPtrOutput `pulumi:"camRoleName"` + // A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + ClientToken pulumi.StringPtrOutput `pulumi:"clientToken"` + // Workspace data disk information. + DataDisks WorkspacesDataDiskArrayOutput `pulumi:"dataDisks"` + // Placement Group ID. + DisasterRecoverGroupId pulumi.StringPtrOutput `pulumi:"disasterRecoverGroupId"` + // Enhanced Services. + EnhancedService WorkspacesEnhancedServicePtrOutput `pulumi:"enhancedService"` + // The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + HostName pulumi.StringPtrOutput `pulumi:"hostName"` + // Hyper Computing Cluster ID. + HpcClusterId pulumi.StringPtrOutput `pulumi:"hpcClusterId"` + // Image ID. + ImageId pulumi.StringPtrOutput `pulumi:"imageId"` + // Public network bandwidth settings. + InternetAccessible WorkspacesInternetAccessibleOutput `pulumi:"internetAccessible"` + // Workspace Login Settings. + LoginSettings WorkspacesLoginSettingsPtrOutput `pulumi:"loginSettings"` + // The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + Placement WorkspacesPlacementPtrOutput `pulumi:"placement"` + // CVM instance ID. + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // Workspace Security Group. + SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` + // Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + SpaceChargePrepaid WorkspacesSpaceChargePrepaidPtrOutput `pulumi:"spaceChargePrepaid"` + // Workspace billing type. + SpaceChargeType pulumi.StringPtrOutput `pulumi:"spaceChargeType"` + // Workspace Display Name. + SpaceName pulumi.StringOutput `pulumi:"spaceName"` + // Workspace specifications. + SpaceType pulumi.StringPtrOutput `pulumi:"spaceType"` + // Workspace system disk information. + SystemDisk WorkspacesSystemDiskPtrOutput `pulumi:"systemDisk"` + // Tag Description List. + TagSpecifications WorkspacesTagSpecificationArrayOutput `pulumi:"tagSpecifications"` + // User Data for Workspace. + UserData pulumi.StringPtrOutput `pulumi:"userData"` + // VPC related information. + VirtualPrivateCloud WorkspacesVirtualPrivateCloudPtrOutput `pulumi:"virtualPrivateCloud"` +} + +// NewWorkspaces registers a new resource with the given unique name, arguments, and options. +func NewWorkspaces(ctx *pulumi.Context, + name string, args *WorkspacesArgs, opts ...pulumi.ResourceOption) (*Workspaces, error) { + if args == nil { + args = &WorkspacesArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Workspaces + err := ctx.RegisterResource("tencentcloud:Thpc/workspaces:Workspaces", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetWorkspaces gets an existing Workspaces 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 GetWorkspaces(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *WorkspacesState, opts ...pulumi.ResourceOption) (*Workspaces, error) { + var resource Workspaces + err := ctx.ReadResource("tencentcloud:Thpc/workspaces:Workspaces", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Workspaces resources. +type workspacesState struct { + // CAM role name authorized to access. + CamRoleName *string `pulumi:"camRoleName"` + // A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + ClientToken *string `pulumi:"clientToken"` + // Workspace data disk information. + DataDisks []WorkspacesDataDisk `pulumi:"dataDisks"` + // Placement Group ID. + DisasterRecoverGroupId *string `pulumi:"disasterRecoverGroupId"` + // Enhanced Services. + EnhancedService *WorkspacesEnhancedService `pulumi:"enhancedService"` + // The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + HostName *string `pulumi:"hostName"` + // Hyper Computing Cluster ID. + HpcClusterId *string `pulumi:"hpcClusterId"` + // Image ID. + ImageId *string `pulumi:"imageId"` + // Public network bandwidth settings. + InternetAccessible *WorkspacesInternetAccessible `pulumi:"internetAccessible"` + // Workspace Login Settings. + LoginSettings *WorkspacesLoginSettings `pulumi:"loginSettings"` + // The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + Placement *WorkspacesPlacement `pulumi:"placement"` + // CVM instance ID. + ResourceId *string `pulumi:"resourceId"` + // Workspace Security Group. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + SpaceChargePrepaid *WorkspacesSpaceChargePrepaid `pulumi:"spaceChargePrepaid"` + // Workspace billing type. + SpaceChargeType *string `pulumi:"spaceChargeType"` + // Workspace Display Name. + SpaceName *string `pulumi:"spaceName"` + // Workspace specifications. + SpaceType *string `pulumi:"spaceType"` + // Workspace system disk information. + SystemDisk *WorkspacesSystemDisk `pulumi:"systemDisk"` + // Tag Description List. + TagSpecifications []WorkspacesTagSpecification `pulumi:"tagSpecifications"` + // User Data for Workspace. + UserData *string `pulumi:"userData"` + // VPC related information. + VirtualPrivateCloud *WorkspacesVirtualPrivateCloud `pulumi:"virtualPrivateCloud"` +} + +type WorkspacesState struct { + // CAM role name authorized to access. + CamRoleName pulumi.StringPtrInput + // A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + ClientToken pulumi.StringPtrInput + // Workspace data disk information. + DataDisks WorkspacesDataDiskArrayInput + // Placement Group ID. + DisasterRecoverGroupId pulumi.StringPtrInput + // Enhanced Services. + EnhancedService WorkspacesEnhancedServicePtrInput + // The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + HostName pulumi.StringPtrInput + // Hyper Computing Cluster ID. + HpcClusterId pulumi.StringPtrInput + // Image ID. + ImageId pulumi.StringPtrInput + // Public network bandwidth settings. + InternetAccessible WorkspacesInternetAccessiblePtrInput + // Workspace Login Settings. + LoginSettings WorkspacesLoginSettingsPtrInput + // The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + Placement WorkspacesPlacementPtrInput + // CVM instance ID. + ResourceId pulumi.StringPtrInput + // Workspace Security Group. + SecurityGroupIds pulumi.StringArrayInput + // Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + SpaceChargePrepaid WorkspacesSpaceChargePrepaidPtrInput + // Workspace billing type. + SpaceChargeType pulumi.StringPtrInput + // Workspace Display Name. + SpaceName pulumi.StringPtrInput + // Workspace specifications. + SpaceType pulumi.StringPtrInput + // Workspace system disk information. + SystemDisk WorkspacesSystemDiskPtrInput + // Tag Description List. + TagSpecifications WorkspacesTagSpecificationArrayInput + // User Data for Workspace. + UserData pulumi.StringPtrInput + // VPC related information. + VirtualPrivateCloud WorkspacesVirtualPrivateCloudPtrInput +} + +func (WorkspacesState) ElementType() reflect.Type { + return reflect.TypeOf((*workspacesState)(nil)).Elem() +} + +type workspacesArgs struct { + // CAM role name authorized to access. + CamRoleName *string `pulumi:"camRoleName"` + // A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + ClientToken *string `pulumi:"clientToken"` + // Workspace data disk information. + DataDisks []WorkspacesDataDisk `pulumi:"dataDisks"` + // Placement Group ID. + DisasterRecoverGroupId *string `pulumi:"disasterRecoverGroupId"` + // Enhanced Services. + EnhancedService *WorkspacesEnhancedService `pulumi:"enhancedService"` + // The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + HostName *string `pulumi:"hostName"` + // Hyper Computing Cluster ID. + HpcClusterId *string `pulumi:"hpcClusterId"` + // Image ID. + ImageId *string `pulumi:"imageId"` + // Public network bandwidth settings. + InternetAccessible *WorkspacesInternetAccessible `pulumi:"internetAccessible"` + // Workspace Login Settings. + LoginSettings *WorkspacesLoginSettings `pulumi:"loginSettings"` + // The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + Placement *WorkspacesPlacement `pulumi:"placement"` + // Workspace Security Group. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + SpaceChargePrepaid *WorkspacesSpaceChargePrepaid `pulumi:"spaceChargePrepaid"` + // Workspace billing type. + SpaceChargeType *string `pulumi:"spaceChargeType"` + // Workspace Display Name. + SpaceName *string `pulumi:"spaceName"` + // Workspace specifications. + SpaceType *string `pulumi:"spaceType"` + // Workspace system disk information. + SystemDisk *WorkspacesSystemDisk `pulumi:"systemDisk"` + // Tag Description List. + TagSpecifications []WorkspacesTagSpecification `pulumi:"tagSpecifications"` + // User Data for Workspace. + UserData *string `pulumi:"userData"` + // VPC related information. + VirtualPrivateCloud *WorkspacesVirtualPrivateCloud `pulumi:"virtualPrivateCloud"` +} + +// The set of arguments for constructing a Workspaces resource. +type WorkspacesArgs struct { + // CAM role name authorized to access. + CamRoleName pulumi.StringPtrInput + // A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + ClientToken pulumi.StringPtrInput + // Workspace data disk information. + DataDisks WorkspacesDataDiskArrayInput + // Placement Group ID. + DisasterRecoverGroupId pulumi.StringPtrInput + // Enhanced Services. + EnhancedService WorkspacesEnhancedServicePtrInput + // The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + HostName pulumi.StringPtrInput + // Hyper Computing Cluster ID. + HpcClusterId pulumi.StringPtrInput + // Image ID. + ImageId pulumi.StringPtrInput + // Public network bandwidth settings. + InternetAccessible WorkspacesInternetAccessiblePtrInput + // Workspace Login Settings. + LoginSettings WorkspacesLoginSettingsPtrInput + // The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + Placement WorkspacesPlacementPtrInput + // Workspace Security Group. + SecurityGroupIds pulumi.StringArrayInput + // Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + SpaceChargePrepaid WorkspacesSpaceChargePrepaidPtrInput + // Workspace billing type. + SpaceChargeType pulumi.StringPtrInput + // Workspace Display Name. + SpaceName pulumi.StringPtrInput + // Workspace specifications. + SpaceType pulumi.StringPtrInput + // Workspace system disk information. + SystemDisk WorkspacesSystemDiskPtrInput + // Tag Description List. + TagSpecifications WorkspacesTagSpecificationArrayInput + // User Data for Workspace. + UserData pulumi.StringPtrInput + // VPC related information. + VirtualPrivateCloud WorkspacesVirtualPrivateCloudPtrInput +} + +func (WorkspacesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*workspacesArgs)(nil)).Elem() +} + +type WorkspacesInput interface { + pulumi.Input + + ToWorkspacesOutput() WorkspacesOutput + ToWorkspacesOutputWithContext(ctx context.Context) WorkspacesOutput +} + +func (*Workspaces) ElementType() reflect.Type { + return reflect.TypeOf((**Workspaces)(nil)).Elem() +} + +func (i *Workspaces) ToWorkspacesOutput() WorkspacesOutput { + return i.ToWorkspacesOutputWithContext(context.Background()) +} + +func (i *Workspaces) ToWorkspacesOutputWithContext(ctx context.Context) WorkspacesOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesOutput) +} + +// WorkspacesArrayInput is an input type that accepts WorkspacesArray and WorkspacesArrayOutput values. +// You can construct a concrete instance of `WorkspacesArrayInput` via: +// +// WorkspacesArray{ WorkspacesArgs{...} } +type WorkspacesArrayInput interface { + pulumi.Input + + ToWorkspacesArrayOutput() WorkspacesArrayOutput + ToWorkspacesArrayOutputWithContext(context.Context) WorkspacesArrayOutput +} + +type WorkspacesArray []WorkspacesInput + +func (WorkspacesArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Workspaces)(nil)).Elem() +} + +func (i WorkspacesArray) ToWorkspacesArrayOutput() WorkspacesArrayOutput { + return i.ToWorkspacesArrayOutputWithContext(context.Background()) +} + +func (i WorkspacesArray) ToWorkspacesArrayOutputWithContext(ctx context.Context) WorkspacesArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesArrayOutput) +} + +// WorkspacesMapInput is an input type that accepts WorkspacesMap and WorkspacesMapOutput values. +// You can construct a concrete instance of `WorkspacesMapInput` via: +// +// WorkspacesMap{ "key": WorkspacesArgs{...} } +type WorkspacesMapInput interface { + pulumi.Input + + ToWorkspacesMapOutput() WorkspacesMapOutput + ToWorkspacesMapOutputWithContext(context.Context) WorkspacesMapOutput +} + +type WorkspacesMap map[string]WorkspacesInput + +func (WorkspacesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Workspaces)(nil)).Elem() +} + +func (i WorkspacesMap) ToWorkspacesMapOutput() WorkspacesMapOutput { + return i.ToWorkspacesMapOutputWithContext(context.Background()) +} + +func (i WorkspacesMap) ToWorkspacesMapOutputWithContext(ctx context.Context) WorkspacesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspacesMapOutput) +} + +type WorkspacesOutput struct{ *pulumi.OutputState } + +func (WorkspacesOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Workspaces)(nil)).Elem() +} + +func (o WorkspacesOutput) ToWorkspacesOutput() WorkspacesOutput { + return o +} + +func (o WorkspacesOutput) ToWorkspacesOutputWithContext(ctx context.Context) WorkspacesOutput { + return o +} + +// CAM role name authorized to access. +func (o WorkspacesOutput) CamRoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.CamRoleName }).(pulumi.StringPtrOutput) +} + +// A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. +func (o WorkspacesOutput) ClientToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.ClientToken }).(pulumi.StringPtrOutput) +} + +// Workspace data disk information. +func (o WorkspacesOutput) DataDisks() WorkspacesDataDiskArrayOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesDataDiskArrayOutput { return v.DataDisks }).(WorkspacesDataDiskArrayOutput) +} + +// Placement Group ID. +func (o WorkspacesOutput) DisasterRecoverGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.DisasterRecoverGroupId }).(pulumi.StringPtrOutput) +} + +// Enhanced Services. +func (o WorkspacesOutput) EnhancedService() WorkspacesEnhancedServicePtrOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesEnhancedServicePtrOutput { return v.EnhancedService }).(WorkspacesEnhancedServicePtrOutput) +} + +// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. +func (o WorkspacesOutput) HostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.HostName }).(pulumi.StringPtrOutput) +} + +// Hyper Computing Cluster ID. +func (o WorkspacesOutput) HpcClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.HpcClusterId }).(pulumi.StringPtrOutput) +} + +// Image ID. +func (o WorkspacesOutput) ImageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.ImageId }).(pulumi.StringPtrOutput) +} + +// Public network bandwidth settings. +func (o WorkspacesOutput) InternetAccessible() WorkspacesInternetAccessibleOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesInternetAccessibleOutput { return v.InternetAccessible }).(WorkspacesInternetAccessibleOutput) +} + +// Workspace Login Settings. +func (o WorkspacesOutput) LoginSettings() WorkspacesLoginSettingsPtrOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesLoginSettingsPtrOutput { return v.LoginSettings }).(WorkspacesLoginSettingsPtrOutput) +} + +// The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. +func (o WorkspacesOutput) Placement() WorkspacesPlacementPtrOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesPlacementPtrOutput { return v.Placement }).(WorkspacesPlacementPtrOutput) +} + +// CVM instance ID. +func (o WorkspacesOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// Workspace Security Group. +func (o WorkspacesOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. +func (o WorkspacesOutput) SpaceChargePrepaid() WorkspacesSpaceChargePrepaidPtrOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesSpaceChargePrepaidPtrOutput { return v.SpaceChargePrepaid }).(WorkspacesSpaceChargePrepaidPtrOutput) +} + +// Workspace billing type. +func (o WorkspacesOutput) SpaceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.SpaceChargeType }).(pulumi.StringPtrOutput) +} + +// Workspace Display Name. +func (o WorkspacesOutput) SpaceName() pulumi.StringOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringOutput { return v.SpaceName }).(pulumi.StringOutput) +} + +// Workspace specifications. +func (o WorkspacesOutput) SpaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.SpaceType }).(pulumi.StringPtrOutput) +} + +// Workspace system disk information. +func (o WorkspacesOutput) SystemDisk() WorkspacesSystemDiskPtrOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesSystemDiskPtrOutput { return v.SystemDisk }).(WorkspacesSystemDiskPtrOutput) +} + +// Tag Description List. +func (o WorkspacesOutput) TagSpecifications() WorkspacesTagSpecificationArrayOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesTagSpecificationArrayOutput { return v.TagSpecifications }).(WorkspacesTagSpecificationArrayOutput) +} + +// User Data for Workspace. +func (o WorkspacesOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Workspaces) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) +} + +// VPC related information. +func (o WorkspacesOutput) VirtualPrivateCloud() WorkspacesVirtualPrivateCloudPtrOutput { + return o.ApplyT(func(v *Workspaces) WorkspacesVirtualPrivateCloudPtrOutput { return v.VirtualPrivateCloud }).(WorkspacesVirtualPrivateCloudPtrOutput) +} + +type WorkspacesArrayOutput struct{ *pulumi.OutputState } + +func (WorkspacesArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Workspaces)(nil)).Elem() +} + +func (o WorkspacesArrayOutput) ToWorkspacesArrayOutput() WorkspacesArrayOutput { + return o +} + +func (o WorkspacesArrayOutput) ToWorkspacesArrayOutputWithContext(ctx context.Context) WorkspacesArrayOutput { + return o +} + +func (o WorkspacesArrayOutput) Index(i pulumi.IntInput) WorkspacesOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Workspaces { + return vs[0].([]*Workspaces)[vs[1].(int)] + }).(WorkspacesOutput) +} + +type WorkspacesMapOutput struct{ *pulumi.OutputState } + +func (WorkspacesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Workspaces)(nil)).Elem() +} + +func (o WorkspacesMapOutput) ToWorkspacesMapOutput() WorkspacesMapOutput { + return o +} + +func (o WorkspacesMapOutput) ToWorkspacesMapOutputWithContext(ctx context.Context) WorkspacesMapOutput { + return o +} + +func (o WorkspacesMapOutput) MapIndex(k pulumi.StringInput) WorkspacesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Workspaces { + return vs[0].(map[string]*Workspaces)[vs[1].(string)] + }).(WorkspacesOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesInput)(nil)).Elem(), &Workspaces{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesArrayInput)(nil)).Elem(), WorkspacesArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspacesMapInput)(nil)).Elem(), WorkspacesMap{}) + pulumi.RegisterOutputType(WorkspacesOutput{}) + pulumi.RegisterOutputType(WorkspacesArrayOutput{}) + pulumi.RegisterOutputType(WorkspacesMapOutput{}) +} diff --git a/sdk/go/tencentcloud/vpc/endPoint.go b/sdk/go/tencentcloud/vpc/endPoint.go index ad419afde..2f2c4280d 100644 --- a/sdk/go/tencentcloud/vpc/endPoint.go +++ b/sdk/go/tencentcloud/vpc/endPoint.go @@ -61,6 +61,8 @@ import ( type EndPoint struct { pulumi.CustomResourceState + // CDC instance ID. + CdcId pulumi.StringOutput `pulumi:"cdcId"` // Create Time. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Name of endpoint. @@ -123,6 +125,8 @@ func GetEndPoint(ctx *pulumi.Context, // Input properties used for looking up and filtering EndPoint resources. type endPointState struct { + // CDC instance ID. + CdcId *string `pulumi:"cdcId"` // Create Time. CreateTime *string `pulumi:"createTime"` // Name of endpoint. @@ -144,6 +148,8 @@ type endPointState struct { } type EndPointState struct { + // CDC instance ID. + CdcId pulumi.StringPtrInput // Create Time. CreateTime pulumi.StringPtrInput // Name of endpoint. @@ -286,6 +292,11 @@ func (o EndPointOutput) ToEndPointOutputWithContext(ctx context.Context) EndPoin return o } +// CDC instance ID. +func (o EndPointOutput) CdcId() pulumi.StringOutput { + return o.ApplyT(func(v *EndPoint) pulumi.StringOutput { return v.CdcId }).(pulumi.StringOutput) +} + // Create Time. func (o EndPointOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *EndPoint) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/vpc/endPointService.go b/sdk/go/tencentcloud/vpc/endPointService.go index 3e301ce5a..2f8ca089c 100644 --- a/sdk/go/tencentcloud/vpc/endPointService.go +++ b/sdk/go/tencentcloud/vpc/endPointService.go @@ -58,6 +58,8 @@ type EndPointService struct { // Whether to automatically accept. AutoAcceptFlag pulumi.BoolOutput `pulumi:"autoAcceptFlag"` + // CDC instance ID. + CdcId pulumi.StringOutput `pulumi:"cdcId"` // Create Time. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Count of end point. @@ -120,6 +122,8 @@ func GetEndPointService(ctx *pulumi.Context, type endPointServiceState struct { // Whether to automatically accept. AutoAcceptFlag *bool `pulumi:"autoAcceptFlag"` + // CDC instance ID. + CdcId *string `pulumi:"cdcId"` // Create Time. CreateTime *string `pulumi:"createTime"` // Count of end point. @@ -141,6 +145,8 @@ type endPointServiceState struct { type EndPointServiceState struct { // Whether to automatically accept. AutoAcceptFlag pulumi.BoolPtrInput + // CDC instance ID. + CdcId pulumi.StringPtrInput // Create Time. CreateTime pulumi.StringPtrInput // Count of end point. @@ -282,6 +288,11 @@ func (o EndPointServiceOutput) AutoAcceptFlag() pulumi.BoolOutput { return o.ApplyT(func(v *EndPointService) pulumi.BoolOutput { return v.AutoAcceptFlag }).(pulumi.BoolOutput) } +// CDC instance ID. +func (o EndPointServiceOutput) CdcId() pulumi.StringOutput { + return o.ApplyT(func(v *EndPointService) pulumi.StringOutput { return v.CdcId }).(pulumi.StringOutput) +} + // Create Time. func (o EndPointServiceOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *EndPointService) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/vpc/getSubnets.go b/sdk/go/tencentcloud/vpc/getSubnets.go index 7fa409c50..0ebfaa506 100644 --- a/sdk/go/tencentcloud/vpc/getSubnets.go +++ b/sdk/go/tencentcloud/vpc/getSubnets.go @@ -15,6 +15,8 @@ import ( // // ## Example Usage // +// ### Create subnet resource +// // // ```go // package main @@ -35,15 +37,15 @@ import ( // if param := cfg.Get("availabilityZone"); param != "" { // availabilityZone = param // } -// foo, err := Vpc.NewInstance(ctx, "foo", &Vpc.InstanceArgs{ +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ // CidrBlock: pulumi.String("10.0.0.0/16"), // }) // if err != nil { // return err // } -// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// _, err = Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ // AvailabilityZone: pulumi.String(availabilityZone), -// VpcId: foo.ID(), +// VpcId: vpc.ID(), // CidrBlock: pulumi.String("10.0.20.0/28"), // IsMulticast: pulumi.Bool(false), // Tags: pulumi.Map{ @@ -53,17 +55,42 @@ import ( // if err != nil { // return err // } -// _ = Vpc.GetSubnetsOutput(ctx, vpc.GetSubnetsOutputArgs{ -// SubnetId: subnet.ID(), -// }, nil) -// _ = Vpc.GetSubnetsOutput(ctx, vpc.GetSubnetsOutputArgs{ -// Name: subnet.Name, -// }, nil) -// _ = subnet.Tags.ApplyT(func(tags interface{}) (vpc.GetSubnetsResult, error) { -// return Vpc.GetSubnetsOutput(ctx, vpc.GetSubnetsOutputArgs{ -// Tags: tags, -// }, nil), nil -// }).(vpc.GetSubnetsResultOutput) +// _, err = Subnet.NewInstance(ctx, "subnetCDC", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// CidrBlock: pulumi.String("10.0.0.0/16"), +// CdcId: pulumi.String("cluster-lchwgxhs"), +// AvailabilityZone: pulumi.Any(data.Tencentcloud_availability_zones.Zones.Zones[0].Name), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### Query all subnets +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Vpc.GetSubnets(ctx, nil, nil) +// if err != nil { +// return err +// } // return nil // }) // } @@ -84,6 +111,8 @@ func GetSubnets(ctx *pulumi.Context, args *GetSubnetsArgs, opts ...pulumi.Invoke type GetSubnetsArgs struct { // Zone of the subnet to be queried. AvailabilityZone *string `pulumi:"availabilityZone"` + // ID of CDC instance. + CdcId *string `pulumi:"cdcId"` // Filter subnet with this CIDR. CidrBlock *string `pulumi:"cidrBlock"` // Filter default or no default subnets. @@ -108,6 +137,8 @@ type GetSubnetsArgs struct { type GetSubnetsResult struct { // The availability zone of the subnet. AvailabilityZone *string `pulumi:"availabilityZone"` + // ID of CDC instance. + CdcId *string `pulumi:"cdcId"` // A network address block of the subnet. CidrBlock *string `pulumi:"cidrBlock"` // The provider-assigned unique ID for this managed resource. @@ -146,6 +177,8 @@ func GetSubnetsOutput(ctx *pulumi.Context, args GetSubnetsOutputArgs, opts ...pu type GetSubnetsOutputArgs struct { // Zone of the subnet to be queried. AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // ID of CDC instance. + CdcId pulumi.StringPtrInput `pulumi:"cdcId"` // Filter subnet with this CIDR. CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` // Filter default or no default subnets. @@ -190,6 +223,11 @@ func (o GetSubnetsResultOutput) AvailabilityZone() pulumi.StringPtrOutput { return o.ApplyT(func(v GetSubnetsResult) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) } +// ID of CDC instance. +func (o GetSubnetsResultOutput) CdcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSubnetsResult) *string { return v.CdcId }).(pulumi.StringPtrOutput) +} + // A network address block of the subnet. func (o GetSubnetsResultOutput) CidrBlock() pulumi.StringPtrOutput { return o.ApplyT(func(v GetSubnetsResult) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) diff --git a/sdk/go/tencentcloud/vpc/init.go b/sdk/go/tencentcloud/vpc/init.go index ce2d4f83b..d8d565f9d 100644 --- a/sdk/go/tencentcloud/vpc/init.go +++ b/sdk/go/tencentcloud/vpc/init.go @@ -67,6 +67,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &PeerConnectManager{} case "tencentcloud:Vpc/peerConnectRejectOperation:PeerConnectRejectOperation": r = &PeerConnectRejectOperation{} + case "tencentcloud:Vpc/privateNatGateway:PrivateNatGateway": + r = &PrivateNatGateway{} case "tencentcloud:Vpc/resumeSnapshotInstance:ResumeSnapshotInstance": r = &ResumeSnapshotInstance{} case "tencentcloud:Vpc/snapshotPolicy:SnapshotPolicy": @@ -205,6 +207,11 @@ func init() { "Vpc/peerConnectRejectOperation", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Vpc/privateNatGateway", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Vpc/resumeSnapshotInstance", diff --git a/sdk/go/tencentcloud/vpc/notifyRoutes.go b/sdk/go/tencentcloud/vpc/notifyRoutes.go index 9698d5bfc..9e82ced17 100644 --- a/sdk/go/tencentcloud/vpc/notifyRoutes.go +++ b/sdk/go/tencentcloud/vpc/notifyRoutes.go @@ -18,7 +18,7 @@ type NotifyRoutes struct { // If published to vbc. PublishedToVbc pulumi.BoolOutput `pulumi:"publishedToVbc"` // The unique ID of the routing policy. - RouteItemIds pulumi.StringArrayOutput `pulumi:"routeItemIds"` + RouteItemIds pulumi.StringOutput `pulumi:"routeItemIds"` // The unique ID of the routing table. RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` } @@ -62,7 +62,7 @@ type notifyRoutesState struct { // If published to vbc. PublishedToVbc *bool `pulumi:"publishedToVbc"` // The unique ID of the routing policy. - RouteItemIds []string `pulumi:"routeItemIds"` + RouteItemIds *string `pulumi:"routeItemIds"` // The unique ID of the routing table. RouteTableId *string `pulumi:"routeTableId"` } @@ -71,7 +71,7 @@ type NotifyRoutesState struct { // If published to vbc. PublishedToVbc pulumi.BoolPtrInput // The unique ID of the routing policy. - RouteItemIds pulumi.StringArrayInput + RouteItemIds pulumi.StringPtrInput // The unique ID of the routing table. RouteTableId pulumi.StringPtrInput } @@ -82,7 +82,7 @@ func (NotifyRoutesState) ElementType() reflect.Type { type notifyRoutesArgs struct { // The unique ID of the routing policy. - RouteItemIds []string `pulumi:"routeItemIds"` + RouteItemIds string `pulumi:"routeItemIds"` // The unique ID of the routing table. RouteTableId string `pulumi:"routeTableId"` } @@ -90,7 +90,7 @@ type notifyRoutesArgs struct { // The set of arguments for constructing a NotifyRoutes resource. type NotifyRoutesArgs struct { // The unique ID of the routing policy. - RouteItemIds pulumi.StringArrayInput + RouteItemIds pulumi.StringInput // The unique ID of the routing table. RouteTableId pulumi.StringInput } @@ -188,8 +188,8 @@ func (o NotifyRoutesOutput) PublishedToVbc() pulumi.BoolOutput { } // The unique ID of the routing policy. -func (o NotifyRoutesOutput) RouteItemIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NotifyRoutes) pulumi.StringArrayOutput { return v.RouteItemIds }).(pulumi.StringArrayOutput) +func (o NotifyRoutesOutput) RouteItemIds() pulumi.StringOutput { + return o.ApplyT(func(v *NotifyRoutes) pulumi.StringOutput { return v.RouteItemIds }).(pulumi.StringOutput) } // The unique ID of the routing table. diff --git a/sdk/go/tencentcloud/vpc/privateNatGateway.go b/sdk/go/tencentcloud/vpc/privateNatGateway.go new file mode 100644 index 000000000..49c506411 --- /dev/null +++ b/sdk/go/tencentcloud/vpc/privateNatGateway.go @@ -0,0 +1,316 @@ +// 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 vpc + +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 vpc private nat gateway +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Vpc.NewPrivateNatGateway(ctx, "privateNatGateway", &Vpc.PrivateNatGatewayArgs{ +// NatGatewayName: pulumi.String("xxx"), +// VpcId: pulumi.String("xxx"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// vpc private_nat_gateway can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Vpc/privateNatGateway:PrivateNatGateway private_nat_gateway private_nat_gateway_id +// ``` +type PrivateNatGateway struct { + pulumi.CustomResourceState + + // Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + CcnId pulumi.StringOutput `pulumi:"ccnId"` + // Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + CrossDomain pulumi.BoolOutput `pulumi:"crossDomain"` + // Private network gateway name. + NatGatewayName pulumi.StringOutput `pulumi:"natGatewayName"` + // Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + VpcId pulumi.StringOutput `pulumi:"vpcId"` + // VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + VpcType pulumi.BoolOutput `pulumi:"vpcType"` +} + +// NewPrivateNatGateway registers a new resource with the given unique name, arguments, and options. +func NewPrivateNatGateway(ctx *pulumi.Context, + name string, args *PrivateNatGatewayArgs, opts ...pulumi.ResourceOption) (*PrivateNatGateway, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.NatGatewayName == nil { + return nil, errors.New("invalid value for required argument 'NatGatewayName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource PrivateNatGateway + err := ctx.RegisterResource("tencentcloud:Vpc/privateNatGateway:PrivateNatGateway", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPrivateNatGateway gets an existing PrivateNatGateway 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 GetPrivateNatGateway(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PrivateNatGatewayState, opts ...pulumi.ResourceOption) (*PrivateNatGateway, error) { + var resource PrivateNatGateway + err := ctx.ReadResource("tencentcloud:Vpc/privateNatGateway:PrivateNatGateway", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering PrivateNatGateway resources. +type privateNatGatewayState struct { + // Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + CcnId *string `pulumi:"ccnId"` + // Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + CrossDomain *bool `pulumi:"crossDomain"` + // Private network gateway name. + NatGatewayName *string `pulumi:"natGatewayName"` + // Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + VpcId *string `pulumi:"vpcId"` + // VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + VpcType *bool `pulumi:"vpcType"` +} + +type PrivateNatGatewayState struct { + // Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + CcnId pulumi.StringPtrInput + // Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + CrossDomain pulumi.BoolPtrInput + // Private network gateway name. + NatGatewayName pulumi.StringPtrInput + // Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + VpcId pulumi.StringPtrInput + // VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + VpcType pulumi.BoolPtrInput +} + +func (PrivateNatGatewayState) ElementType() reflect.Type { + return reflect.TypeOf((*privateNatGatewayState)(nil)).Elem() +} + +type privateNatGatewayArgs struct { + // Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + CcnId *string `pulumi:"ccnId"` + // Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + CrossDomain *bool `pulumi:"crossDomain"` + // Private network gateway name. + NatGatewayName string `pulumi:"natGatewayName"` + // Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + VpcId *string `pulumi:"vpcId"` + // VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + VpcType *bool `pulumi:"vpcType"` +} + +// The set of arguments for constructing a PrivateNatGateway resource. +type PrivateNatGatewayArgs struct { + // Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + CcnId pulumi.StringPtrInput + // Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + CrossDomain pulumi.BoolPtrInput + // Private network gateway name. + NatGatewayName pulumi.StringInput + // Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + VpcId pulumi.StringPtrInput + // VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + VpcType pulumi.BoolPtrInput +} + +func (PrivateNatGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*privateNatGatewayArgs)(nil)).Elem() +} + +type PrivateNatGatewayInput interface { + pulumi.Input + + ToPrivateNatGatewayOutput() PrivateNatGatewayOutput + ToPrivateNatGatewayOutputWithContext(ctx context.Context) PrivateNatGatewayOutput +} + +func (*PrivateNatGateway) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateNatGateway)(nil)).Elem() +} + +func (i *PrivateNatGateway) ToPrivateNatGatewayOutput() PrivateNatGatewayOutput { + return i.ToPrivateNatGatewayOutputWithContext(context.Background()) +} + +func (i *PrivateNatGateway) ToPrivateNatGatewayOutputWithContext(ctx context.Context) PrivateNatGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateNatGatewayOutput) +} + +// PrivateNatGatewayArrayInput is an input type that accepts PrivateNatGatewayArray and PrivateNatGatewayArrayOutput values. +// You can construct a concrete instance of `PrivateNatGatewayArrayInput` via: +// +// PrivateNatGatewayArray{ PrivateNatGatewayArgs{...} } +type PrivateNatGatewayArrayInput interface { + pulumi.Input + + ToPrivateNatGatewayArrayOutput() PrivateNatGatewayArrayOutput + ToPrivateNatGatewayArrayOutputWithContext(context.Context) PrivateNatGatewayArrayOutput +} + +type PrivateNatGatewayArray []PrivateNatGatewayInput + +func (PrivateNatGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*PrivateNatGateway)(nil)).Elem() +} + +func (i PrivateNatGatewayArray) ToPrivateNatGatewayArrayOutput() PrivateNatGatewayArrayOutput { + return i.ToPrivateNatGatewayArrayOutputWithContext(context.Background()) +} + +func (i PrivateNatGatewayArray) ToPrivateNatGatewayArrayOutputWithContext(ctx context.Context) PrivateNatGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateNatGatewayArrayOutput) +} + +// PrivateNatGatewayMapInput is an input type that accepts PrivateNatGatewayMap and PrivateNatGatewayMapOutput values. +// You can construct a concrete instance of `PrivateNatGatewayMapInput` via: +// +// PrivateNatGatewayMap{ "key": PrivateNatGatewayArgs{...} } +type PrivateNatGatewayMapInput interface { + pulumi.Input + + ToPrivateNatGatewayMapOutput() PrivateNatGatewayMapOutput + ToPrivateNatGatewayMapOutputWithContext(context.Context) PrivateNatGatewayMapOutput +} + +type PrivateNatGatewayMap map[string]PrivateNatGatewayInput + +func (PrivateNatGatewayMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*PrivateNatGateway)(nil)).Elem() +} + +func (i PrivateNatGatewayMap) ToPrivateNatGatewayMapOutput() PrivateNatGatewayMapOutput { + return i.ToPrivateNatGatewayMapOutputWithContext(context.Background()) +} + +func (i PrivateNatGatewayMap) ToPrivateNatGatewayMapOutputWithContext(ctx context.Context) PrivateNatGatewayMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateNatGatewayMapOutput) +} + +type PrivateNatGatewayOutput struct{ *pulumi.OutputState } + +func (PrivateNatGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateNatGateway)(nil)).Elem() +} + +func (o PrivateNatGatewayOutput) ToPrivateNatGatewayOutput() PrivateNatGatewayOutput { + return o +} + +func (o PrivateNatGatewayOutput) ToPrivateNatGatewayOutputWithContext(ctx context.Context) PrivateNatGatewayOutput { + return o +} + +// Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. +func (o PrivateNatGatewayOutput) CcnId() pulumi.StringOutput { + return o.ApplyT(func(v *PrivateNatGateway) pulumi.StringOutput { return v.CcnId }).(pulumi.StringOutput) +} + +// Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. +func (o PrivateNatGatewayOutput) CrossDomain() pulumi.BoolOutput { + return o.ApplyT(func(v *PrivateNatGateway) pulumi.BoolOutput { return v.CrossDomain }).(pulumi.BoolOutput) +} + +// Private network gateway name. +func (o PrivateNatGatewayOutput) NatGatewayName() pulumi.StringOutput { + return o.ApplyT(func(v *PrivateNatGateway) pulumi.StringOutput { return v.NatGatewayName }).(pulumi.StringOutput) +} + +// Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. +func (o PrivateNatGatewayOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *PrivateNatGateway) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +// VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. +func (o PrivateNatGatewayOutput) VpcType() pulumi.BoolOutput { + return o.ApplyT(func(v *PrivateNatGateway) pulumi.BoolOutput { return v.VpcType }).(pulumi.BoolOutput) +} + +type PrivateNatGatewayArrayOutput struct{ *pulumi.OutputState } + +func (PrivateNatGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*PrivateNatGateway)(nil)).Elem() +} + +func (o PrivateNatGatewayArrayOutput) ToPrivateNatGatewayArrayOutput() PrivateNatGatewayArrayOutput { + return o +} + +func (o PrivateNatGatewayArrayOutput) ToPrivateNatGatewayArrayOutputWithContext(ctx context.Context) PrivateNatGatewayArrayOutput { + return o +} + +func (o PrivateNatGatewayArrayOutput) Index(i pulumi.IntInput) PrivateNatGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PrivateNatGateway { + return vs[0].([]*PrivateNatGateway)[vs[1].(int)] + }).(PrivateNatGatewayOutput) +} + +type PrivateNatGatewayMapOutput struct{ *pulumi.OutputState } + +func (PrivateNatGatewayMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*PrivateNatGateway)(nil)).Elem() +} + +func (o PrivateNatGatewayMapOutput) ToPrivateNatGatewayMapOutput() PrivateNatGatewayMapOutput { + return o +} + +func (o PrivateNatGatewayMapOutput) ToPrivateNatGatewayMapOutputWithContext(ctx context.Context) PrivateNatGatewayMapOutput { + return o +} + +func (o PrivateNatGatewayMapOutput) MapIndex(k pulumi.StringInput) PrivateNatGatewayOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PrivateNatGateway { + return vs[0].(map[string]*PrivateNatGateway)[vs[1].(string)] + }).(PrivateNatGatewayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PrivateNatGatewayInput)(nil)).Elem(), &PrivateNatGateway{}) + pulumi.RegisterInputType(reflect.TypeOf((*PrivateNatGatewayArrayInput)(nil)).Elem(), PrivateNatGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PrivateNatGatewayMapInput)(nil)).Elem(), PrivateNatGatewayMap{}) + pulumi.RegisterOutputType(PrivateNatGatewayOutput{}) + pulumi.RegisterOutputType(PrivateNatGatewayArrayOutput{}) + pulumi.RegisterOutputType(PrivateNatGatewayMapOutput{}) +} diff --git a/sdk/go/tencentcloud/vpc/pulumiTypes.go b/sdk/go/tencentcloud/vpc/pulumiTypes.go index a376fbedf..6661d61d8 100644 --- a/sdk/go/tencentcloud/vpc/pulumiTypes.go +++ b/sdk/go/tencentcloud/vpc/pulumiTypes.go @@ -6262,6 +6262,8 @@ type GetSubnetsInstanceList struct { AvailabilityZone string `pulumi:"availabilityZone"` // The number of available IPs. AvailableIpCount int `pulumi:"availableIpCount"` + // ID of CDC instance. + CdcId string `pulumi:"cdcId"` // Filter subnet with this CIDR. CidrBlock string `pulumi:"cidrBlock"` // Creation time of the subnet resource. @@ -6298,6 +6300,8 @@ type GetSubnetsInstanceListArgs struct { AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"` // The number of available IPs. AvailableIpCount pulumi.IntInput `pulumi:"availableIpCount"` + // ID of CDC instance. + CdcId pulumi.StringInput `pulumi:"cdcId"` // Filter subnet with this CIDR. CidrBlock pulumi.StringInput `pulumi:"cidrBlock"` // Creation time of the subnet resource. @@ -6379,6 +6383,11 @@ func (o GetSubnetsInstanceListOutput) AvailableIpCount() pulumi.IntOutput { return o.ApplyT(func(v GetSubnetsInstanceList) int { return v.AvailableIpCount }).(pulumi.IntOutput) } +// ID of CDC instance. +func (o GetSubnetsInstanceListOutput) CdcId() pulumi.StringOutput { + return o.ApplyT(func(v GetSubnetsInstanceList) string { return v.CdcId }).(pulumi.StringOutput) +} + // Filter subnet with this CIDR. func (o GetSubnetsInstanceListOutput) CidrBlock() pulumi.StringOutput { return o.ApplyT(func(v GetSubnetsInstanceList) string { return v.CidrBlock }).(pulumi.StringOutput) diff --git a/sdk/nodejs/as/index.ts b/sdk/nodejs/as/index.ts index 12eb5f76b..b07422c37 100644 --- a/sdk/nodejs/as/index.ts +++ b/sdk/nodejs/as/index.ts @@ -115,6 +115,11 @@ export type Schedule = import("./schedule").Schedule; export const Schedule: typeof import("./schedule").Schedule = null as any; utilities.lazyLoad(exports, ["Schedule"], () => require("./schedule")); +export { StartInstanceRefreshArgs, StartInstanceRefreshState } from "./startInstanceRefresh"; +export type StartInstanceRefresh = import("./startInstanceRefresh").StartInstanceRefresh; +export const StartInstanceRefresh: typeof import("./startInstanceRefresh").StartInstanceRefresh = null as any; +utilities.lazyLoad(exports, ["StartInstanceRefresh"], () => require("./startInstanceRefresh")); + export { StartInstancesArgs, StartInstancesState } from "./startInstances"; export type StartInstances = import("./startInstances").StartInstances; export const StartInstances: typeof import("./startInstances").StartInstances = null as any; @@ -160,6 +165,8 @@ const _module = { return new ScalingPolicy(name, undefined, { urn }) case "tencentcloud:As/schedule:Schedule": return new Schedule(name, undefined, { urn }) + case "tencentcloud:As/startInstanceRefresh:StartInstanceRefresh": + return new StartInstanceRefresh(name, undefined, { urn }) case "tencentcloud:As/startInstances:StartInstances": return new StartInstances(name, undefined, { urn }) case "tencentcloud:As/stopInstances:StopInstances": @@ -184,5 +191,6 @@ pulumi.runtime.registerResourceModule("tencentcloud", "As/scalingGroup", _module pulumi.runtime.registerResourceModule("tencentcloud", "As/scalingGroupStatus", _module) pulumi.runtime.registerResourceModule("tencentcloud", "As/scalingPolicy", _module) pulumi.runtime.registerResourceModule("tencentcloud", "As/schedule", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "As/startInstanceRefresh", _module) pulumi.runtime.registerResourceModule("tencentcloud", "As/startInstances", _module) pulumi.runtime.registerResourceModule("tencentcloud", "As/stopInstances", _module) diff --git a/sdk/nodejs/as/lifecycleHook.ts b/sdk/nodejs/as/lifecycleHook.ts index 6129fef82..a61fdd08b 100644 --- a/sdk/nodejs/as/lifecycleHook.ts +++ b/sdk/nodejs/as/lifecycleHook.ts @@ -2,6 +2,8 @@ // *** 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"; /** @@ -97,6 +99,34 @@ import * as utilities from "../utilities"; * }); * ``` * + * + * ### Use TAT Command + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.as.LifecycleHook("example", { + * defaultResult: "CONTINUE", + * heartbeatTimeout: 300, + * lifecycleHookName: "test", + * lifecycleTransition: "INSTANCE_TERMINATING", + * scalingGroupId: tencentcloud_as_scaling_group.example.id, + * lifecycleCommand: { + * commandId: "cmd-xxxx", + * }, + * }); + * ``` + * + * + * ## Import + * + * lifecycle hook can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:As/lifecycleHook:LifecycleHook example lifecycle_hook_id + * ``` */ export class LifecycleHook extends pulumi.CustomResource { /** @@ -134,6 +164,10 @@ export class LifecycleHook extends pulumi.CustomResource { * Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. */ public readonly heartbeatTimeout!: pulumi.Output; + /** + * Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + */ + public readonly lifecycleCommand!: pulumi.Output; /** * The name of the lifecycle hook. */ @@ -151,7 +185,7 @@ export class LifecycleHook extends pulumi.CustomResource { */ public readonly notificationQueueName!: pulumi.Output; /** - * Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + * Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. */ public readonly notificationTargetType!: pulumi.Output; /** @@ -178,6 +212,7 @@ export class LifecycleHook extends pulumi.CustomResource { const state = argsOrState as LifecycleHookState | undefined; resourceInputs["defaultResult"] = state ? state.defaultResult : undefined; resourceInputs["heartbeatTimeout"] = state ? state.heartbeatTimeout : undefined; + resourceInputs["lifecycleCommand"] = state ? state.lifecycleCommand : undefined; resourceInputs["lifecycleHookName"] = state ? state.lifecycleHookName : undefined; resourceInputs["lifecycleTransition"] = state ? state.lifecycleTransition : undefined; resourceInputs["notificationMetadata"] = state ? state.notificationMetadata : undefined; @@ -198,6 +233,7 @@ export class LifecycleHook extends pulumi.CustomResource { } resourceInputs["defaultResult"] = args ? args.defaultResult : undefined; resourceInputs["heartbeatTimeout"] = args ? args.heartbeatTimeout : undefined; + resourceInputs["lifecycleCommand"] = args ? args.lifecycleCommand : undefined; resourceInputs["lifecycleHookName"] = args ? args.lifecycleHookName : undefined; resourceInputs["lifecycleTransition"] = args ? args.lifecycleTransition : undefined; resourceInputs["notificationMetadata"] = args ? args.notificationMetadata : undefined; @@ -223,6 +259,10 @@ export interface LifecycleHookState { * Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. */ heartbeatTimeout?: pulumi.Input; + /** + * Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + */ + lifecycleCommand?: pulumi.Input; /** * The name of the lifecycle hook. */ @@ -240,7 +280,7 @@ export interface LifecycleHookState { */ notificationQueueName?: pulumi.Input; /** - * Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + * Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. */ notificationTargetType?: pulumi.Input; /** @@ -265,6 +305,10 @@ export interface LifecycleHookArgs { * Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. */ heartbeatTimeout?: pulumi.Input; + /** + * Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + */ + lifecycleCommand?: pulumi.Input; /** * The name of the lifecycle hook. */ @@ -282,7 +326,7 @@ export interface LifecycleHookArgs { */ notificationQueueName?: pulumi.Input; /** - * Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + * Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. */ notificationTargetType?: pulumi.Input; /** diff --git a/sdk/nodejs/as/scalingGroup.ts b/sdk/nodejs/as/scalingGroup.ts index 9f795b9a1..94a396773 100644 --- a/sdk/nodejs/as/scalingGroup.ts +++ b/sdk/nodejs/as/scalingGroup.ts @@ -52,6 +52,9 @@ import * as utilities from "../utilities"; * minSize: 0, * vpcId: vpc.id, * subnetIds: [subnet.id], + * healthCheckType: "CLB", + * replaceLoadBalancerUnhealthy: true, + * lbHealthCheckGracePeriod: 30, * }); * ``` * @@ -112,10 +115,18 @@ export class ScalingGroup extends pulumi.CustomResource { * List of application load balancers, which can't be specified with `loadBalancerIds` together. */ public readonly forwardBalancerIds!: pulumi.Output; + /** + * Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + */ + public readonly healthCheckType!: pulumi.Output; /** * Instance number of a scaling group. */ public /*out*/ readonly instanceCount!: pulumi.Output; + /** + * Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + */ + public readonly lbHealthCheckGracePeriod!: pulumi.Output; /** * ID list of traditional load balancers. */ @@ -199,7 +210,9 @@ export class ScalingGroup extends pulumi.CustomResource { resourceInputs["defaultCooldown"] = state ? state.defaultCooldown : undefined; resourceInputs["desiredCapacity"] = state ? state.desiredCapacity : undefined; resourceInputs["forwardBalancerIds"] = state ? state.forwardBalancerIds : undefined; + resourceInputs["healthCheckType"] = state ? state.healthCheckType : undefined; resourceInputs["instanceCount"] = state ? state.instanceCount : undefined; + resourceInputs["lbHealthCheckGracePeriod"] = state ? state.lbHealthCheckGracePeriod : undefined; resourceInputs["loadBalancerIds"] = state ? state.loadBalancerIds : undefined; resourceInputs["maxSize"] = state ? state.maxSize : undefined; resourceInputs["minSize"] = state ? state.minSize : undefined; @@ -237,6 +250,8 @@ export class ScalingGroup extends pulumi.CustomResource { resourceInputs["defaultCooldown"] = args ? args.defaultCooldown : undefined; resourceInputs["desiredCapacity"] = args ? args.desiredCapacity : undefined; resourceInputs["forwardBalancerIds"] = args ? args.forwardBalancerIds : undefined; + resourceInputs["healthCheckType"] = args ? args.healthCheckType : undefined; + resourceInputs["lbHealthCheckGracePeriod"] = args ? args.lbHealthCheckGracePeriod : undefined; resourceInputs["loadBalancerIds"] = args ? args.loadBalancerIds : undefined; resourceInputs["maxSize"] = args ? args.maxSize : undefined; resourceInputs["minSize"] = args ? args.minSize : undefined; @@ -285,10 +300,18 @@ export interface ScalingGroupState { * List of application load balancers, which can't be specified with `loadBalancerIds` together. */ forwardBalancerIds?: pulumi.Input[]>; + /** + * Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + */ + healthCheckType?: pulumi.Input; /** * Instance number of a scaling group. */ instanceCount?: pulumi.Input; + /** + * Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + */ + lbHealthCheckGracePeriod?: pulumi.Input; /** * ID list of traditional load balancers. */ @@ -375,6 +398,14 @@ export interface ScalingGroupArgs { * List of application load balancers, which can't be specified with `loadBalancerIds` together. */ forwardBalancerIds?: pulumi.Input[]>; + /** + * Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + */ + healthCheckType?: pulumi.Input; + /** + * Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + */ + lbHealthCheckGracePeriod?: pulumi.Input; /** * ID list of traditional load balancers. */ diff --git a/sdk/nodejs/as/startInstanceRefresh.ts b/sdk/nodejs/as/startInstanceRefresh.ts new file mode 100644 index 000000000..13f3134c2 --- /dev/null +++ b/sdk/nodejs/as/startInstanceRefresh.ts @@ -0,0 +1,141 @@ +// *** 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 as instance refresh + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.as.StartInstanceRefresh("example", { + * autoScalingGroupId: "asg-9dn1a5y6", + * refreshMode: "ROLLING_UPDATE_RESET", + * refreshSettings: { + * checkInstanceTargetHealth: false, + * rollingUpdateSettings: { + * batchNumber: 1, + * batchPause: "AUTOMATIC", + * }, + * }, + * }); + * ``` + * + */ +export class StartInstanceRefresh extends pulumi.CustomResource { + /** + * Get an existing StartInstanceRefresh 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?: StartInstanceRefreshState, opts?: pulumi.CustomResourceOptions): StartInstanceRefresh { + return new StartInstanceRefresh(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:As/startInstanceRefresh:StartInstanceRefresh'; + + /** + * Returns true if the given object is an instance of StartInstanceRefresh. 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 StartInstanceRefresh { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === StartInstanceRefresh.__pulumiType; + } + + /** + * Scaling group ID. + */ + public readonly autoScalingGroupId!: pulumi.Output; + /** + * Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + */ + public readonly refreshMode!: pulumi.Output; + /** + * Refresh settings. + */ + public readonly refreshSettings!: pulumi.Output; + + /** + * Create a StartInstanceRefresh 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: StartInstanceRefreshArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: StartInstanceRefreshArgs | StartInstanceRefreshState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as StartInstanceRefreshState | undefined; + resourceInputs["autoScalingGroupId"] = state ? state.autoScalingGroupId : undefined; + resourceInputs["refreshMode"] = state ? state.refreshMode : undefined; + resourceInputs["refreshSettings"] = state ? state.refreshSettings : undefined; + } else { + const args = argsOrState as StartInstanceRefreshArgs | undefined; + if ((!args || args.autoScalingGroupId === undefined) && !opts.urn) { + throw new Error("Missing required property 'autoScalingGroupId'"); + } + if ((!args || args.refreshSettings === undefined) && !opts.urn) { + throw new Error("Missing required property 'refreshSettings'"); + } + resourceInputs["autoScalingGroupId"] = args ? args.autoScalingGroupId : undefined; + resourceInputs["refreshMode"] = args ? args.refreshMode : undefined; + resourceInputs["refreshSettings"] = args ? args.refreshSettings : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(StartInstanceRefresh.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering StartInstanceRefresh resources. + */ +export interface StartInstanceRefreshState { + /** + * Scaling group ID. + */ + autoScalingGroupId?: pulumi.Input; + /** + * Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + */ + refreshMode?: pulumi.Input; + /** + * Refresh settings. + */ + refreshSettings?: pulumi.Input; +} + +/** + * The set of arguments for constructing a StartInstanceRefresh resource. + */ +export interface StartInstanceRefreshArgs { + /** + * Scaling group ID. + */ + autoScalingGroupId: pulumi.Input; + /** + * Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + */ + refreshMode?: pulumi.Input; + /** + * Refresh settings. + */ + refreshSettings: pulumi.Input; +} diff --git a/sdk/nodejs/audit/getEvents.ts b/sdk/nodejs/audit/getEvents.ts new file mode 100644 index 000000000..e362c2cc8 --- /dev/null +++ b/sdk/nodejs/audit/getEvents.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"; + +/** + * Use this data source to query the events list supported by the audit. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const events = tencentcloud.Audit.getEvents({ + * endTime: 1727437441, + * isReturnLocation: 1, + * lookupAttributes: [ + * { + * attributeKey: "ResourceType", + * attributeValue: "cvm", + * }, + * { + * attributeKey: "OnlyRecordNotSeen", + * attributeValue: "0", + * }, + * { + * attributeKey: "EventPlatform", + * attributeValue: "0", + * }, + * ], + * maxResults: 50, + * startTime: 1727433841, + * }); + * ``` + * + */ +export function getEvents(args: GetEventsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Audit/getEvents:getEvents", { + "endTime": args.endTime, + "isReturnLocation": args.isReturnLocation, + "lookupAttributes": args.lookupAttributes, + "maxResults": args.maxResults, + "resultOutputFile": args.resultOutputFile, + "startTime": args.startTime, + }, opts); +} + +/** + * A collection of arguments for invoking getEvents. + */ +export interface GetEventsArgs { + /** + * End timestamp in seconds (the time range for query is less than 30 days). + */ + endTime: number; + /** + * Whether to return the IP location. `1`: yes, `0`: no. + */ + isReturnLocation?: number; + /** + * Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + */ + lookupAttributes?: inputs.Audit.GetEventsLookupAttribute[]; + /** + * Max number of returned logs (up to 50). + */ + maxResults?: number; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Start timestamp in seconds (cannot be 90 days after the current time). + */ + startTime: number; +} + +/** + * A collection of values returned by getEvents. + */ +export interface GetEventsResult { + readonly endTime: number; + /** + * Logset. Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + readonly events: outputs.Audit.GetEventsEvent[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly isReturnLocation?: number; + readonly lookupAttributes?: outputs.Audit.GetEventsLookupAttribute[]; + readonly maxResults?: number; + readonly resultOutputFile?: string; + readonly startTime: number; +} +/** + * Use this data source to query the events list supported by the audit. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const events = tencentcloud.Audit.getEvents({ + * endTime: 1727437441, + * isReturnLocation: 1, + * lookupAttributes: [ + * { + * attributeKey: "ResourceType", + * attributeValue: "cvm", + * }, + * { + * attributeKey: "OnlyRecordNotSeen", + * attributeValue: "0", + * }, + * { + * attributeKey: "EventPlatform", + * attributeValue: "0", + * }, + * ], + * maxResults: 50, + * startTime: 1727433841, + * }); + * ``` + * + */ +export function getEventsOutput(args: GetEventsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getEvents(a, opts)) +} + +/** + * A collection of arguments for invoking getEvents. + */ +export interface GetEventsOutputArgs { + /** + * End timestamp in seconds (the time range for query is less than 30 days). + */ + endTime: pulumi.Input; + /** + * Whether to return the IP location. `1`: yes, `0`: no. + */ + isReturnLocation?: pulumi.Input; + /** + * Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + */ + lookupAttributes?: pulumi.Input[]>; + /** + * Max number of returned logs (up to 50). + */ + maxResults?: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Start timestamp in seconds (cannot be 90 days after the current time). + */ + startTime: pulumi.Input; +} diff --git a/sdk/nodejs/audit/index.ts b/sdk/nodejs/audit/index.ts index 2cc0e646c..a21ca35bd 100644 --- a/sdk/nodejs/audit/index.ts +++ b/sdk/nodejs/audit/index.ts @@ -10,6 +10,11 @@ export const getCosRegions: typeof import("./getCosRegions").getCosRegions = nul export const getCosRegionsOutput: typeof import("./getCosRegions").getCosRegionsOutput = null as any; utilities.lazyLoad(exports, ["getCosRegions","getCosRegionsOutput"], () => require("./getCosRegions")); +export { GetEventsArgs, GetEventsResult, GetEventsOutputArgs } from "./getEvents"; +export const getEvents: typeof import("./getEvents").getEvents = null as any; +export const getEventsOutput: typeof import("./getEvents").getEventsOutput = null as any; +utilities.lazyLoad(exports, ["getEvents","getEventsOutput"], () => require("./getEvents")); + export { GetKeyAliasArgs, GetKeyAliasResult, GetKeyAliasOutputArgs } from "./getKeyAlias"; export const getKeyAlias: typeof import("./getKeyAlias").getKeyAlias = null as any; export const getKeyAliasOutput: typeof import("./getKeyAlias").getKeyAliasOutput = null as any; diff --git a/sdk/nodejs/batch/applyAccountBaselines.ts b/sdk/nodejs/batch/applyAccountBaselines.ts new file mode 100644 index 000000000..2fd235e51 --- /dev/null +++ b/sdk/nodejs/batch/applyAccountBaselines.ts @@ -0,0 +1,126 @@ +// *** 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 controlcenter batch apply account baselines + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.batch.ApplyAccountBaselines("example", { + * baselineConfigItems: [{ + * configuration: "{\"Images\":[{\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-mcdsiqrx\",\"ImageName\":\"demo1\"}, {\"Region\":\"ap-guangzhou\",\"ImageId\":\"img-esxgkots\",\"ImageName\":\"demo2\"}]}", + * identifier: "TCC-AF_SHARE_IMAGE", + * }], + * memberUinLists: [ + * 10037652245, + * 10037652240, + * ], + * }); + * ``` + * + */ +export class ApplyAccountBaselines extends pulumi.CustomResource { + /** + * Get an existing ApplyAccountBaselines 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?: ApplyAccountBaselinesState, opts?: pulumi.CustomResourceOptions): ApplyAccountBaselines { + return new ApplyAccountBaselines(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines'; + + /** + * Returns true if the given object is an instance of ApplyAccountBaselines. 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 ApplyAccountBaselines { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ApplyAccountBaselines.__pulumiType; + } + + /** + * List of baseline item configuration information. + */ + public readonly baselineConfigItems!: pulumi.Output; + /** + * Member account UIN, which is also the UIN of the account to which the baseline is applied. + */ + public readonly memberUinLists!: pulumi.Output; + + /** + * Create a ApplyAccountBaselines 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: ApplyAccountBaselinesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ApplyAccountBaselinesArgs | ApplyAccountBaselinesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ApplyAccountBaselinesState | undefined; + resourceInputs["baselineConfigItems"] = state ? state.baselineConfigItems : undefined; + resourceInputs["memberUinLists"] = state ? state.memberUinLists : undefined; + } else { + const args = argsOrState as ApplyAccountBaselinesArgs | undefined; + if ((!args || args.baselineConfigItems === undefined) && !opts.urn) { + throw new Error("Missing required property 'baselineConfigItems'"); + } + if ((!args || args.memberUinLists === undefined) && !opts.urn) { + throw new Error("Missing required property 'memberUinLists'"); + } + resourceInputs["baselineConfigItems"] = args ? args.baselineConfigItems : undefined; + resourceInputs["memberUinLists"] = args ? args.memberUinLists : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ApplyAccountBaselines.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ApplyAccountBaselines resources. + */ +export interface ApplyAccountBaselinesState { + /** + * List of baseline item configuration information. + */ + baselineConfigItems?: pulumi.Input[]>; + /** + * Member account UIN, which is also the UIN of the account to which the baseline is applied. + */ + memberUinLists?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a ApplyAccountBaselines resource. + */ +export interface ApplyAccountBaselinesArgs { + /** + * List of baseline item configuration information. + */ + baselineConfigItems: pulumi.Input[]>; + /** + * Member account UIN, which is also the UIN of the account to which the baseline is applied. + */ + memberUinLists: pulumi.Input[]>; +} diff --git a/sdk/nodejs/batch/index.ts b/sdk/nodejs/batch/index.ts new file mode 100644 index 000000000..fd17cc644 --- /dev/null +++ b/sdk/nodejs/batch/index.ts @@ -0,0 +1,25 @@ +// *** 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"; + +// Export members: +export { ApplyAccountBaselinesArgs, ApplyAccountBaselinesState } from "./applyAccountBaselines"; +export type ApplyAccountBaselines = import("./applyAccountBaselines").ApplyAccountBaselines; +export const ApplyAccountBaselines: typeof import("./applyAccountBaselines").ApplyAccountBaselines = null as any; +utilities.lazyLoad(exports, ["ApplyAccountBaselines"], () => require("./applyAccountBaselines")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines": + return new ApplyAccountBaselines(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Batch/applyAccountBaselines", _module) diff --git a/sdk/nodejs/cbs/getStorages.ts b/sdk/nodejs/cbs/getStorages.ts index 281edb6d8..0295180de 100644 --- a/sdk/nodejs/cbs/getStorages.ts +++ b/sdk/nodejs/cbs/getStorages.ts @@ -11,14 +11,40 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Query all CBS storages + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cbs.getStorages({}); + * ``` + * + * + * ### Query CBS by storage id + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@pulumi/tencentcloud"; * - * const storages = tencentcloud.Cbs.getStorages({ - * resultOutputFile: "mytestpath", - * storageId: "disk-kdt0sq6m", + * const example = tencentcloud.Cbs.getStorages({ + * resultOutputFile: "my-test-path", + * storageId: "disk-6goq404g", + * }); + * ``` + * + * + * ### Query CBS by dedicated cluster id + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cbs.getStorages({ + * dedicatedClusterId: "cluster-262n63e8", * }); * ``` * @@ -34,12 +60,14 @@ import * as utilities from "../utilities"; * chargeTypes: [ * "POSTPAID_BY_HOUR", * "PREPAID", + * "CDCPAID", + * "DEDICATED_CLUSTER_PAID", * ], * instanceIps: ["10.0.0.2"], * instanceNames: ["my-instance"], * portable: true, * storageStates: ["ATTACHED"], - * tagKeys: ["foo"], + * tagKeys: ["example"], * tagValues: [ * "bar", * "baz", @@ -55,6 +83,7 @@ export function getStorages(args?: GetStoragesArgs, opts?: pulumi.InvokeOptions) return pulumi.runtime.invoke("tencentcloud:Cbs/getStorages:getStorages", { "availabilityZone": args.availabilityZone, "chargeTypes": args.chargeTypes, + "dedicatedClusterId": args.dedicatedClusterId, "instanceIps": args.instanceIps, "instanceNames": args.instanceNames, "portable": args.portable, @@ -79,9 +108,13 @@ export interface GetStoragesArgs { */ availabilityZone?: string; /** - * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). */ chargeTypes?: string[]; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: string; /** * List filter by attached instance public or private IPs. */ @@ -144,6 +177,10 @@ export interface GetStoragesResult { * Pay type of the CBS instance. */ readonly chargeTypes?: string[]; + /** + * Exclusive cluster id. + */ + readonly dedicatedClusterId?: string; /** * The provider-assigned unique ID for this managed resource. */ @@ -185,14 +222,40 @@ export interface GetStoragesResult { * * ## Example Usage * + * ### Query all CBS storages + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cbs.getStorages({}); + * ``` + * + * + * ### Query CBS by storage id + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@pulumi/tencentcloud"; * - * const storages = tencentcloud.Cbs.getStorages({ - * resultOutputFile: "mytestpath", - * storageId: "disk-kdt0sq6m", + * const example = tencentcloud.Cbs.getStorages({ + * resultOutputFile: "my-test-path", + * storageId: "disk-6goq404g", + * }); + * ``` + * + * + * ### Query CBS by dedicated cluster id + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cbs.getStorages({ + * dedicatedClusterId: "cluster-262n63e8", * }); * ``` * @@ -208,12 +271,14 @@ export interface GetStoragesResult { * chargeTypes: [ * "POSTPAID_BY_HOUR", * "PREPAID", + * "CDCPAID", + * "DEDICATED_CLUSTER_PAID", * ], * instanceIps: ["10.0.0.2"], * instanceNames: ["my-instance"], * portable: true, * storageStates: ["ATTACHED"], - * tagKeys: ["foo"], + * tagKeys: ["example"], * tagValues: [ * "bar", * "baz", @@ -235,9 +300,13 @@ export interface GetStoragesOutputArgs { */ availabilityZone?: pulumi.Input; /** - * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). */ chargeTypes?: pulumi.Input[]>; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * List filter by attached instance public or private IPs. */ diff --git a/sdk/nodejs/cbs/getStoragesSet.ts b/sdk/nodejs/cbs/getStoragesSet.ts index 246e19a5e..989ae3c45 100644 --- a/sdk/nodejs/cbs/getStoragesSet.ts +++ b/sdk/nodejs/cbs/getStoragesSet.ts @@ -11,12 +11,14 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Query CBS by storage set by zone + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@pulumi/tencentcloud"; * - * const storages = tencentcloud.Cbs.getStoragesSet({ + * const example = tencentcloud.Cbs.getStoragesSet({ * availabilityZone: "ap-guangzhou-3", * }); * ``` @@ -29,6 +31,7 @@ export function getStoragesSet(args?: GetStoragesSetArgs, opts?: pulumi.InvokeOp return pulumi.runtime.invoke("tencentcloud:Cbs/getStoragesSet:getStoragesSet", { "availabilityZone": args.availabilityZone, "chargeTypes": args.chargeTypes, + "dedicatedClusterId": args.dedicatedClusterId, "instanceIps": args.instanceIps, "instanceNames": args.instanceNames, "portable": args.portable, @@ -53,9 +56,13 @@ export interface GetStoragesSetArgs { */ availabilityZone?: string; /** - * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). */ chargeTypes?: string[]; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: string; /** * List filter by attached instance public or private IPs. */ @@ -118,6 +125,10 @@ export interface GetStoragesSetResult { * Pay type of the CBS instance. */ readonly chargeTypes?: string[]; + /** + * Exclusive cluster id. + */ + readonly dedicatedClusterId?: string; /** * The provider-assigned unique ID for this managed resource. */ @@ -159,12 +170,14 @@ export interface GetStoragesSetResult { * * ## Example Usage * + * ### Query CBS by storage set by zone + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@pulumi/tencentcloud"; * - * const storages = tencentcloud.Cbs.getStoragesSet({ + * const example = tencentcloud.Cbs.getStoragesSet({ * availabilityZone: "ap-guangzhou-3", * }); * ``` @@ -183,9 +196,13 @@ export interface GetStoragesSetOutputArgs { */ availabilityZone?: pulumi.Input; /** - * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). */ chargeTypes?: pulumi.Input[]>; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * List filter by attached instance public or private IPs. */ diff --git a/sdk/nodejs/cbs/storage.ts b/sdk/nodejs/cbs/storage.ts index d7a0215ec..94cf8c762 100644 --- a/sdk/nodejs/cbs/storage.ts +++ b/sdk/nodejs/cbs/storage.ts @@ -5,24 +5,49 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a resource to create a CBS. + * Provides a resource to create a CBS storage. * * ## Example Usage * + * ### Create a standard CBS storage + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const storage = new tencentcloud.cbs.Storage("storage", { + * const example = new tencentcloud.cbs.Storage("example", { * availabilityZone: "ap-guangzhou-3", * encrypt: false, * projectId: 0, - * storageName: "mystorage", + * storageName: "tf-example", * storageSize: 100, * storageType: "CLOUD_SSD", * tags: { - * test: "tf", + * createBy: "terraform", + * }, + * }); + * ``` + * + * + * ### Create a dedicated cluster CBS storage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.cbs.Storage("example", { + * availabilityZone: "ap-guangzhou-4", + * chargeType: "DEDICATED_CLUSTER_PAID", + * dedicatedClusterId: "cluster-262n63e8", + * encrypt: false, + * projectId: 0, + * storageName: "tf-example", + * storageSize: 100, + * storageType: "CLOUD_SSD", + * tags: { + * createBy: "terraform", * }, * }); * ``` @@ -33,7 +58,7 @@ import * as utilities from "../utilities"; * CBS storage can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Cbs/storage:Storage storage disk-41s6jwy4 + * $ pulumi import tencentcloud:Cbs/storage:Storage example disk-41s6jwy4 * ``` */ export class Storage extends pulumi.CustomResource { @@ -73,9 +98,13 @@ export class Storage extends pulumi.CustomResource { */ public readonly availabilityZone!: pulumi.Output; /** - * The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + * The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. */ public readonly chargeType!: pulumi.Output; + /** + * Exclusive cluster id. + */ + public readonly dedicatedClusterId!: pulumi.Output; /** * The quota of backup points of cloud disk. */ @@ -151,6 +180,7 @@ export class Storage extends pulumi.CustomResource { resourceInputs["attached"] = state ? state.attached : undefined; resourceInputs["availabilityZone"] = state ? state.availabilityZone : undefined; resourceInputs["chargeType"] = state ? state.chargeType : undefined; + resourceInputs["dedicatedClusterId"] = state ? state.dedicatedClusterId : undefined; resourceInputs["diskBackupQuota"] = state ? state.diskBackupQuota : undefined; resourceInputs["encrypt"] = state ? state.encrypt : undefined; resourceInputs["forceDelete"] = state ? state.forceDelete : undefined; @@ -181,6 +211,7 @@ export class Storage extends pulumi.CustomResource { } resourceInputs["availabilityZone"] = args ? args.availabilityZone : undefined; resourceInputs["chargeType"] = args ? args.chargeType : undefined; + resourceInputs["dedicatedClusterId"] = args ? args.dedicatedClusterId : undefined; resourceInputs["diskBackupQuota"] = args ? args.diskBackupQuota : undefined; resourceInputs["encrypt"] = args ? args.encrypt : undefined; resourceInputs["forceDelete"] = args ? args.forceDelete : undefined; @@ -215,9 +246,13 @@ export interface StorageState { */ availabilityZone?: pulumi.Input; /** - * The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + * The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. */ chargeType?: pulumi.Input; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * The quota of backup points of cloud disk. */ @@ -287,9 +322,13 @@ export interface StorageArgs { */ availabilityZone: pulumi.Input; /** - * The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + * The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. */ chargeType?: pulumi.Input; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * The quota of backup points of cloud disk. */ diff --git a/sdk/nodejs/cbs/storageSet.ts b/sdk/nodejs/cbs/storageSet.ts index d3d7c086d..a4a69431f 100644 --- a/sdk/nodejs/cbs/storageSet.ts +++ b/sdk/nodejs/cbs/storageSet.ts @@ -9,17 +9,40 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Create 3 standard CBS storages + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const storage = new tencentcloud.cbs.StorageSet("storage", { + * const example = new tencentcloud.cbs.StorageSet("example", { * availabilityZone: "ap-guangzhou-3", - * diskCount: 10, + * diskCount: 3, * encrypt: false, * projectId: 0, - * storageName: "mystorage", + * storageName: "tf-example", + * storageSize: 100, + * storageType: "CLOUD_SSD", + * }); + * ``` + * + * + * ### Create 3 dedicated cluster CBS storages + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.cbs.StorageSet("example", { + * availabilityZone: "ap-guangzhou-4", + * chargeType: "DEDICATED_CLUSTER_PAID", + * dedicatedClusterId: "cluster-262n63e8", + * diskCount: 3, + * encrypt: false, + * projectId: 0, + * storageName: "tf-example", * storageSize: 100, * storageType: "CLOUD_SSD", * }); @@ -63,9 +86,13 @@ export class StorageSet extends pulumi.CustomResource { */ public readonly availabilityZone!: pulumi.Output; /** - * The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + * The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. */ public readonly chargeType!: pulumi.Output; + /** + * Exclusive cluster id. + */ + public readonly dedicatedClusterId!: pulumi.Output; /** * The number of disks to be purchased. Default 1. */ @@ -123,6 +150,7 @@ export class StorageSet extends pulumi.CustomResource { resourceInputs["attached"] = state ? state.attached : undefined; resourceInputs["availabilityZone"] = state ? state.availabilityZone : undefined; resourceInputs["chargeType"] = state ? state.chargeType : undefined; + resourceInputs["dedicatedClusterId"] = state ? state.dedicatedClusterId : undefined; resourceInputs["diskCount"] = state ? state.diskCount : undefined; resourceInputs["diskIds"] = state ? state.diskIds : undefined; resourceInputs["encrypt"] = state ? state.encrypt : undefined; @@ -149,6 +177,7 @@ export class StorageSet extends pulumi.CustomResource { } resourceInputs["availabilityZone"] = args ? args.availabilityZone : undefined; resourceInputs["chargeType"] = args ? args.chargeType : undefined; + resourceInputs["dedicatedClusterId"] = args ? args.dedicatedClusterId : undefined; resourceInputs["diskCount"] = args ? args.diskCount : undefined; resourceInputs["encrypt"] = args ? args.encrypt : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; @@ -179,9 +208,13 @@ export interface StorageSetState { */ availabilityZone?: pulumi.Input; /** - * The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + * The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. */ chargeType?: pulumi.Input; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * The number of disks to be purchased. Default 1. */ @@ -233,9 +266,13 @@ export interface StorageSetArgs { */ availabilityZone: pulumi.Input; /** - * The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + * The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. */ chargeType?: pulumi.Input; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * The number of disks to be purchased. Default 1. */ diff --git a/sdk/nodejs/ccn/attachment.ts b/sdk/nodejs/ccn/attachment.ts index 44033c0af..ecb259b6d 100644 --- a/sdk/nodejs/ccn/attachment.ts +++ b/sdk/nodejs/ccn/attachment.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Only Attachment instance + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -16,32 +18,87 @@ import * as utilities from "../utilities"; * * const config = new pulumi.Config(); * const region = config.get("region") || "ap-guangzhou"; - * const otheruin = config.get("otheruin") || "123353"; - * const otherccn = config.get("otherccn") || "ccn-151ssaga"; - * const vpc = new tencentcloud.vpc.Instance("vpc", { - * cidrBlock: "10.0.0.0/16", - * dnsServers: [ - * "119.29.29.29", - * "8.8.8.8", - * ], + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * const otherUin = config.get("otherUin") || "100031344528"; + * const otherCcn = config.get("otherCcn") || "ccn-qhgojahx"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", * isMulticast: false, * }); - * const main = new tencentcloud.ccn.Instance("main", { - * description: "ci-temp-test-ccn-des", + * // create ccn + * const example = new tencentcloud.ccn.Instance("example", { + * description: "desc.", * qos: "AG", + * chargeType: "PREPAID", + * bandwidthLimitType: "INTER_REGION_LIMIT", + * tags: { + * createBy: "terraform", + * }, * }); + * // attachment instance * const attachment = new tencentcloud.ccn.Attachment("attachment", { - * ccnId: main.id, - * instanceType: "VPC", + * ccnId: example.id, * instanceId: vpc.id, + * instanceType: "VPC", * instanceRegion: region, * }); + * // attachment other instance * const otherAccount = new tencentcloud.ccn.Attachment("otherAccount", { - * ccnId: otherccn, + * ccnId: otherCcn, + * instanceId: vpc.id, * instanceType: "VPC", + * instanceRegion: region, + * ccnUin: otherUin, + * }); + * ``` + * + * + * ### Attachment instance & route table + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const region = config.get("region") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create ccn + * const exampleInstance = new tencentcloud.ccn.Instance("exampleInstance", { + * description: "desc.", + * qos: "AG", + * chargeType: "PREPAID", + * bandwidthLimitType: "INTER_REGION_LIMIT", + * tags: { + * createBy: "terraform", + * }, + * }); + * // create ccn route table + * const exampleRouteTable = new tencentcloud.ccn.RouteTable("exampleRouteTable", { + * ccnId: exampleInstance.id, + * description: "desc.", + * }); + * // attachment instance & route table + * const attachment = new tencentcloud.ccn.Attachment("attachment", { + * ccnId: exampleInstance.id, * instanceId: vpc.id, + * instanceType: "VPC", * instanceRegion: region, - * ccnUin: otheruin, + * routeTableId: exampleRouteTable.id, * }); * ``` * @@ -110,6 +167,10 @@ export class Attachment extends pulumi.CustomResource { * Route id list. */ public /*out*/ readonly routeIds!: pulumi.Output; + /** + * Ccn instance route table ID. + */ + public readonly routeTableId!: pulumi.Output; /** * States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. */ @@ -137,6 +198,7 @@ export class Attachment extends pulumi.CustomResource { resourceInputs["instanceRegion"] = state ? state.instanceRegion : undefined; resourceInputs["instanceType"] = state ? state.instanceType : undefined; resourceInputs["routeIds"] = state ? state.routeIds : undefined; + resourceInputs["routeTableId"] = state ? state.routeTableId : undefined; resourceInputs["state"] = state ? state.state : undefined; } else { const args = argsOrState as AttachmentArgs | undefined; @@ -158,6 +220,7 @@ export class Attachment extends pulumi.CustomResource { resourceInputs["instanceId"] = args ? args.instanceId : undefined; resourceInputs["instanceRegion"] = args ? args.instanceRegion : undefined; resourceInputs["instanceType"] = args ? args.instanceType : undefined; + resourceInputs["routeTableId"] = args ? args.routeTableId : undefined; resourceInputs["attachedTime"] = undefined /*out*/; resourceInputs["cidrBlocks"] = undefined /*out*/; resourceInputs["routeIds"] = undefined /*out*/; @@ -208,6 +271,10 @@ export interface AttachmentState { * Route id list. */ routeIds?: pulumi.Input[]>; + /** + * Ccn instance route table ID. + */ + routeTableId?: pulumi.Input; /** * States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. */ @@ -242,4 +309,8 @@ export interface AttachmentArgs { * Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now. */ instanceType: pulumi.Input; + /** + * Ccn instance route table ID. + */ + routeTableId?: pulumi.Input; } diff --git a/sdk/nodejs/ccn/getRoutes.ts b/sdk/nodejs/ccn/getRoutes.ts new file mode 100644 index 000000000..545aec837 --- /dev/null +++ b/sdk/nodejs/ccn/getRoutes.ts @@ -0,0 +1,143 @@ +// *** 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 CCN routes. + * + * ## Example Usage + * + * ### Query CCN instance all routes + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const routes = tencentcloud.Ccn.getRoutes({ + * ccnId: "ccn-gr7nynbd", + * }); + * ``` + * + * + * ### Query CCN instance routes by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const routes = tencentcloud.Ccn.getRoutes({ + * ccnId: "ccn-gr7nynbd", + * filters: [{ + * name: "route-table-id", + * values: ["ccnrtb-jpf7bzn3"], + * }], + * }); + * ``` + * + */ +export function getRoutes(args: GetRoutesArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Ccn/getRoutes:getRoutes", { + "ccnId": args.ccnId, + "filters": args.filters, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getRoutes. + */ +export interface GetRoutesArgs { + /** + * ID of the CCN to be queried. + */ + ccnId: string; + /** + * Filter conditions. + */ + filters?: inputs.Ccn.GetRoutesFilter[]; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getRoutes. + */ +export interface GetRoutesResult { + readonly ccnId: string; + readonly filters?: outputs.Ccn.GetRoutesFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; + /** + * CCN route list. + */ + readonly routeLists: outputs.Ccn.GetRoutesRouteList[]; +} +/** + * Use this data source to query detailed information of CCN routes. + * + * ## Example Usage + * + * ### Query CCN instance all routes + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const routes = tencentcloud.Ccn.getRoutes({ + * ccnId: "ccn-gr7nynbd", + * }); + * ``` + * + * + * ### Query CCN instance routes by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const routes = tencentcloud.Ccn.getRoutes({ + * ccnId: "ccn-gr7nynbd", + * filters: [{ + * name: "route-table-id", + * values: ["ccnrtb-jpf7bzn3"], + * }], + * }); + * ``` + * + */ +export function getRoutesOutput(args: GetRoutesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getRoutes(a, opts)) +} + +/** + * A collection of arguments for invoking getRoutes. + */ +export interface GetRoutesOutputArgs { + /** + * ID of the CCN to be queried. + */ + ccnId: pulumi.Input; + /** + * Filter conditions. + */ + filters?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/ccn/index.ts b/sdk/nodejs/ccn/index.ts index a43b2da0d..0a3ba4385 100644 --- a/sdk/nodejs/ccn/index.ts +++ b/sdk/nodejs/ccn/index.ts @@ -40,6 +40,11 @@ export const getInstances: typeof import("./getInstances").getInstances = null a export const getInstancesOutput: typeof import("./getInstances").getInstancesOutput = null as any; utilities.lazyLoad(exports, ["getInstances","getInstancesOutput"], () => require("./getInstances")); +export { GetRoutesArgs, GetRoutesResult, GetRoutesOutputArgs } from "./getRoutes"; +export const getRoutes: typeof import("./getRoutes").getRoutes = null as any; +export const getRoutesOutput: typeof import("./getRoutes").getRoutesOutput = null as any; +utilities.lazyLoad(exports, ["getRoutes","getRoutesOutput"], () => require("./getRoutes")); + export { GetTenantInstancesArgs, GetTenantInstancesResult, GetTenantInstancesOutputArgs } from "./getTenantInstances"; export const getTenantInstances: typeof import("./getTenantInstances").getTenantInstances = null as any; export const getTenantInstancesOutput: typeof import("./getTenantInstances").getTenantInstancesOutput = null as any; @@ -65,6 +70,31 @@ export type InstancesResetAttach = import("./instancesResetAttach").InstancesRes export const InstancesResetAttach: typeof import("./instancesResetAttach").InstancesResetAttach = null as any; utilities.lazyLoad(exports, ["InstancesResetAttach"], () => require("./instancesResetAttach")); +export { RouteTableArgs, RouteTableState } from "./routeTable"; +export type RouteTable = import("./routeTable").RouteTable; +export const RouteTable: typeof import("./routeTable").RouteTable = null as any; +utilities.lazyLoad(exports, ["RouteTable"], () => require("./routeTable")); + +export { RouteTableAssociateInstanceConfigArgs, RouteTableAssociateInstanceConfigState } from "./routeTableAssociateInstanceConfig"; +export type RouteTableAssociateInstanceConfig = import("./routeTableAssociateInstanceConfig").RouteTableAssociateInstanceConfig; +export const RouteTableAssociateInstanceConfig: typeof import("./routeTableAssociateInstanceConfig").RouteTableAssociateInstanceConfig = null as any; +utilities.lazyLoad(exports, ["RouteTableAssociateInstanceConfig"], () => require("./routeTableAssociateInstanceConfig")); + +export { RouteTableBroadcastPoliciesArgs, RouteTableBroadcastPoliciesState } from "./routeTableBroadcastPolicies"; +export type RouteTableBroadcastPolicies = import("./routeTableBroadcastPolicies").RouteTableBroadcastPolicies; +export const RouteTableBroadcastPolicies: typeof import("./routeTableBroadcastPolicies").RouteTableBroadcastPolicies = null as any; +utilities.lazyLoad(exports, ["RouteTableBroadcastPolicies"], () => require("./routeTableBroadcastPolicies")); + +export { RouteTableInputPoliciesArgs, RouteTableInputPoliciesState } from "./routeTableInputPolicies"; +export type RouteTableInputPolicies = import("./routeTableInputPolicies").RouteTableInputPolicies; +export const RouteTableInputPolicies: typeof import("./routeTableInputPolicies").RouteTableInputPolicies = null as any; +utilities.lazyLoad(exports, ["RouteTableInputPolicies"], () => require("./routeTableInputPolicies")); + +export { RouteTableSelectionPoliciesArgs, RouteTableSelectionPoliciesState } from "./routeTableSelectionPolicies"; +export type RouteTableSelectionPolicies = import("./routeTableSelectionPolicies").RouteTableSelectionPolicies; +export const RouteTableSelectionPolicies: typeof import("./routeTableSelectionPolicies").RouteTableSelectionPolicies = null as any; +utilities.lazyLoad(exports, ["RouteTableSelectionPolicies"], () => require("./routeTableSelectionPolicies")); + export { RoutesArgs, RoutesState } from "./routes"; export type Routes = import("./routes").Routes; export const Routes: typeof import("./routes").Routes = null as any; @@ -87,6 +117,16 @@ const _module = { return new InstancesRejectAttach(name, undefined, { urn }) case "tencentcloud:Ccn/instancesResetAttach:InstancesResetAttach": return new InstancesResetAttach(name, undefined, { urn }) + case "tencentcloud:Ccn/routeTable:RouteTable": + return new RouteTable(name, undefined, { urn }) + case "tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig": + return new RouteTableAssociateInstanceConfig(name, undefined, { urn }) + case "tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies": + return new RouteTableBroadcastPolicies(name, undefined, { urn }) + case "tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies": + return new RouteTableInputPolicies(name, undefined, { urn }) + case "tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies": + return new RouteTableSelectionPolicies(name, undefined, { urn }) case "tencentcloud:Ccn/routes:Routes": return new Routes(name, undefined, { urn }) default: @@ -100,4 +140,9 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/instance", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/instancesAcceptAttach", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/instancesRejectAttach", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/instancesResetAttach", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/routeTable", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/routeTableAssociateInstanceConfig", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/routeTableBroadcastPolicies", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/routeTableInputPolicies", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/routeTableSelectionPolicies", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Ccn/routes", _module) diff --git a/sdk/nodejs/ccn/instance.ts b/sdk/nodejs/ccn/instance.ts index 24be728e1..41a90c031 100644 --- a/sdk/nodejs/ccn/instance.ts +++ b/sdk/nodejs/ccn/instance.ts @@ -16,11 +16,16 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const main = new tencentcloud.ccn.Instance("main", { + * const example = new tencentcloud.ccn.Instance("example", { * bandwidthLimitType: "INTER_REGION_LIMIT", * chargeType: "PREPAID", - * description: "ci-temp-test-ccn-des", + * description: "desc.", * qos: "AG", + * routeEcmpFlag: true, + * routeOverlapFlag: true, + * tags: { + * createBy: "terraform", + * }, * }); * ``` * @@ -32,11 +37,16 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const main = new tencentcloud.ccn.Instance("main", { + * const example = new tencentcloud.ccn.Instance("example", { * bandwidthLimitType: "OUTER_REGION_LIMIT", * chargeType: "POSTPAID", - * description: "ci-temp-test-ccn-des", + * description: "desc.", * qos: "AG", + * routeEcmpFlag: false, + * routeOverlapFlag: false, + * tags: { + * createBy: "terraform", + * }, * }); * ``` * @@ -48,10 +58,10 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const main = new tencentcloud.ccn.Instance("main", { + * const example = new tencentcloud.ccn.Instance("example", { * bandwidthLimitType: "INTER_REGION_LIMIT", * chargeType: "POSTPAID", - * description: "ci-temp-test-ccn-des", + * description: "desc.", * qos: "AG", * }); * ``` @@ -62,7 +72,7 @@ import * as utilities from "../utilities"; * Ccn instance can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Ccn/instance:Instance test ccn-id + * $ pulumi import tencentcloud:Ccn/instance:Instance example ccn-al70jo89 * ``` */ export class Instance extends pulumi.CustomResource { @@ -121,6 +131,14 @@ export class Instance extends pulumi.CustomResource { * Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. */ public readonly qos!: pulumi.Output; + /** + * Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + */ + public readonly routeEcmpFlag!: pulumi.Output; + /** + * Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + */ + public readonly routeOverlapFlag!: pulumi.Output; /** * States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. */ @@ -150,6 +168,8 @@ export class Instance extends pulumi.CustomResource { resourceInputs["instanceCount"] = state ? state.instanceCount : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["qos"] = state ? state.qos : undefined; + resourceInputs["routeEcmpFlag"] = state ? state.routeEcmpFlag : undefined; + resourceInputs["routeOverlapFlag"] = state ? state.routeOverlapFlag : undefined; resourceInputs["state"] = state ? state.state : undefined; resourceInputs["tags"] = state ? state.tags : undefined; } else { @@ -159,6 +179,8 @@ export class Instance extends pulumi.CustomResource { resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["qos"] = args ? args.qos : undefined; + resourceInputs["routeEcmpFlag"] = args ? args.routeEcmpFlag : undefined; + resourceInputs["routeOverlapFlag"] = args ? args.routeOverlapFlag : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["instanceCount"] = undefined /*out*/; @@ -201,6 +223,14 @@ export interface InstanceState { * Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. */ qos?: pulumi.Input; + /** + * Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + */ + routeEcmpFlag?: pulumi.Input; + /** + * Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + */ + routeOverlapFlag?: pulumi.Input; /** * States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. */ @@ -235,6 +265,14 @@ export interface InstanceArgs { * Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. */ qos?: pulumi.Input; + /** + * Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + */ + routeEcmpFlag?: pulumi.Input; + /** + * Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + */ + routeOverlapFlag?: pulumi.Input; /** * Instance tag. */ diff --git a/sdk/nodejs/ccn/routeTable.ts b/sdk/nodejs/ccn/routeTable.ts new file mode 100644 index 000000000..4441529d6 --- /dev/null +++ b/sdk/nodejs/ccn/routeTable.ts @@ -0,0 +1,183 @@ +// *** 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 a CCN Route table. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const region = config.get("region") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create ccn + * const exampleInstance = new tencentcloud.ccn.Instance("exampleInstance", { + * description: "desc.", + * qos: "AG", + * chargeType: "PREPAID", + * bandwidthLimitType: "INTER_REGION_LIMIT", + * tags: { + * createBy: "terraform", + * }, + * }); + * // create ccn route table + * const exampleRouteTable = new tencentcloud.ccn.RouteTable("exampleRouteTable", { + * ccnId: exampleInstance.id, + * description: "desc.", + * }); + * ``` + * + * + * ## Import + * + * Ccn instance can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Ccn/routeTable:RouteTable example ccnrtb-r5hrr417 + * ``` + */ +export class RouteTable extends pulumi.CustomResource { + /** + * Get an existing RouteTable 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?: RouteTableState, opts?: pulumi.CustomResourceOptions): RouteTable { + return new RouteTable(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Ccn/routeTable:RouteTable'; + + /** + * Returns true if the given object is an instance of RouteTable. 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 RouteTable { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RouteTable.__pulumiType; + } + + /** + * CCN Instance ID. + */ + public readonly ccnId!: pulumi.Output; + /** + * create time. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * Description of CCN Route table. + */ + public readonly description!: pulumi.Output; + /** + * True: default routing table False: non default routing table. + */ + public /*out*/ readonly isDefaultTable!: pulumi.Output; + /** + * CCN Route table name. + */ + public readonly name!: pulumi.Output; + + /** + * Create a RouteTable 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: RouteTableArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RouteTableArgs | RouteTableState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RouteTableState | undefined; + resourceInputs["ccnId"] = state ? state.ccnId : undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["isDefaultTable"] = state ? state.isDefaultTable : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as RouteTableArgs | undefined; + if ((!args || args.ccnId === undefined) && !opts.urn) { + throw new Error("Missing required property 'ccnId'"); + } + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + resourceInputs["ccnId"] = args ? args.ccnId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["isDefaultTable"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RouteTable.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RouteTable resources. + */ +export interface RouteTableState { + /** + * CCN Instance ID. + */ + ccnId?: pulumi.Input; + /** + * create time. + */ + createTime?: pulumi.Input; + /** + * Description of CCN Route table. + */ + description?: pulumi.Input; + /** + * True: default routing table False: non default routing table. + */ + isDefaultTable?: pulumi.Input; + /** + * CCN Route table name. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RouteTable resource. + */ +export interface RouteTableArgs { + /** + * CCN Instance ID. + */ + ccnId: pulumi.Input; + /** + * Description of CCN Route table. + */ + description: pulumi.Input; + /** + * CCN Route table name. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/ccn/routeTableAssociateInstanceConfig.ts b/sdk/nodejs/ccn/routeTableAssociateInstanceConfig.ts new file mode 100644 index 000000000..7f96b3176 --- /dev/null +++ b/sdk/nodejs/ccn/routeTableAssociateInstanceConfig.ts @@ -0,0 +1,187 @@ +// *** 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 CCN Route table associate instance config. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const region = config.get("region") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create ccn + * const exampleInstance = new tencentcloud.ccn.Instance("exampleInstance", { + * description: "desc.", + * qos: "AG", + * chargeType: "PREPAID", + * bandwidthLimitType: "INTER_REGION_LIMIT", + * tags: { + * createBy: "terraform", + * }, + * }); + * // create ccn route table + * const exampleRouteTable = new tencentcloud.ccn.RouteTable("exampleRouteTable", { + * ccnId: exampleInstance.id, + * description: "desc.", + * }); + * // attachment instance + * const attachment = new tencentcloud.ccn.Attachment("attachment", { + * ccnId: exampleInstance.id, + * instanceId: vpc.id, + * instanceType: "VPC", + * instanceRegion: region, + * routeTableId: exampleRouteTable.id, + * }); + * // route table associate instance + * const exampleRouteTableAssociateInstanceConfig = new tencentcloud.ccn.RouteTableAssociateInstanceConfig("exampleRouteTableAssociateInstanceConfig", { + * ccnId: exampleInstance.id, + * routeTableId: exampleRouteTable.id, + * instances: [{ + * instanceId: vpc.id, + * instanceType: "VPC", + * }], + * }, { + * dependsOn: [attachment], + * }); + * ``` + * + * + * ## Import + * + * Ccn instance can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + * ``` + */ +export class RouteTableAssociateInstanceConfig extends pulumi.CustomResource { + /** + * Get an existing RouteTableAssociateInstanceConfig 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?: RouteTableAssociateInstanceConfigState, opts?: pulumi.CustomResourceOptions): RouteTableAssociateInstanceConfig { + return new RouteTableAssociateInstanceConfig(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig'; + + /** + * Returns true if the given object is an instance of RouteTableAssociateInstanceConfig. 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 RouteTableAssociateInstanceConfig { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RouteTableAssociateInstanceConfig.__pulumiType; + } + + /** + * ID of the CCN. + */ + public readonly ccnId!: pulumi.Output; + /** + * Instances list. + */ + public readonly instances!: pulumi.Output; + /** + * Ccn instance route table ID. + */ + public readonly routeTableId!: pulumi.Output; + + /** + * Create a RouteTableAssociateInstanceConfig 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: RouteTableAssociateInstanceConfigArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RouteTableAssociateInstanceConfigArgs | RouteTableAssociateInstanceConfigState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RouteTableAssociateInstanceConfigState | undefined; + resourceInputs["ccnId"] = state ? state.ccnId : undefined; + resourceInputs["instances"] = state ? state.instances : undefined; + resourceInputs["routeTableId"] = state ? state.routeTableId : undefined; + } else { + const args = argsOrState as RouteTableAssociateInstanceConfigArgs | undefined; + if ((!args || args.ccnId === undefined) && !opts.urn) { + throw new Error("Missing required property 'ccnId'"); + } + if ((!args || args.instances === undefined) && !opts.urn) { + throw new Error("Missing required property 'instances'"); + } + if ((!args || args.routeTableId === undefined) && !opts.urn) { + throw new Error("Missing required property 'routeTableId'"); + } + resourceInputs["ccnId"] = args ? args.ccnId : undefined; + resourceInputs["instances"] = args ? args.instances : undefined; + resourceInputs["routeTableId"] = args ? args.routeTableId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RouteTableAssociateInstanceConfig.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RouteTableAssociateInstanceConfig resources. + */ +export interface RouteTableAssociateInstanceConfigState { + /** + * ID of the CCN. + */ + ccnId?: pulumi.Input; + /** + * Instances list. + */ + instances?: pulumi.Input[]>; + /** + * Ccn instance route table ID. + */ + routeTableId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RouteTableAssociateInstanceConfig resource. + */ +export interface RouteTableAssociateInstanceConfigArgs { + /** + * ID of the CCN. + */ + ccnId: pulumi.Input; + /** + * Instances list. + */ + instances: pulumi.Input[]>; + /** + * Ccn instance route table ID. + */ + routeTableId: pulumi.Input; +} diff --git a/sdk/nodejs/ccn/routeTableBroadcastPolicies.ts b/sdk/nodejs/ccn/routeTableBroadcastPolicies.ts new file mode 100644 index 000000000..d920f632f --- /dev/null +++ b/sdk/nodejs/ccn/routeTableBroadcastPolicies.ts @@ -0,0 +1,197 @@ +// *** 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 CCN Route table broadcast policies. + * + * > **NOTE:** Use this resource to manage all broadcast policies under the routing table of CCN instances. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const region = config.get("region") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create ccn + * const exampleInstance = new tencentcloud.ccn.Instance("exampleInstance", { + * description: "desc.", + * qos: "AG", + * chargeType: "PREPAID", + * bandwidthLimitType: "INTER_REGION_LIMIT", + * tags: { + * createBy: "terraform", + * }, + * }); + * // create ccn route table + * const exampleRouteTable = new tencentcloud.ccn.RouteTable("exampleRouteTable", { + * ccnId: exampleInstance.id, + * description: "desc.", + * }); + * // attachment instance + * const attachment = new tencentcloud.ccn.Attachment("attachment", { + * ccnId: exampleInstance.id, + * instanceId: vpc.id, + * instanceType: "VPC", + * instanceRegion: region, + * routeTableId: exampleRouteTable.id, + * }); + * // create route table broadcast policy + * const exampleRouteTableBroadcastPolicies = new tencentcloud.ccn.RouteTableBroadcastPolicies("exampleRouteTableBroadcastPolicies", { + * ccnId: exampleInstance.id, + * routeTableId: exampleRouteTable.id, + * policies: [{ + * action: "accept", + * description: "desc.", + * routeConditions: [{ + * name: "instance-region", + * values: ["ap-guangzhou"], + * matchPattern: 1, + * }], + * broadcastConditions: [{ + * name: "instance-region", + * values: ["ap-shanghai"], + * matchPattern: 1, + * }], + * }], + * }); + * ``` + * + * + * ## Import + * + * Ccn instance can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + * ``` + */ +export class RouteTableBroadcastPolicies extends pulumi.CustomResource { + /** + * Get an existing RouteTableBroadcastPolicies 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?: RouteTableBroadcastPoliciesState, opts?: pulumi.CustomResourceOptions): RouteTableBroadcastPolicies { + return new RouteTableBroadcastPolicies(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies'; + + /** + * Returns true if the given object is an instance of RouteTableBroadcastPolicies. 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 RouteTableBroadcastPolicies { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RouteTableBroadcastPolicies.__pulumiType; + } + + /** + * CCN Instance ID. + */ + public readonly ccnId!: pulumi.Output; + /** + * Routing propagation strategy. + */ + public readonly policies!: pulumi.Output; + /** + * CCN Route table ID. + */ + public readonly routeTableId!: pulumi.Output; + + /** + * Create a RouteTableBroadcastPolicies 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: RouteTableBroadcastPoliciesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RouteTableBroadcastPoliciesArgs | RouteTableBroadcastPoliciesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RouteTableBroadcastPoliciesState | undefined; + resourceInputs["ccnId"] = state ? state.ccnId : undefined; + resourceInputs["policies"] = state ? state.policies : undefined; + resourceInputs["routeTableId"] = state ? state.routeTableId : undefined; + } else { + const args = argsOrState as RouteTableBroadcastPoliciesArgs | undefined; + if ((!args || args.ccnId === undefined) && !opts.urn) { + throw new Error("Missing required property 'ccnId'"); + } + if ((!args || args.policies === undefined) && !opts.urn) { + throw new Error("Missing required property 'policies'"); + } + if ((!args || args.routeTableId === undefined) && !opts.urn) { + throw new Error("Missing required property 'routeTableId'"); + } + resourceInputs["ccnId"] = args ? args.ccnId : undefined; + resourceInputs["policies"] = args ? args.policies : undefined; + resourceInputs["routeTableId"] = args ? args.routeTableId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RouteTableBroadcastPolicies.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RouteTableBroadcastPolicies resources. + */ +export interface RouteTableBroadcastPoliciesState { + /** + * CCN Instance ID. + */ + ccnId?: pulumi.Input; + /** + * Routing propagation strategy. + */ + policies?: pulumi.Input[]>; + /** + * CCN Route table ID. + */ + routeTableId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RouteTableBroadcastPolicies resource. + */ +export interface RouteTableBroadcastPoliciesArgs { + /** + * CCN Instance ID. + */ + ccnId: pulumi.Input; + /** + * Routing propagation strategy. + */ + policies: pulumi.Input[]>; + /** + * CCN Route table ID. + */ + routeTableId: pulumi.Input; +} diff --git a/sdk/nodejs/ccn/routeTableInputPolicies.ts b/sdk/nodejs/ccn/routeTableInputPolicies.ts new file mode 100644 index 000000000..9113b7d71 --- /dev/null +++ b/sdk/nodejs/ccn/routeTableInputPolicies.ts @@ -0,0 +1,189 @@ +// *** 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 CCN Route table input policies. + * + * > **NOTE:** Use this resource to manage all input policies under the routing table of CCN instances. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const region = config.get("region") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create ccn + * const exampleInstance = new tencentcloud.ccn.Instance("exampleInstance", { + * description: "desc.", + * qos: "AG", + * chargeType: "PREPAID", + * bandwidthLimitType: "INTER_REGION_LIMIT", + * tags: { + * createBy: "terraform", + * }, + * }); + * // create ccn route table + * const exampleRouteTable = new tencentcloud.ccn.RouteTable("exampleRouteTable", { + * ccnId: exampleInstance.id, + * description: "desc.", + * }); + * // attachment instance + * const attachment = new tencentcloud.ccn.Attachment("attachment", { + * ccnId: exampleInstance.id, + * instanceId: vpc.id, + * instanceType: "VPC", + * instanceRegion: region, + * routeTableId: exampleRouteTable.id, + * }); + * // create route table input policy + * const exampleRouteTableInputPolicies = new tencentcloud.ccn.RouteTableInputPolicies("exampleRouteTableInputPolicies", { + * ccnId: exampleInstance.id, + * routeTableId: exampleRouteTable.id, + * policies: [{ + * action: "accept", + * description: "desc.", + * routeConditions: [{ + * name: "instance-region", + * values: [region], + * matchPattern: 1, + * }], + * }], + * }); + * ``` + * + * + * ## Import + * + * Ccn instance can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + * ``` + */ +export class RouteTableInputPolicies extends pulumi.CustomResource { + /** + * Get an existing RouteTableInputPolicies 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?: RouteTableInputPoliciesState, opts?: pulumi.CustomResourceOptions): RouteTableInputPolicies { + return new RouteTableInputPolicies(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies'; + + /** + * Returns true if the given object is an instance of RouteTableInputPolicies. 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 RouteTableInputPolicies { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RouteTableInputPolicies.__pulumiType; + } + + /** + * CCN Instance ID. + */ + public readonly ccnId!: pulumi.Output; + /** + * Routing reception strategy. + */ + public readonly policies!: pulumi.Output; + /** + * CCN Route table ID. + */ + public readonly routeTableId!: pulumi.Output; + + /** + * Create a RouteTableInputPolicies 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: RouteTableInputPoliciesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RouteTableInputPoliciesArgs | RouteTableInputPoliciesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RouteTableInputPoliciesState | undefined; + resourceInputs["ccnId"] = state ? state.ccnId : undefined; + resourceInputs["policies"] = state ? state.policies : undefined; + resourceInputs["routeTableId"] = state ? state.routeTableId : undefined; + } else { + const args = argsOrState as RouteTableInputPoliciesArgs | undefined; + if ((!args || args.ccnId === undefined) && !opts.urn) { + throw new Error("Missing required property 'ccnId'"); + } + if ((!args || args.routeTableId === undefined) && !opts.urn) { + throw new Error("Missing required property 'routeTableId'"); + } + resourceInputs["ccnId"] = args ? args.ccnId : undefined; + resourceInputs["policies"] = args ? args.policies : undefined; + resourceInputs["routeTableId"] = args ? args.routeTableId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RouteTableInputPolicies.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RouteTableInputPolicies resources. + */ +export interface RouteTableInputPoliciesState { + /** + * CCN Instance ID. + */ + ccnId?: pulumi.Input; + /** + * Routing reception strategy. + */ + policies?: pulumi.Input[]>; + /** + * CCN Route table ID. + */ + routeTableId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RouteTableInputPolicies resource. + */ +export interface RouteTableInputPoliciesArgs { + /** + * CCN Instance ID. + */ + ccnId: pulumi.Input; + /** + * Routing reception strategy. + */ + policies?: pulumi.Input[]>; + /** + * CCN Route table ID. + */ + routeTableId: pulumi.Input; +} diff --git a/sdk/nodejs/ccn/routeTableSelectionPolicies.ts b/sdk/nodejs/ccn/routeTableSelectionPolicies.ts new file mode 100644 index 000000000..18a218009 --- /dev/null +++ b/sdk/nodejs/ccn/routeTableSelectionPolicies.ts @@ -0,0 +1,172 @@ +// *** 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 CCN Route table selection policies. + * + * > **NOTE:** Use this resource to manage all selection policies under the routing table of CCN instances. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const region = config.get("region") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create ccn + * const exampleInstance = new tencentcloud.ccn.Instance("exampleInstance", { + * description: "desc.", + * qos: "AG", + * chargeType: "PREPAID", + * bandwidthLimitType: "INTER_REGION_LIMIT", + * tags: { + * createBy: "terraform", + * }, + * }); + * // create ccn route table + * const exampleRouteTable = new tencentcloud.ccn.RouteTable("exampleRouteTable", { + * ccnId: exampleInstance.id, + * description: "desc.", + * }); + * // attachment instance + * const attachment = new tencentcloud.ccn.Attachment("attachment", { + * ccnId: exampleInstance.id, + * instanceId: vpc.id, + * instanceType: "VPC", + * instanceRegion: region, + * routeTableId: exampleRouteTable.id, + * }); + * // create route table selection policy + * const exampleRouteTableSelectionPolicies = new tencentcloud.ccn.RouteTableSelectionPolicies("exampleRouteTableSelectionPolicies", { + * ccnId: exampleInstance.id, + * selectionPolicies: [{ + * instanceType: "VPC", + * instanceId: vpc.id, + * sourceCidrBlock: "192.168.100.0/24", + * routeTableId: exampleRouteTable.id, + * description: "desc.", + * }], + * }); + * ``` + * + * + * ## Import + * + * Ccn instance can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies example ccn-gr7nynbd + * ``` + */ +export class RouteTableSelectionPolicies extends pulumi.CustomResource { + /** + * Get an existing RouteTableSelectionPolicies 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?: RouteTableSelectionPoliciesState, opts?: pulumi.CustomResourceOptions): RouteTableSelectionPolicies { + return new RouteTableSelectionPolicies(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies'; + + /** + * Returns true if the given object is an instance of RouteTableSelectionPolicies. 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 RouteTableSelectionPolicies { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RouteTableSelectionPolicies.__pulumiType; + } + + /** + * CCN Instance ID. + */ + public readonly ccnId!: pulumi.Output; + /** + * Select strategy information set. + */ + public readonly selectionPolicies!: pulumi.Output; + + /** + * Create a RouteTableSelectionPolicies 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: RouteTableSelectionPoliciesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RouteTableSelectionPoliciesArgs | RouteTableSelectionPoliciesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RouteTableSelectionPoliciesState | undefined; + resourceInputs["ccnId"] = state ? state.ccnId : undefined; + resourceInputs["selectionPolicies"] = state ? state.selectionPolicies : undefined; + } else { + const args = argsOrState as RouteTableSelectionPoliciesArgs | undefined; + if ((!args || args.ccnId === undefined) && !opts.urn) { + throw new Error("Missing required property 'ccnId'"); + } + if ((!args || args.selectionPolicies === undefined) && !opts.urn) { + throw new Error("Missing required property 'selectionPolicies'"); + } + resourceInputs["ccnId"] = args ? args.ccnId : undefined; + resourceInputs["selectionPolicies"] = args ? args.selectionPolicies : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RouteTableSelectionPolicies.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RouteTableSelectionPolicies resources. + */ +export interface RouteTableSelectionPoliciesState { + /** + * CCN Instance ID. + */ + ccnId?: pulumi.Input; + /** + * Select strategy information set. + */ + selectionPolicies?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a RouteTableSelectionPolicies resource. + */ +export interface RouteTableSelectionPoliciesArgs { + /** + * CCN Instance ID. + */ + ccnId: pulumi.Input; + /** + * Select strategy information set. + */ + selectionPolicies: pulumi.Input[]>; +} diff --git a/sdk/nodejs/ccn/routes.ts b/sdk/nodejs/ccn/routes.ts index f13b9dcbe..70f248242 100644 --- a/sdk/nodejs/ccn/routes.ts +++ b/sdk/nodejs/ccn/routes.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provides a resource to create a vpc ccnRoutes + * Provides a resource to create a vpc ccnRoutes switch * * ## Example Usage * @@ -14,10 +14,10 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const ccnRoutes = new tencentcloud.ccn.Routes("ccnRoutes", { - * ccnId: "ccn-39lqkygf", - * routeId: "ccnr-3o0dfyuw", - * "switch": "on", + * const example = new tencentcloud.ccn.Routes("example", { + * ccnId: "ccn-gr7nynbd", + * routeId: "ccnrtb-jpf7bzn3", + * "switch": "off", * }); * ``` * @@ -27,7 +27,7 @@ import * as utilities from "../utilities"; * vpc ccn_routes can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccnId#routesId + * $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccn-gr7nynbd#ccnr-5uhewx1s * ``` */ export class Routes extends pulumi.CustomResource { diff --git a/sdk/nodejs/cdc/dedicatedCluster.ts b/sdk/nodejs/cdc/dedicatedCluster.ts new file mode 100644 index 000000000..682519eac --- /dev/null +++ b/sdk/nodejs/cdc/dedicatedCluster.ts @@ -0,0 +1,164 @@ +// *** 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 a CDC dedicated cluster + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * // create cdc site + * const exampleSite = new tencentcloud.cdc.Site("exampleSite", { + * country: "China", + * province: "Guangdong Province", + * city: "Guangzhou", + * addressLine: "Tencent Building", + * description: "desc.", + * }); + * // create cdc dedicated cluster + * const exampleDedicatedCluster = new tencentcloud.cdc.DedicatedCluster("exampleDedicatedCluster", { + * siteId: exampleSite.id, + * zone: "ap-guangzhou-6", + * description: "desc.", + * }); + * ``` + * + * + * ## Import + * + * CDC dedicated cluster can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Cdc/dedicatedCluster:DedicatedCluster example cluster-d574omhk + * ``` + */ +export class DedicatedCluster extends pulumi.CustomResource { + /** + * Get an existing DedicatedCluster 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?: DedicatedClusterState, opts?: pulumi.CustomResourceOptions): DedicatedCluster { + return new DedicatedCluster(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Cdc/dedicatedCluster:DedicatedCluster'; + + /** + * Returns true if the given object is an instance of DedicatedCluster. 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 DedicatedCluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DedicatedCluster.__pulumiType; + } + + /** + * Dedicated Cluster Description. + */ + public readonly description!: pulumi.Output; + /** + * Dedicated Cluster Name. + */ + public readonly name!: pulumi.Output; + /** + * Dedicated Cluster Site ID. + */ + public readonly siteId!: pulumi.Output; + /** + * Dedicated Cluster Zone. + */ + public readonly zone!: pulumi.Output; + + /** + * Create a DedicatedCluster 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: DedicatedClusterArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DedicatedClusterArgs | DedicatedClusterState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DedicatedClusterState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["siteId"] = state ? state.siteId : undefined; + resourceInputs["zone"] = state ? state.zone : undefined; + } else { + const args = argsOrState as DedicatedClusterArgs | undefined; + if ((!args || args.siteId === undefined) && !opts.urn) { + throw new Error("Missing required property 'siteId'"); + } + if ((!args || args.zone === undefined) && !opts.urn) { + throw new Error("Missing required property 'zone'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["siteId"] = args ? args.siteId : undefined; + resourceInputs["zone"] = args ? args.zone : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DedicatedCluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DedicatedCluster resources. + */ +export interface DedicatedClusterState { + /** + * Dedicated Cluster Description. + */ + description?: pulumi.Input; + /** + * Dedicated Cluster Name. + */ + name?: pulumi.Input; + /** + * Dedicated Cluster Site ID. + */ + siteId?: pulumi.Input; + /** + * Dedicated Cluster Zone. + */ + zone?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DedicatedCluster resource. + */ +export interface DedicatedClusterArgs { + /** + * Dedicated Cluster Description. + */ + description?: pulumi.Input; + /** + * Dedicated Cluster Name. + */ + name?: pulumi.Input; + /** + * Dedicated Cluster Site ID. + */ + siteId: pulumi.Input; + /** + * Dedicated Cluster Zone. + */ + zone: pulumi.Input; +} diff --git a/sdk/nodejs/cdc/getDedicatedClusterHosts.ts b/sdk/nodejs/cdc/getDedicatedClusterHosts.ts new file mode 100644 index 000000000..7a87e3a81 --- /dev/null +++ b/sdk/nodejs/cdc/getDedicatedClusterHosts.ts @@ -0,0 +1,95 @@ +// *** 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 CDC dedicated cluster hosts + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const hosts = tencentcloud.Cdc.getDedicatedClusterHosts({ + * dedicatedClusterId: "cluster-262n63e8", + * }); + * ``` + * + */ +export function getDedicatedClusterHosts(args: GetDedicatedClusterHostsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Cdc/getDedicatedClusterHosts:getDedicatedClusterHosts", { + "dedicatedClusterId": args.dedicatedClusterId, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getDedicatedClusterHosts. + */ +export interface GetDedicatedClusterHostsArgs { + /** + * Dedicated Cluster ID. + */ + dedicatedClusterId: string; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getDedicatedClusterHosts. + */ +export interface GetDedicatedClusterHostsResult { + readonly dedicatedClusterId: string; + /** + * Dedicated Cluster Host Info. + */ + readonly hostInfoSets: outputs.Cdc.GetDedicatedClusterHostsHostInfoSet[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of CDC dedicated cluster hosts + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const hosts = tencentcloud.Cdc.getDedicatedClusterHosts({ + * dedicatedClusterId: "cluster-262n63e8", + * }); + * ``` + * + */ +export function getDedicatedClusterHostsOutput(args: GetDedicatedClusterHostsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDedicatedClusterHosts(a, opts)) +} + +/** + * A collection of arguments for invoking getDedicatedClusterHosts. + */ +export interface GetDedicatedClusterHostsOutputArgs { + /** + * Dedicated Cluster ID. + */ + dedicatedClusterId: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/cdc/getDedicatedClusterInstanceTypes.ts b/sdk/nodejs/cdc/getDedicatedClusterInstanceTypes.ts new file mode 100644 index 000000000..bb8620d90 --- /dev/null +++ b/sdk/nodejs/cdc/getDedicatedClusterInstanceTypes.ts @@ -0,0 +1,95 @@ +// *** 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 CDC dedicated cluster instance types + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const types = tencentcloud.Cdc.getDedicatedClusterInstanceTypes({ + * dedicatedClusterId: "cluster-262n63e8", + * }); + * ``` + * + */ +export function getDedicatedClusterInstanceTypes(args: GetDedicatedClusterInstanceTypesArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Cdc/getDedicatedClusterInstanceTypes:getDedicatedClusterInstanceTypes", { + "dedicatedClusterId": args.dedicatedClusterId, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getDedicatedClusterInstanceTypes. + */ +export interface GetDedicatedClusterInstanceTypesArgs { + /** + * Dedicated Cluster ID. + */ + dedicatedClusterId: string; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getDedicatedClusterInstanceTypes. + */ +export interface GetDedicatedClusterInstanceTypesResult { + readonly dedicatedClusterId: string; + /** + * Dedicated Cluster Supported InstanceType. + */ + readonly dedicatedClusterInstanceTypeSets: outputs.Cdc.GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of CDC dedicated cluster instance types + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const types = tencentcloud.Cdc.getDedicatedClusterInstanceTypes({ + * dedicatedClusterId: "cluster-262n63e8", + * }); + * ``` + * + */ +export function getDedicatedClusterInstanceTypesOutput(args: GetDedicatedClusterInstanceTypesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDedicatedClusterInstanceTypes(a, opts)) +} + +/** + * A collection of arguments for invoking getDedicatedClusterInstanceTypes. + */ +export interface GetDedicatedClusterInstanceTypesOutputArgs { + /** + * Dedicated Cluster ID. + */ + dedicatedClusterId: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/cdc/getDedicatedClusterOrders.ts b/sdk/nodejs/cdc/getDedicatedClusterOrders.ts new file mode 100644 index 000000000..d20f3aca1 --- /dev/null +++ b/sdk/nodejs/cdc/getDedicatedClusterOrders.ts @@ -0,0 +1,150 @@ +// *** 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 CDC dedicated cluster orders + * + * ## Example Usage + * + * ### Query all orders + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const orders = tencentcloud.Cdc.getDedicatedClusterOrders({}); + * ``` + * + * + * ### Query orders by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const orders1 = tencentcloud.Cdc.getDedicatedClusterOrders({ + * dedicatedClusterIds: ["cluster-262n63e8"], + * }); + * const orders3 = tencentcloud.Cdc.getDedicatedClusterOrders({ + * actionType: "CREATE", + * status: "PENDING", + * }); + * ``` + * + */ +export function getDedicatedClusterOrders(args?: GetDedicatedClusterOrdersArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Cdc/getDedicatedClusterOrders:getDedicatedClusterOrders", { + "actionType": args.actionType, + "dedicatedClusterIds": args.dedicatedClusterIds, + "resultOutputFile": args.resultOutputFile, + "status": args.status, + }, opts); +} + +/** + * A collection of arguments for invoking getDedicatedClusterOrders. + */ +export interface GetDedicatedClusterOrdersArgs { + /** + * Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + */ + actionType?: string; + /** + * Filter by Dedicated Cluster ID. + */ + dedicatedClusterIds?: string[]; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + */ + status?: string; +} + +/** + * A collection of values returned by getDedicatedClusterOrders. + */ +export interface GetDedicatedClusterOrdersResult { + readonly actionType?: string; + readonly dedicatedClusterIds?: string[]; + /** + * Filter by Dedicated Cluster Order. + */ + readonly dedicatedClusterOrderSets: outputs.Cdc.GetDedicatedClusterOrdersDedicatedClusterOrderSet[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; + readonly status?: string; +} +/** + * Use this data source to query detailed information of CDC dedicated cluster orders + * + * ## Example Usage + * + * ### Query all orders + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const orders = tencentcloud.Cdc.getDedicatedClusterOrders({}); + * ``` + * + * + * ### Query orders by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const orders1 = tencentcloud.Cdc.getDedicatedClusterOrders({ + * dedicatedClusterIds: ["cluster-262n63e8"], + * }); + * const orders3 = tencentcloud.Cdc.getDedicatedClusterOrders({ + * actionType: "CREATE", + * status: "PENDING", + * }); + * ``` + * + */ +export function getDedicatedClusterOrdersOutput(args?: GetDedicatedClusterOrdersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDedicatedClusterOrders(a, opts)) +} + +/** + * A collection of arguments for invoking getDedicatedClusterOrders. + */ +export interface GetDedicatedClusterOrdersOutputArgs { + /** + * Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + */ + actionType?: pulumi.Input; + /** + * Filter by Dedicated Cluster ID. + */ + dedicatedClusterIds?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + */ + status?: pulumi.Input; +} diff --git a/sdk/nodejs/cdc/index.ts b/sdk/nodejs/cdc/index.ts new file mode 100644 index 000000000..1588490d7 --- /dev/null +++ b/sdk/nodejs/cdc/index.ts @@ -0,0 +1,48 @@ +// *** 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"; + +// Export members: +export { DedicatedClusterArgs, DedicatedClusterState } from "./dedicatedCluster"; +export type DedicatedCluster = import("./dedicatedCluster").DedicatedCluster; +export const DedicatedCluster: typeof import("./dedicatedCluster").DedicatedCluster = null as any; +utilities.lazyLoad(exports, ["DedicatedCluster"], () => require("./dedicatedCluster")); + +export { GetDedicatedClusterHostsArgs, GetDedicatedClusterHostsResult, GetDedicatedClusterHostsOutputArgs } from "./getDedicatedClusterHosts"; +export const getDedicatedClusterHosts: typeof import("./getDedicatedClusterHosts").getDedicatedClusterHosts = null as any; +export const getDedicatedClusterHostsOutput: typeof import("./getDedicatedClusterHosts").getDedicatedClusterHostsOutput = null as any; +utilities.lazyLoad(exports, ["getDedicatedClusterHosts","getDedicatedClusterHostsOutput"], () => require("./getDedicatedClusterHosts")); + +export { GetDedicatedClusterInstanceTypesArgs, GetDedicatedClusterInstanceTypesResult, GetDedicatedClusterInstanceTypesOutputArgs } from "./getDedicatedClusterInstanceTypes"; +export const getDedicatedClusterInstanceTypes: typeof import("./getDedicatedClusterInstanceTypes").getDedicatedClusterInstanceTypes = null as any; +export const getDedicatedClusterInstanceTypesOutput: typeof import("./getDedicatedClusterInstanceTypes").getDedicatedClusterInstanceTypesOutput = null as any; +utilities.lazyLoad(exports, ["getDedicatedClusterInstanceTypes","getDedicatedClusterInstanceTypesOutput"], () => require("./getDedicatedClusterInstanceTypes")); + +export { GetDedicatedClusterOrdersArgs, GetDedicatedClusterOrdersResult, GetDedicatedClusterOrdersOutputArgs } from "./getDedicatedClusterOrders"; +export const getDedicatedClusterOrders: typeof import("./getDedicatedClusterOrders").getDedicatedClusterOrders = null as any; +export const getDedicatedClusterOrdersOutput: typeof import("./getDedicatedClusterOrders").getDedicatedClusterOrdersOutput = null as any; +utilities.lazyLoad(exports, ["getDedicatedClusterOrders","getDedicatedClusterOrdersOutput"], () => require("./getDedicatedClusterOrders")); + +export { SiteArgs, SiteState } from "./site"; +export type Site = import("./site").Site; +export const Site: typeof import("./site").Site = null as any; +utilities.lazyLoad(exports, ["Site"], () => require("./site")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Cdc/dedicatedCluster:DedicatedCluster": + return new DedicatedCluster(name, undefined, { urn }) + case "tencentcloud:Cdc/site:Site": + return new Site(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Cdc/dedicatedCluster", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Cdc/site", _module) diff --git a/sdk/nodejs/cdc/site.ts b/sdk/nodejs/cdc/site.ts new file mode 100644 index 000000000..7612fb9a5 --- /dev/null +++ b/sdk/nodejs/cdc/site.ts @@ -0,0 +1,435 @@ +// *** 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 a CDC site + * + * ## Example Usage + * + * ### Create a basic CDC site + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.cdc.Site("example", { + * addressLine: "Tencent Building", + * city: "Guangzhou", + * country: "China", + * description: "desc.", + * province: "Guangdong Province", + * }); + * ``` + * + * + * ### Create a complete CDC site + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.cdc.Site("example", { + * addressLine: "Shenzhen Tencent Building", + * breakerRequirement: true, + * city: "Guangzhou", + * conditionRequirement: true, + * country: "China", + * description: "desc.", + * dimensionRequirement: true, + * fiberType: "MM", + * maxWeight: 100, + * needHelp: true, + * opticalStandard: "MM", + * optionalAddressLine: "Shenzhen Tencent Building of Binhai", + * powerConnectors: "380VAC3P", + * powerDrawKva: 10, + * powerFeedDrop: "DOWN", + * province: "Guangdong Province", + * redundantNetworking: true, + * redundantPower: true, + * uplinkCount: 2, + * uplinkSpeedGbps: 10, + * }); + * ``` + * + * + * ## Import + * + * CDC site can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Cdc/site:Site example site-43qcf1ag + * ``` + */ +export class Site extends pulumi.CustomResource { + /** + * Get an existing Site 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?: SiteState, opts?: pulumi.CustomResourceOptions): Site { + return new Site(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Cdc/site:Site'; + + /** + * Returns true if the given object is an instance of Site. 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 Site { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Site.__pulumiType; + } + + /** + * Site Detail Address. + */ + public readonly addressLine!: pulumi.Output; + /** + * Whether there is an upstream circuit breaker. + */ + public readonly breakerRequirement!: pulumi.Output; + /** + * Site City. + */ + public readonly city!: pulumi.Output; + /** + * Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + */ + public readonly conditionRequirement!: pulumi.Output; + /** + * Site Country. + */ + public readonly country!: pulumi.Output; + /** + * Site Description. + */ + public readonly description!: pulumi.Output; + /** + * Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + */ + public readonly dimensionRequirement!: pulumi.Output; + /** + * Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + */ + public readonly fiberType!: pulumi.Output; + /** + * Site Max Weight capacity (KG). + */ + public readonly maxWeight!: pulumi.Output; + /** + * Site Name. + */ + public readonly name!: pulumi.Output; + /** + * Whether you need help from Tencent Cloud for rack installation. + */ + public readonly needHelp!: pulumi.Output; + /** + * Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + */ + public readonly opticalStandard!: pulumi.Output; + /** + * Detailed address of the site area (to be added). + */ + public readonly optionalAddressLine!: pulumi.Output; + /** + * Site Power Connectors. Example: 380VAC3P. + */ + public readonly powerConnectors!: pulumi.Output; + /** + * Site Power DrawKva (KW). + */ + public readonly powerDrawKva!: pulumi.Output; + /** + * Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + */ + public readonly powerFeedDrop!: pulumi.Output; + /** + * Site Province. + */ + public readonly province!: pulumi.Output; + /** + * Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + */ + public readonly redundantNetworking!: pulumi.Output; + /** + * Whether there is power redundancy. + */ + public readonly redundantPower!: pulumi.Output; + /** + * Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + */ + public readonly uplinkCount!: pulumi.Output; + /** + * Uplink speed from the network to Tencent Cloud Region. + */ + public readonly uplinkSpeedGbps!: pulumi.Output; + + /** + * Create a Site 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: SiteArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SiteArgs | SiteState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SiteState | undefined; + resourceInputs["addressLine"] = state ? state.addressLine : undefined; + resourceInputs["breakerRequirement"] = state ? state.breakerRequirement : undefined; + resourceInputs["city"] = state ? state.city : undefined; + resourceInputs["conditionRequirement"] = state ? state.conditionRequirement : undefined; + resourceInputs["country"] = state ? state.country : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["dimensionRequirement"] = state ? state.dimensionRequirement : undefined; + resourceInputs["fiberType"] = state ? state.fiberType : undefined; + resourceInputs["maxWeight"] = state ? state.maxWeight : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["needHelp"] = state ? state.needHelp : undefined; + resourceInputs["opticalStandard"] = state ? state.opticalStandard : undefined; + resourceInputs["optionalAddressLine"] = state ? state.optionalAddressLine : undefined; + resourceInputs["powerConnectors"] = state ? state.powerConnectors : undefined; + resourceInputs["powerDrawKva"] = state ? state.powerDrawKva : undefined; + resourceInputs["powerFeedDrop"] = state ? state.powerFeedDrop : undefined; + resourceInputs["province"] = state ? state.province : undefined; + resourceInputs["redundantNetworking"] = state ? state.redundantNetworking : undefined; + resourceInputs["redundantPower"] = state ? state.redundantPower : undefined; + resourceInputs["uplinkCount"] = state ? state.uplinkCount : undefined; + resourceInputs["uplinkSpeedGbps"] = state ? state.uplinkSpeedGbps : undefined; + } else { + const args = argsOrState as SiteArgs | undefined; + if ((!args || args.addressLine === undefined) && !opts.urn) { + throw new Error("Missing required property 'addressLine'"); + } + if ((!args || args.city === undefined) && !opts.urn) { + throw new Error("Missing required property 'city'"); + } + if ((!args || args.country === undefined) && !opts.urn) { + throw new Error("Missing required property 'country'"); + } + if ((!args || args.province === undefined) && !opts.urn) { + throw new Error("Missing required property 'province'"); + } + resourceInputs["addressLine"] = args ? args.addressLine : undefined; + resourceInputs["breakerRequirement"] = args ? args.breakerRequirement : undefined; + resourceInputs["city"] = args ? args.city : undefined; + resourceInputs["conditionRequirement"] = args ? args.conditionRequirement : undefined; + resourceInputs["country"] = args ? args.country : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["dimensionRequirement"] = args ? args.dimensionRequirement : undefined; + resourceInputs["fiberType"] = args ? args.fiberType : undefined; + resourceInputs["maxWeight"] = args ? args.maxWeight : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["needHelp"] = args ? args.needHelp : undefined; + resourceInputs["opticalStandard"] = args ? args.opticalStandard : undefined; + resourceInputs["optionalAddressLine"] = args ? args.optionalAddressLine : undefined; + resourceInputs["powerConnectors"] = args ? args.powerConnectors : undefined; + resourceInputs["powerDrawKva"] = args ? args.powerDrawKva : undefined; + resourceInputs["powerFeedDrop"] = args ? args.powerFeedDrop : undefined; + resourceInputs["province"] = args ? args.province : undefined; + resourceInputs["redundantNetworking"] = args ? args.redundantNetworking : undefined; + resourceInputs["redundantPower"] = args ? args.redundantPower : undefined; + resourceInputs["uplinkCount"] = args ? args.uplinkCount : undefined; + resourceInputs["uplinkSpeedGbps"] = args ? args.uplinkSpeedGbps : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Site.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Site resources. + */ +export interface SiteState { + /** + * Site Detail Address. + */ + addressLine?: pulumi.Input; + /** + * Whether there is an upstream circuit breaker. + */ + breakerRequirement?: pulumi.Input; + /** + * Site City. + */ + city?: pulumi.Input; + /** + * Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + */ + conditionRequirement?: pulumi.Input; + /** + * Site Country. + */ + country?: pulumi.Input; + /** + * Site Description. + */ + description?: pulumi.Input; + /** + * Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + */ + dimensionRequirement?: pulumi.Input; + /** + * Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + */ + fiberType?: pulumi.Input; + /** + * Site Max Weight capacity (KG). + */ + maxWeight?: pulumi.Input; + /** + * Site Name. + */ + name?: pulumi.Input; + /** + * Whether you need help from Tencent Cloud for rack installation. + */ + needHelp?: pulumi.Input; + /** + * Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + */ + opticalStandard?: pulumi.Input; + /** + * Detailed address of the site area (to be added). + */ + optionalAddressLine?: pulumi.Input; + /** + * Site Power Connectors. Example: 380VAC3P. + */ + powerConnectors?: pulumi.Input; + /** + * Site Power DrawKva (KW). + */ + powerDrawKva?: pulumi.Input; + /** + * Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + */ + powerFeedDrop?: pulumi.Input; + /** + * Site Province. + */ + province?: pulumi.Input; + /** + * Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + */ + redundantNetworking?: pulumi.Input; + /** + * Whether there is power redundancy. + */ + redundantPower?: pulumi.Input; + /** + * Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + */ + uplinkCount?: pulumi.Input; + /** + * Uplink speed from the network to Tencent Cloud Region. + */ + uplinkSpeedGbps?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Site resource. + */ +export interface SiteArgs { + /** + * Site Detail Address. + */ + addressLine: pulumi.Input; + /** + * Whether there is an upstream circuit breaker. + */ + breakerRequirement?: pulumi.Input; + /** + * Site City. + */ + city: pulumi.Input; + /** + * Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + */ + conditionRequirement?: pulumi.Input; + /** + * Site Country. + */ + country: pulumi.Input; + /** + * Site Description. + */ + description?: pulumi.Input; + /** + * Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + */ + dimensionRequirement?: pulumi.Input; + /** + * Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + */ + fiberType?: pulumi.Input; + /** + * Site Max Weight capacity (KG). + */ + maxWeight?: pulumi.Input; + /** + * Site Name. + */ + name?: pulumi.Input; + /** + * Whether you need help from Tencent Cloud for rack installation. + */ + needHelp?: pulumi.Input; + /** + * Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + */ + opticalStandard?: pulumi.Input; + /** + * Detailed address of the site area (to be added). + */ + optionalAddressLine?: pulumi.Input; + /** + * Site Power Connectors. Example: 380VAC3P. + */ + powerConnectors?: pulumi.Input; + /** + * Site Power DrawKva (KW). + */ + powerDrawKva?: pulumi.Input; + /** + * Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + */ + powerFeedDrop?: pulumi.Input; + /** + * Site Province. + */ + province: pulumi.Input; + /** + * Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + */ + redundantNetworking?: pulumi.Input; + /** + * Whether there is power redundancy. + */ + redundantPower?: pulumi.Input; + /** + * Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + */ + uplinkCount?: pulumi.Input; + /** + * Uplink speed from the network to Tencent Cloud Region. + */ + uplinkSpeedGbps?: pulumi.Input; +} diff --git a/sdk/nodejs/cdn/domain.ts b/sdk/nodejs/cdn/domain.ts index 164427c78..11b3d9cf1 100644 --- a/sdk/nodejs/cdn/domain.ts +++ b/sdk/nodejs/cdn/domain.ts @@ -284,6 +284,10 @@ export class Domain extends pulumi.CustomResource { * Access authentication for OSS origin. */ public readonly ossPrivateAccess!: pulumi.Output; + /** + * Object storage back-to-source authentication of other vendors. + */ + public readonly othersPrivateAccess!: pulumi.Output; /** * Maximum post size configuration. */ @@ -397,6 +401,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["originPullOptimization"] = state ? state.originPullOptimization : undefined; resourceInputs["originPullTimeout"] = state ? state.originPullTimeout : undefined; resourceInputs["ossPrivateAccess"] = state ? state.ossPrivateAccess : undefined; + resourceInputs["othersPrivateAccess"] = state ? state.othersPrivateAccess : undefined; resourceInputs["postMaxSizes"] = state ? state.postMaxSizes : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; resourceInputs["qnPrivateAccess"] = state ? state.qnPrivateAccess : undefined; @@ -449,6 +454,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["originPullOptimization"] = args ? args.originPullOptimization : undefined; resourceInputs["originPullTimeout"] = args ? args.originPullTimeout : undefined; resourceInputs["ossPrivateAccess"] = args ? args.ossPrivateAccess : undefined; + resourceInputs["othersPrivateAccess"] = args ? args.othersPrivateAccess : undefined; resourceInputs["postMaxSizes"] = args ? args.postMaxSizes : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["qnPrivateAccess"] = args ? args.qnPrivateAccess : undefined; @@ -591,6 +597,10 @@ export interface DomainState { * Access authentication for OSS origin. */ ossPrivateAccess?: pulumi.Input; + /** + * Object storage back-to-source authentication of other vendors. + */ + othersPrivateAccess?: pulumi.Input; /** * Maximum post size configuration. */ @@ -763,6 +773,10 @@ export interface DomainArgs { * Access authentication for OSS origin. */ ossPrivateAccess?: pulumi.Input; + /** + * Object storage back-to-source authentication of other vendors. + */ + othersPrivateAccess?: pulumi.Input; /** * Maximum post size configuration. */ diff --git a/sdk/nodejs/cdwdoris/getInstances.ts b/sdk/nodejs/cdwdoris/getInstances.ts new file mode 100644 index 000000000..ec72fc426 --- /dev/null +++ b/sdk/nodejs/cdwdoris/getInstances.ts @@ -0,0 +1,150 @@ +// *** 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 cdwdoris instances + * + * ## Example Usage + * + * ### Query all cdwdoris instances + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cdwdoris.getInstances({}); + * ``` + * + * + * ### Query cdwdoris instances by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cdwdoris.getInstances({ + * searchTags: [{ + * allValue: 0, + * tagKey: "createBy", + * tagValue: "Terraform", + * }], + * }); + * ``` + * + */ +export function getInstances(args?: GetInstancesArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Cdwdoris/getInstances:getInstances", { + "resultOutputFile": args.resultOutputFile, + "searchInstanceId": args.searchInstanceId, + "searchInstanceName": args.searchInstanceName, + "searchTags": args.searchTags, + }, opts); +} + +/** + * A collection of arguments for invoking getInstances. + */ +export interface GetInstancesArgs { + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * The name of the cluster ID for the search. + */ + searchInstanceId?: string; + /** + * The cluster name for the search. + */ + searchInstanceName?: string; + /** + * Search tag list. + */ + searchTags?: inputs.Cdwdoris.GetInstancesSearchTag[]; +} + +/** + * A collection of values returned by getInstances. + */ +export interface GetInstancesResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Quantities of instances array. + */ + readonly instancesLists: outputs.Cdwdoris.GetInstancesInstancesList[]; + readonly resultOutputFile?: string; + readonly searchInstanceId?: string; + readonly searchInstanceName?: string; + readonly searchTags?: outputs.Cdwdoris.GetInstancesSearchTag[]; +} +/** + * Use this data source to query detailed information of cdwdoris instances + * + * ## Example Usage + * + * ### Query all cdwdoris instances + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cdwdoris.getInstances({}); + * ``` + * + * + * ### Query cdwdoris instances by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Cdwdoris.getInstances({ + * searchTags: [{ + * allValue: 0, + * tagKey: "createBy", + * tagValue: "Terraform", + * }], + * }); + * ``` + * + */ +export function getInstancesOutput(args?: GetInstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getInstances(a, opts)) +} + +/** + * A collection of arguments for invoking getInstances. + */ +export interface GetInstancesOutputArgs { + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * The name of the cluster ID for the search. + */ + searchInstanceId?: pulumi.Input; + /** + * The cluster name for the search. + */ + searchInstanceName?: pulumi.Input; + /** + * Search tag list. + */ + searchTags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/cdwdoris/index.ts b/sdk/nodejs/cdwdoris/index.ts new file mode 100644 index 000000000..08bb864d5 --- /dev/null +++ b/sdk/nodejs/cdwdoris/index.ts @@ -0,0 +1,38 @@ +// *** 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"; + +// Export members: +export { GetInstancesArgs, GetInstancesResult, GetInstancesOutputArgs } from "./getInstances"; +export const getInstances: typeof import("./getInstances").getInstances = null as any; +export const getInstancesOutput: typeof import("./getInstances").getInstancesOutput = null as any; +utilities.lazyLoad(exports, ["getInstances","getInstancesOutput"], () => require("./getInstances")); + +export { InstanceArgs, InstanceState } from "./instance"; +export type Instance = import("./instance").Instance; +export const Instance: typeof import("./instance").Instance = null as any; +utilities.lazyLoad(exports, ["Instance"], () => require("./instance")); + +export { WorkloadGroupArgs, WorkloadGroupState } from "./workloadGroup"; +export type WorkloadGroup = import("./workloadGroup").WorkloadGroup; +export const WorkloadGroup: typeof import("./workloadGroup").WorkloadGroup = null as any; +utilities.lazyLoad(exports, ["WorkloadGroup"], () => require("./workloadGroup")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Cdwdoris/instance:Instance": + return new Instance(name, undefined, { urn }) + case "tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup": + return new WorkloadGroup(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Cdwdoris/instance", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Cdwdoris/workloadGroup", _module) diff --git a/sdk/nodejs/cdwdoris/instance.ts b/sdk/nodejs/cdwdoris/instance.ts new file mode 100644 index 000000000..99bcc7502 --- /dev/null +++ b/sdk/nodejs/cdwdoris/instance.ts @@ -0,0 +1,467 @@ +// *** 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 cdwdoris instance + * + * ## Example Usage + * + * ### Create a POSTPAID instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-6"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "security group desc.", + * tags: { + * createBy: "Terraform", + * }, + * }); + * // create POSTPAID instance + * const exampleInstance = new tencentcloud.cdwdoris.Instance("exampleInstance", { + * zone: availabilityZone, + * userVpcId: vpc.id, + * userSubnetId: subnet.id, + * productVersion: "2.1", + * instanceName: "tf-example", + * dorisUserPwd: "Password@test", + * haFlag: false, + * caseSensitive: 0, + * enableMultiZones: false, + * workloadGroupStatus: "open", + * securityGroupIds: [exampleGroup.id], + * chargeProperties: { + * chargeType: "POSTPAID_BY_HOUR", + * }, + * feSpec: { + * specName: "S_4_16_P", + * count: 3, + * diskSize: 200, + * }, + * beSpec: { + * specName: "S_4_16_P", + * count: 3, + * diskSize: 200, + * }, + * tags: [{ + * tagKey: "createBy", + * tagValue: "Terraform", + * }], + * }); + * ``` + * + * + * ### Create a POSTPAID instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-6"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "security group desc.", + * tags: { + * createBy: "Terraform", + * }, + * }); + * // create PREPAID instance + * const exampleInstance = new tencentcloud.cdwdoris.Instance("exampleInstance", { + * zone: availabilityZone, + * userVpcId: vpc.id, + * userSubnetId: subnet.id, + * productVersion: "2.1", + * instanceName: "tf-example", + * dorisUserPwd: "Password@test", + * haFlag: false, + * caseSensitive: 0, + * enableMultiZones: false, + * workloadGroupStatus: "close", + * securityGroupIds: [exampleGroup.id], + * chargeProperties: { + * chargeType: "PREPAID", + * timeSpan: 1, + * timeUnit: "m", + * }, + * feSpec: { + * specName: "S_4_16_P", + * count: 3, + * diskSize: 200, + * }, + * beSpec: { + * specName: "S_4_16_P", + * count: 3, + * diskSize: 200, + * }, + * tags: [{ + * tagKey: "createBy", + * tagValue: "Terraform", + * }], + * }); + * ``` + * + */ +export class Instance extends pulumi.CustomResource { + /** + * Get an existing Instance 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?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance { + return new Instance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Cdwdoris/instance:Instance'; + + /** + * Returns true if the given object is an instance of Instance. 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 Instance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Instance.__pulumiType; + } + + /** + * BE specifications. + */ + public readonly beSpec!: pulumi.Output; + /** + * Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + */ + public readonly caseSensitive!: pulumi.Output; + /** + * Payment type. + */ + public readonly chargeProperties!: pulumi.Output; + /** + * Database password. + */ + public readonly dorisUserPwd!: pulumi.Output; + /** + * Whether to enable multi-availability zone. + */ + public readonly enableMultiZones!: pulumi.Output; + /** + * FE specifications. + */ + public readonly feSpec!: pulumi.Output; + /** + * Whether it is highly available. + */ + public readonly haFlag!: pulumi.Output; + /** + * High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + */ + public readonly haType!: pulumi.Output; + /** + * Instance name. + */ + public readonly instanceName!: pulumi.Output; + /** + * Product version number. + */ + public readonly productVersion!: pulumi.Output; + /** + * Security Group Id list. + */ + public readonly securityGroupIds!: pulumi.Output; + /** + * Tag list. + */ + public readonly tags!: pulumi.Output; + /** + * After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + */ + public readonly userMultiZoneInfos!: pulumi.Output; + /** + * User subnet ID. + */ + public readonly userSubnetId!: pulumi.Output; + /** + * User VPCID. + */ + public readonly userVpcId!: pulumi.Output; + /** + * Whether to enable resource group. `open` - enable, `close` - disable. + */ + public readonly workloadGroupStatus!: pulumi.Output; + /** + * Availability zone. + */ + public readonly zone!: pulumi.Output; + + /** + * Create a Instance 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: InstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: InstanceArgs | InstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as InstanceState | undefined; + resourceInputs["beSpec"] = state ? state.beSpec : undefined; + resourceInputs["caseSensitive"] = state ? state.caseSensitive : undefined; + resourceInputs["chargeProperties"] = state ? state.chargeProperties : undefined; + resourceInputs["dorisUserPwd"] = state ? state.dorisUserPwd : undefined; + resourceInputs["enableMultiZones"] = state ? state.enableMultiZones : undefined; + resourceInputs["feSpec"] = state ? state.feSpec : undefined; + resourceInputs["haFlag"] = state ? state.haFlag : undefined; + resourceInputs["haType"] = state ? state.haType : undefined; + resourceInputs["instanceName"] = state ? state.instanceName : undefined; + resourceInputs["productVersion"] = state ? state.productVersion : undefined; + resourceInputs["securityGroupIds"] = state ? state.securityGroupIds : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["userMultiZoneInfos"] = state ? state.userMultiZoneInfos : undefined; + resourceInputs["userSubnetId"] = state ? state.userSubnetId : undefined; + resourceInputs["userVpcId"] = state ? state.userVpcId : undefined; + resourceInputs["workloadGroupStatus"] = state ? state.workloadGroupStatus : undefined; + resourceInputs["zone"] = state ? state.zone : undefined; + } else { + const args = argsOrState as InstanceArgs | undefined; + if ((!args || args.beSpec === undefined) && !opts.urn) { + throw new Error("Missing required property 'beSpec'"); + } + if ((!args || args.chargeProperties === undefined) && !opts.urn) { + throw new Error("Missing required property 'chargeProperties'"); + } + if ((!args || args.dorisUserPwd === undefined) && !opts.urn) { + throw new Error("Missing required property 'dorisUserPwd'"); + } + if ((!args || args.feSpec === undefined) && !opts.urn) { + throw new Error("Missing required property 'feSpec'"); + } + if ((!args || args.haFlag === undefined) && !opts.urn) { + throw new Error("Missing required property 'haFlag'"); + } + if ((!args || args.instanceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceName'"); + } + if ((!args || args.productVersion === undefined) && !opts.urn) { + throw new Error("Missing required property 'productVersion'"); + } + if ((!args || args.userSubnetId === undefined) && !opts.urn) { + throw new Error("Missing required property 'userSubnetId'"); + } + if ((!args || args.userVpcId === undefined) && !opts.urn) { + throw new Error("Missing required property 'userVpcId'"); + } + if ((!args || args.workloadGroupStatus === undefined) && !opts.urn) { + throw new Error("Missing required property 'workloadGroupStatus'"); + } + if ((!args || args.zone === undefined) && !opts.urn) { + throw new Error("Missing required property 'zone'"); + } + resourceInputs["beSpec"] = args ? args.beSpec : undefined; + resourceInputs["caseSensitive"] = args ? args.caseSensitive : undefined; + resourceInputs["chargeProperties"] = args ? args.chargeProperties : undefined; + resourceInputs["dorisUserPwd"] = args?.dorisUserPwd ? pulumi.secret(args.dorisUserPwd) : undefined; + resourceInputs["enableMultiZones"] = args ? args.enableMultiZones : undefined; + resourceInputs["feSpec"] = args ? args.feSpec : undefined; + resourceInputs["haFlag"] = args ? args.haFlag : undefined; + resourceInputs["haType"] = args ? args.haType : undefined; + resourceInputs["instanceName"] = args ? args.instanceName : undefined; + resourceInputs["productVersion"] = args ? args.productVersion : undefined; + resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userMultiZoneInfos"] = args ? args.userMultiZoneInfos : undefined; + resourceInputs["userSubnetId"] = args ? args.userSubnetId : undefined; + resourceInputs["userVpcId"] = args ? args.userVpcId : undefined; + resourceInputs["workloadGroupStatus"] = args ? args.workloadGroupStatus : undefined; + resourceInputs["zone"] = args ? args.zone : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["dorisUserPwd"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(Instance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Instance resources. + */ +export interface InstanceState { + /** + * BE specifications. + */ + beSpec?: pulumi.Input; + /** + * Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + */ + caseSensitive?: pulumi.Input; + /** + * Payment type. + */ + chargeProperties?: pulumi.Input; + /** + * Database password. + */ + dorisUserPwd?: pulumi.Input; + /** + * Whether to enable multi-availability zone. + */ + enableMultiZones?: pulumi.Input; + /** + * FE specifications. + */ + feSpec?: pulumi.Input; + /** + * Whether it is highly available. + */ + haFlag?: pulumi.Input; + /** + * High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + */ + haType?: pulumi.Input; + /** + * Instance name. + */ + instanceName?: pulumi.Input; + /** + * Product version number. + */ + productVersion?: pulumi.Input; + /** + * Security Group Id list. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * Tag list. + */ + tags?: pulumi.Input[]>; + /** + * After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + */ + userMultiZoneInfos?: pulumi.Input; + /** + * User subnet ID. + */ + userSubnetId?: pulumi.Input; + /** + * User VPCID. + */ + userVpcId?: pulumi.Input; + /** + * Whether to enable resource group. `open` - enable, `close` - disable. + */ + workloadGroupStatus?: pulumi.Input; + /** + * Availability zone. + */ + zone?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Instance resource. + */ +export interface InstanceArgs { + /** + * BE specifications. + */ + beSpec: pulumi.Input; + /** + * Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + */ + caseSensitive?: pulumi.Input; + /** + * Payment type. + */ + chargeProperties: pulumi.Input; + /** + * Database password. + */ + dorisUserPwd: pulumi.Input; + /** + * Whether to enable multi-availability zone. + */ + enableMultiZones?: pulumi.Input; + /** + * FE specifications. + */ + feSpec: pulumi.Input; + /** + * Whether it is highly available. + */ + haFlag: pulumi.Input; + /** + * High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + */ + haType?: pulumi.Input; + /** + * Instance name. + */ + instanceName: pulumi.Input; + /** + * Product version number. + */ + productVersion: pulumi.Input; + /** + * Security Group Id list. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * Tag list. + */ + tags?: pulumi.Input[]>; + /** + * After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + */ + userMultiZoneInfos?: pulumi.Input; + /** + * User subnet ID. + */ + userSubnetId: pulumi.Input; + /** + * User VPCID. + */ + userVpcId: pulumi.Input; + /** + * Whether to enable resource group. `open` - enable, `close` - disable. + */ + workloadGroupStatus: pulumi.Input; + /** + * Availability zone. + */ + zone: pulumi.Input; +} diff --git a/sdk/nodejs/cdwdoris/workloadGroup.ts b/sdk/nodejs/cdwdoris/workloadGroup.ts new file mode 100644 index 000000000..5398d1b6b --- /dev/null +++ b/sdk/nodejs/cdwdoris/workloadGroup.ts @@ -0,0 +1,175 @@ +// *** 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 cdwdoris workload group + * + * > **NOTE:** To use this resource, The `workloadGroupStatus` field of `tencentcloud.Cdwdoris.Instance` needs to be set to true. + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-6"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create instance + * const exampleInstance = new tencentcloud.cdwdoris.Instance("exampleInstance", { + * zone: availabilityZone, + * userVpcId: vpc.id, + * userSubnetId: subnet.id, + * productVersion: "2.1", + * instanceName: "tf-example", + * dorisUserPwd: "Password@test", + * haFlag: false, + * caseSensitive: 0, + * enableMultiZones: false, + * workloadGroupStatus: "open", + * chargeProperties: { + * chargeType: "POSTPAID_BY_HOUR", + * }, + * feSpec: { + * specName: "S_4_16_P", + * count: 3, + * diskSize: 200, + * }, + * beSpec: { + * specName: "S_4_16_P", + * count: 3, + * diskSize: 200, + * }, + * tags: [{ + * tagKey: "createBy", + * tagValue: "Terraform", + * }], + * }); + * // create workload group + * const exampleWorkloadGroup = new tencentcloud.cdwdoris.WorkloadGroup("exampleWorkloadGroup", { + * instanceId: exampleInstance.id, + * workloadGroup: { + * workloadGroupName: "example", + * cpuShare: 1024, + * memoryLimit: 20, + * enableMemoryOverCommit: true, + * cpuHardLimit: "30%", + * }, + * }); + * ``` + * + * + * ## Import + * + * cdwdoris workload group can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup example cdwdoris-rhbflamd#tf-example + * ``` + */ +export class WorkloadGroup extends pulumi.CustomResource { + /** + * Get an existing WorkloadGroup 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?: WorkloadGroupState, opts?: pulumi.CustomResourceOptions): WorkloadGroup { + return new WorkloadGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup'; + + /** + * Returns true if the given object is an instance of WorkloadGroup. 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 WorkloadGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === WorkloadGroup.__pulumiType; + } + + /** + * Instance id. + */ + public readonly instanceId!: pulumi.Output; + /** + * Resource group configuration. + */ + public readonly workloadGroup!: pulumi.Output; + + /** + * Create a WorkloadGroup 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: WorkloadGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: WorkloadGroupArgs | WorkloadGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as WorkloadGroupState | undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["workloadGroup"] = state ? state.workloadGroup : undefined; + } else { + const args = argsOrState as WorkloadGroupArgs | undefined; + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["workloadGroup"] = args ? args.workloadGroup : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(WorkloadGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering WorkloadGroup resources. + */ +export interface WorkloadGroupState { + /** + * Instance id. + */ + instanceId?: pulumi.Input; + /** + * Resource group configuration. + */ + workloadGroup?: pulumi.Input; +} + +/** + * The set of arguments for constructing a WorkloadGroup resource. + */ +export interface WorkloadGroupArgs { + /** + * Instance id. + */ + instanceId: pulumi.Input; + /** + * Resource group configuration. + */ + workloadGroup?: pulumi.Input; +} diff --git a/sdk/nodejs/clb/attachment.ts b/sdk/nodejs/clb/attachment.ts index 064b66bcb..cf125eec6 100644 --- a/sdk/nodejs/clb/attachment.ts +++ b/sdk/nodejs/clb/attachment.ts @@ -13,14 +13,12 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Bind a Cvm instance - * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const foo = new tencentcloud.clb.Attachment("foo", { + * const example = new tencentcloud.clb.Attachment("example", { * clbId: "lb-k2zjp9lv", * listenerId: "lbl-hh141sn9", * ruleId: "loc-4xxr2cy7", @@ -33,14 +31,31 @@ import * as utilities from "../utilities"; * ``` * * - * ### Bind multiple Cvm instances + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.clb.Attachment("example", { + * clbId: "lb-k2zjp9lv", + * domain: "test.com", + * listenerId: "lbl-hh141sn9", + * targets: [{ + * instanceId: "ins-1flbqyp8", + * port: 80, + * weight: 10, + * }], + * url: "/", + * }); + * ``` + * * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const foo = new tencentcloud.clb.Attachment("foo", { + * const example = new tencentcloud.clb.Attachment("example", { * clbId: "lb-k2zjp9lv", * listenerId: "lbl-hh141sn9", * ruleId: "loc-4xxr2cy7", @@ -60,22 +75,65 @@ import * as utilities from "../utilities"; * ``` * * - * ### Bind backend target is ENI + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.clb.Attachment("example", { + * clbId: "lb-k2zjp9lv", + * domain: "test.com", + * listenerId: "lbl-hh141sn9", + * targets: [ + * { + * instanceId: "ins-1flbqyp8", + * port: 80, + * weight: 10, + * }, + * { + * instanceId: "ins-ekloqpa1", + * port: 81, + * weight: 10, + * }, + * ], + * url: "/", + * }); + * ``` + * * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const foo = new tencentcloud.clb.Attachment("foo", { + * const example = new tencentcloud.clb.Attachment("example", { * clbId: "lb-k2zjp9lv", * listenerId: "lbl-hh141sn9", * ruleId: "loc-4xxr2cy7", * targets: [{ - * eniIp: "example-ip", - * port: 23, + * eniIp: "172.16.16.52", + * port: 8090, + * weight: 50, + * }], + * }); + * ``` + * + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.clb.Attachment("example", { + * clbId: "lb-k2zjp9lv", + * domain: "test.com", + * listenerId: "lbl-hh141sn9", + * targets: [{ + * eniIp: "172.16.16.52", + * port: 8090, * weight: 50, * }], + * url: "/", * }); * ``` * @@ -85,7 +143,13 @@ import * as utilities from "../utilities"; * CLB attachment can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Clb/attachment:Attachment foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + * $ pulumi import tencentcloud:Clb/attachment:Attachment example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + * ``` + * + * Or + * + * ```sh + * $ pulumi import tencentcloud:Clb/attachment:Attachment example test.com,/#lbl-hh141sn9#lb-7a0t6zqb * ``` */ export class Attachment extends pulumi.CustomResource { @@ -120,6 +184,10 @@ export class Attachment extends pulumi.CustomResource { * ID of the CLB. */ public readonly clbId!: pulumi.Output; + /** + * Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + */ + public readonly domain!: pulumi.Output; /** * ID of the CLB listener. */ @@ -136,6 +204,10 @@ export class Attachment extends pulumi.CustomResource { * Information of the backends to be attached. */ public readonly targets!: pulumi.Output; + /** + * URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + */ + public readonly url!: pulumi.Output; /** * Create a Attachment resource with the given unique name, arguments, and options. @@ -151,10 +223,12 @@ export class Attachment extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as AttachmentState | undefined; resourceInputs["clbId"] = state ? state.clbId : undefined; + resourceInputs["domain"] = state ? state.domain : undefined; resourceInputs["listenerId"] = state ? state.listenerId : undefined; resourceInputs["protocolType"] = state ? state.protocolType : undefined; resourceInputs["ruleId"] = state ? state.ruleId : undefined; resourceInputs["targets"] = state ? state.targets : undefined; + resourceInputs["url"] = state ? state.url : undefined; } else { const args = argsOrState as AttachmentArgs | undefined; if ((!args || args.clbId === undefined) && !opts.urn) { @@ -167,9 +241,11 @@ export class Attachment extends pulumi.CustomResource { throw new Error("Missing required property 'targets'"); } resourceInputs["clbId"] = args ? args.clbId : undefined; + resourceInputs["domain"] = args ? args.domain : undefined; resourceInputs["listenerId"] = args ? args.listenerId : undefined; resourceInputs["ruleId"] = args ? args.ruleId : undefined; resourceInputs["targets"] = args ? args.targets : undefined; + resourceInputs["url"] = args ? args.url : undefined; resourceInputs["protocolType"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -185,6 +261,10 @@ export interface AttachmentState { * ID of the CLB. */ clbId?: pulumi.Input; + /** + * Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + */ + domain?: pulumi.Input; /** * ID of the CLB listener. */ @@ -201,6 +281,10 @@ export interface AttachmentState { * Information of the backends to be attached. */ targets?: pulumi.Input[]>; + /** + * URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + */ + url?: pulumi.Input; } /** @@ -211,6 +295,10 @@ export interface AttachmentArgs { * ID of the CLB. */ clbId: pulumi.Input; + /** + * Domain of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + */ + domain?: pulumi.Input; /** * ID of the CLB listener. */ @@ -223,4 +311,8 @@ export interface AttachmentArgs { * Information of the backends to be attached. */ targets: pulumi.Input[]>; + /** + * URL of the target forwarding rule. Does not take effect when parameter `ruleId` is provided. + */ + url?: pulumi.Input; } diff --git a/sdk/nodejs/clb/instance.ts b/sdk/nodejs/clb/instance.ts index 83360f2dc..244a422d9 100644 --- a/sdk/nodejs/clb/instance.ts +++ b/sdk/nodejs/clb/instance.ts @@ -11,97 +11,184 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### INTERNAL CLB + * ### Create INTERNAL CLB * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const internalClb = new tencentcloud.clb.Instance("internalClb", { - * clbName: "myclb", + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", + * isMulticast: false, + * }); + * // create clb + * const example = new tencentcloud.clb.Instance("example", { + * networkType: "INTERNAL", + * clbName: "tf-example", + * projectId: 0, + * vpcId: vpc.id, + * subnetId: subnet.id, + * tags: { + * tagKey: "tagValue", + * }, + * }); + * ``` + * + * + * ### Create dedicated cluster clb + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", + * cdcId: "cluster-lchwgxhs", + * isMulticast: false, + * }); + * // create clb + * const example = new tencentcloud.clb.Instance("example", { * networkType: "INTERNAL", + * clbName: "tf-example", * projectId: 0, - * subnetId: "subnet-12rastkr", + * clusterId: "cluster-lchwgxhs", + * vpcId: vpc.id, + * subnetId: subnet.id, * tags: { - * test: "tf", + * tagKey: "tagValue", * }, - * vpcId: "vpc-7007ll7q", * }); * ``` * * - * ### LCU-supported CLB + * ### Create LCU-supported CLB * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const internalClb = new tencentcloud.clb.Instance("internalClb", { - * clbName: "myclb", + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", + * isMulticast: false, + * }); + * // create clb + * const example = new tencentcloud.clb.Instance("example", { * networkType: "INTERNAL", + * clbName: "tf-example", * projectId: 0, * slaType: "clb.c3.medium", - * subnetId: "subnet-o3a5nt20", + * vpcId: vpc.id, + * subnetId: subnet.id, * tags: { - * test: "tf", + * tagKey: "tagValue", * }, - * vpcId: "vpc-2hfyray3", * }); * ``` * * - * ### OPEN CLB + * ### Create OPEN CLB * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const openClb = new tencentcloud.clb.Instance("openClb", { - * clbName: "myclb", + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * example: "test", + * }, + * }); + * // create clb + * const exampleInstance = new tencentcloud.clb.Instance("exampleInstance", { * networkType: "OPEN", + * clbName: "tf-example", * projectId: 0, - * securityGroups: ["sg-o0ek7r93"], + * vpcId: vpc.id, + * securityGroups: [exampleGroup.id], * tags: { - * test: "tf", + * tagKey: "tagValue", * }, - * vpcId: "vpc-da7ffa61", * }); * ``` * * - * ### SUPPORT CORS + * ### 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", + * const config = new pulumi.Config(); + * const zone = config.get("zone") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * example: "test", + * }, + * }); + * // create clb + * const exampleInstance = new tencentcloud.clb.Instance("exampleInstance", { * networkType: "OPEN", + * clbName: "tf-example", * projectId: 0, - * securityGroups: ["sg-o0ek7r93"], + * vpcId: vpc.id, + * securityGroups: [exampleGroup.id], + * targetRegionInfoRegion: zone, + * targetRegionInfoVpcId: vpc.id, * tags: { - * test: "tf", + * tagKey: "tagValue", * }, - * targetRegionInfoRegion: "ap-guangzhou", - * targetRegionInfoVpcId: "vpc-da7ffa61", - * vpcId: "vpc-da7ffa61", * }); * ``` * * - * ### OPNE CLB with VipIsp + * ### Open CLB with VipIsp * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const example = new tencentcloud.vpc.BandwidthPackage("example", { + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create vpc bandwidth package + * const exampleBandwidthPackage = new tencentcloud.vpc.BandwidthPackage("exampleBandwidthPackage", { * networkType: "SINGLEISP_CMCC", * chargeType: "ENHANCED95_POSTPAID_BY_MONTH", * bandwidthPackageName: "tf-example", @@ -111,16 +198,17 @@ import * as utilities from "../utilities"; * createdBy: "terraform", * }, * }); - * const openClb = new tencentcloud.clb.Instance("openClb", { + * // create clb + * const exampleInstance = new tencentcloud.clb.Instance("exampleInstance", { * networkType: "OPEN", - * clbName: "my-open-clb", + * clbName: "tf-example", * projectId: 0, - * vpcId: "vpc-4owdpnwr", * vipIsp: "CMCC", * internetChargeType: "BANDWIDTH_PACKAGE", - * bandwidthPackageId: example.id, + * bandwidthPackageId: exampleBandwidthPackage.id, + * vpcId: vpc.id, * tags: { - * test: "open", + * tagKey: "tagValue", * }, * }); * ``` @@ -133,46 +221,76 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const fooGroup = new tencentcloud.security.Group("fooGroup", {}); - * const fooInstance = new tencentcloud.vpc.Instance("fooInstance", {cidrBlock: "10.0.0.0/16"}); - * const clbOpen = new tencentcloud.clb.Instance("clbOpen", { + * const config = new pulumi.Config(); + * const zone = config.get("zone") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", + * isMulticast: false, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * example: "test", + * }, + * }); + * // create clb + * const exampleInstance = new tencentcloud.clb.Instance("exampleInstance", { * networkType: "OPEN", - * clbName: "clb-instance-open", + * clbName: "tf-example", * projectId: 0, - * vpcId: fooInstance.id, - * targetRegionInfoRegion: "ap-guangzhou", - * targetRegionInfoVpcId: fooInstance.id, - * securityGroups: [fooGroup.id], + * vpcId: vpc.id, + * targetRegionInfoRegion: zone, + * targetRegionInfoVpcId: vpc.id, + * securityGroups: [exampleGroup.id], * dynamicVip: true, * tags: { - * test: "tf", + * tagKey: "tagValue", * }, * }); - * export const domain = clbOpen.domain; + * export const domain = exampleInstance.domain; * ``` * * - * ### Specified Vip Instance + * ### Specified Vip Instance * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const fooGroup = new tencentcloud.security.Group("fooGroup", {}); - * const fooInstance = new tencentcloud.vpc.Instance("fooInstance", {cidrBlock: "10.0.0.0/16"}); - * const clbOpen = new tencentcloud.clb.Instance("clbOpen", { + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * example: "test", + * }, + * }); + * // create clb + * const exampleInstance = new tencentcloud.clb.Instance("exampleInstance", { * networkType: "OPEN", - * clbName: "clb-instance-open", + * clbName: "tf-example", * projectId: 0, - * vpcId: fooInstance.id, - * securityGroups: [fooGroup.id], + * vpcId: vpc.id, + * securityGroups: [exampleGroup.id], * vip: "111.230.4.204", * tags: { - * test: "tf", + * tagKey: "tagValue", * }, * }); - * export const domain = tencentcloud_clb_instance.vip; + * export const domain = exampleInstance.domain; * ``` * * @@ -183,85 +301,106 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const foo = new tencentcloud.vpc.Instance("foo", { - * cidrBlock: "10.0.0.0/16", - * tags: { - * test: "mytest", - * }, - * }); + * const config = new pulumi.Config(); + * const zone = config.get("zone") || "ap-guangzhou"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet * const subnet = new tencentcloud.subnet.Instance("subnet", { - * availabilityZone: "ap-guangzhou-1", - * vpcId: foo.id, - * cidrBlock: "10.0.20.0/28", + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", * isMulticast: false, * }); - * const sglab = new tencentcloud.security.Group("sglab", { - * description: "favourite sg", + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", * projectId: 0, + * tags: { + * example: "test", + * }, * }); - * const openClb = new tencentcloud.clb.Instance("openClb", { + * // create clb + * const exampleInstance = new tencentcloud.clb.Instance("exampleInstance", { * networkType: "OPEN", - * clbName: "my-open-clb", + * clbName: "tf-example", * projectId: 0, - * vpcId: foo.id, * loadBalancerPassToTarget: true, - * securityGroups: [sglab.id], - * targetRegionInfoRegion: "ap-guangzhou", - * targetRegionInfoVpcId: foo.id, + * vpcId: vpc.id, + * securityGroups: [exampleGroup.id], + * targetRegionInfoVpcId: vpc.id, + * targetRegionInfoRegion: zone, * tags: { - * test: "open", + * tagKey: "tagValue", * }, * }); * ``` * * - * ### CREATE multiple instance + * ### Create multiple instance * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const openClb1 = new tencentcloud.clb.Instance("openClb1", { - * clbName: "hello", - * masterZoneId: "ap-guangzhou-3", + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * const example = new tencentcloud.clb.Instance("example", { * networkType: "OPEN", + * clbName: "tf-example", + * masterZoneId: availabilityZone, * }); * ``` * * - * ### CREATE instance with log + * ### Create instance with log * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const vpcTest = new tencentcloud.vpc.Instance("vpcTest", {cidrBlock: "10.0.0.0/16"}); - * const rtbTest = new tencentcloud.route.Table("rtbTest", {vpcId: vpcTest.id}); - * const subnetTest = new tencentcloud.subnet.Instance("subnetTest", { - * availabilityZone: "ap-guangzhou-3", + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: _var.availability_zone, * cidrBlock: "10.0.1.0/24", - * routeTableId: rtbTest.id, - * vpcId: vpcTest.id, + * isMulticast: false, * }); - * const set = new tencentcloud.clb.LogSet("set", {period: 7}); + * // create route table + * const route = new tencentcloud.route.Table("route", {vpcId: vpc.id}); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * example: "test", + * }, + * }); + * const log = new tencentcloud.clb.LogSet("log", {period: 7}); + * // create topic * const topic = new tencentcloud.clb.LogTopic("topic", { - * logSetId: set.id, + * logSetId: log.id, * topicName: "clb-topic", * }); - * const internalClb = new tencentcloud.clb.Instance("internalClb", { - * clbName: "myclb", - * loadBalancerPassToTarget: true, - * logSetId: set.id, - * logTopicId: topic.id, + * // create clb + * const exampleInstance = new tencentcloud.clb.Instance("exampleInstance", { * networkType: "INTERNAL", + * clbName: "tf-example", * projectId: 0, - * subnetId: subnetTest.id, + * loadBalancerPassToTarget: true, + * vpcId: vpc.id, + * subnetId: subnet.id, + * securityGroups: [exampleGroup.id], + * logSetId: log.id, + * logTopicId: topic.id, * tags: { - * test: "tf", + * tagKey: "tagValue", * }, - * vpcId: vpcTest.id, * }); * ``` * @@ -271,7 +410,7 @@ import * as utilities from "../utilities"; * CLB instance can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb + * $ pulumi import tencentcloud:Clb/instance:Instance example lb-7a0t6zqb * ``` */ export class Instance extends pulumi.CustomResource { @@ -322,6 +461,10 @@ export class Instance extends pulumi.CustomResource { * The virtual service address table of the CLB. */ public /*out*/ readonly clbVips!: pulumi.Output; + /** + * Cluster ID. + */ + public readonly clusterId!: pulumi.Output; /** * Whether to enable delete protection. */ @@ -361,7 +504,7 @@ export class Instance extends pulumi.CustomResource { /** * Setting master zone id of cross available zone disaster recovery, only applicable to open CLB. */ - public readonly masterZoneId!: pulumi.Output; + public readonly masterZoneId!: pulumi.Output; /** * Type of CLB instance. Valid values: `OPEN` and `INTERNAL`. */ @@ -381,7 +524,7 @@ export class Instance extends pulumi.CustomResource { /** * Setting slave zone id of cross available zone disaster recovery, only applicable to open CLB. this zone will undertake traffic when the master is down. */ - public readonly slaveZoneId!: pulumi.Output; + public readonly slaveZoneId!: pulumi.Output; /** * Snat Ip List, required with `snat_pro=true`. NOTE: This argument cannot be read and modified here because dynamic ip is untraceable, please import resource `tencentcloud.Clb.SnatIp` to handle fixed ips. */ @@ -421,7 +564,7 @@ export class Instance extends pulumi.CustomResource { /** * Available zone id, only applicable to open CLB. */ - public readonly zoneId!: pulumi.Output; + public readonly zoneId!: pulumi.Output; /** * Create a Instance resource with the given unique name, arguments, and options. @@ -441,6 +584,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["bandwidthPackageId"] = state ? state.bandwidthPackageId : undefined; resourceInputs["clbName"] = state ? state.clbName : undefined; resourceInputs["clbVips"] = state ? state.clbVips : undefined; + resourceInputs["clusterId"] = state ? state.clusterId : undefined; resourceInputs["deleteProtect"] = state ? state.deleteProtect : undefined; resourceInputs["domain"] = state ? state.domain : undefined; resourceInputs["dynamicVip"] = state ? state.dynamicVip : undefined; @@ -477,6 +621,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["addressIpVersion"] = args ? args.addressIpVersion : undefined; resourceInputs["bandwidthPackageId"] = args ? args.bandwidthPackageId : undefined; resourceInputs["clbName"] = args ? args.clbName : undefined; + resourceInputs["clusterId"] = args ? args.clusterId : undefined; resourceInputs["deleteProtect"] = args ? args.deleteProtect : undefined; resourceInputs["dynamicVip"] = args ? args.dynamicVip : undefined; resourceInputs["internetBandwidthMaxOut"] = args ? args.internetBandwidthMaxOut : undefined; @@ -534,6 +679,10 @@ export interface InstanceState { * The virtual service address table of the CLB. */ clbVips?: pulumi.Input[]>; + /** + * Cluster ID. + */ + clusterId?: pulumi.Input; /** * Whether to enable delete protection. */ @@ -652,6 +801,10 @@ export interface InstanceArgs { * Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. */ clbName: pulumi.Input; + /** + * Cluster ID. + */ + clusterId?: pulumi.Input; /** * Whether to enable delete protection. */ diff --git a/sdk/nodejs/clb/listenerRule.ts b/sdk/nodejs/clb/listenerRule.ts index 4c745f84f..8a4849fd5 100644 --- a/sdk/nodejs/clb/listenerRule.ts +++ b/sdk/nodejs/clb/listenerRule.ts @@ -11,29 +11,59 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Create a single domain listener rule + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const foo = new tencentcloud.clb.ListenerRule("foo", { + * const example = new tencentcloud.clb.ListenerRule("example", { * certificateCaId: "VfqO4zkB", * certificateId: "VjANRdz8", * certificateSslMode: "MUTUAL", * clbId: "lb-k2zjp9lv", - * domain: "foo.net", + * domain: "example.com", * healthCheckHealthNum: 3, * healthCheckHttpCode: 2, - * healthCheckHttpDomain: "Default Domain", + * healthCheckHttpDomain: "check.com", * healthCheckHttpMethod: "GET", - * healthCheckHttpPath: "Default Path", + * healthCheckHttpPath: "/", * healthCheckIntervalTime: 5, * healthCheckSwitch: true, * healthCheckUnhealthNum: 3, * listenerId: "lbl-hh141sn9", * scheduler: "WRR", * sessionExpireTime: 30, - * url: "/bar", + * url: "/", + * }); + * ``` + * + * + * ### Create a listener rule for domain lists + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.clb.ListenerRule("example", { + * clbId: "lb-k2zjp9lv", + * domains: [ + * "example1.com", + * "example2.com", + * ], + * healthCheckHealthNum: 3, + * healthCheckHttpCode: 2, + * healthCheckHttpDomain: "check.com", + * healthCheckHttpMethod: "GET", + * healthCheckHttpPath: "/", + * healthCheckIntervalTime: 5, + * healthCheckSwitch: true, + * healthCheckUnhealthNum: 3, + * listenerId: "lbl-hh141sn9", + * scheduler: "WRR", + * url: "/", * }); * ``` * @@ -43,7 +73,7 @@ import * as utilities from "../utilities"; * CLB listener rule can be imported using the id (version >= 1.47.0), e.g. * * ```sh - * $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule foo lb-7a0t6zqb#lbl-hh141sn9#loc-agg236ys + * $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule example lb-k2zjp9lv#lbl-hh141sn9#loc-agg236ys * ``` */ export class ListenerRule extends pulumi.CustomResource { @@ -91,9 +121,13 @@ export class ListenerRule extends pulumi.CustomResource { */ public readonly clbId!: pulumi.Output; /** - * Domain name of the listener rule. + * Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. */ public readonly domain!: pulumi.Output; + /** + * Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + */ + public readonly domains!: pulumi.Output; /** * Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. */ @@ -189,6 +223,7 @@ export class ListenerRule extends pulumi.CustomResource { resourceInputs["certificateSslMode"] = state ? state.certificateSslMode : undefined; resourceInputs["clbId"] = state ? state.clbId : undefined; resourceInputs["domain"] = state ? state.domain : undefined; + resourceInputs["domains"] = state ? state.domains : undefined; resourceInputs["forwardType"] = state ? state.forwardType : undefined; resourceInputs["healthCheckHealthNum"] = state ? state.healthCheckHealthNum : undefined; resourceInputs["healthCheckHttpCode"] = state ? state.healthCheckHttpCode : undefined; @@ -213,9 +248,6 @@ export class ListenerRule extends pulumi.CustomResource { if ((!args || args.clbId === undefined) && !opts.urn) { throw new Error("Missing required property 'clbId'"); } - if ((!args || args.domain === undefined) && !opts.urn) { - throw new Error("Missing required property 'domain'"); - } if ((!args || args.listenerId === undefined) && !opts.urn) { throw new Error("Missing required property 'listenerId'"); } @@ -227,6 +259,7 @@ export class ListenerRule extends pulumi.CustomResource { resourceInputs["certificateSslMode"] = args ? args.certificateSslMode : undefined; resourceInputs["clbId"] = args ? args.clbId : undefined; resourceInputs["domain"] = args ? args.domain : undefined; + resourceInputs["domains"] = args ? args.domains : undefined; resourceInputs["forwardType"] = args ? args.forwardType : undefined; resourceInputs["healthCheckHealthNum"] = args ? args.healthCheckHealthNum : undefined; resourceInputs["healthCheckHttpCode"] = args ? args.healthCheckHttpCode : undefined; @@ -273,9 +306,13 @@ export interface ListenerRuleState { */ clbId?: pulumi.Input; /** - * Domain name of the listener rule. + * Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. */ domain?: pulumi.Input; + /** + * Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + */ + domains?: pulumi.Input[]>; /** * Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. */ @@ -375,9 +412,13 @@ export interface ListenerRuleArgs { */ clbId: pulumi.Input; /** - * Domain name of the listener rule. + * Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + */ + domain?: pulumi.Input; + /** + * Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. */ - domain: pulumi.Input; + domains?: pulumi.Input[]>; /** * Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. */ diff --git a/sdk/nodejs/cls/dataTransform.ts b/sdk/nodejs/cls/dataTransform.ts index 1e458acf5..3a446d2bb 100644 --- a/sdk/nodejs/cls/dataTransform.ts +++ b/sdk/nodejs/cls/dataTransform.ts @@ -7,7 +7,7 @@ import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** - * Provides a resource to create a cls dataTransform + * Provides a resource to create a CLS data transform * * ## Example Usage * @@ -31,7 +31,7 @@ import * as utilities from "../utilities"; * period: 10, * storageType: "hot", * tags: { - * test: "test", + * createdBy: "terraform", * }, * }); * const logsetDst = new tencentcloud.cls.Logset("logsetDst", { @@ -49,10 +49,10 @@ import * as utilities from "../utilities"; * period: 10, * storageType: "hot", * tags: { - * test: "test", + * createdBy: "terraform", * }, * }); - * const dataTransform = new tencentcloud.cls.DataTransform("dataTransform", { + * const example = new tencentcloud.cls.DataTransform("example", { * funcType: 1, * srcTopicId: topicSrc.id, * etlContent: "ext_sep(\"content\", \"f1, f2, f3\", sep=\",\", quote=\"\", restrict=False, mode=\"overwrite\")fields_drop(\"content\")", @@ -68,10 +68,10 @@ import * as utilities from "../utilities"; * * ## Import * - * cls data_transform can be imported using the id, e.g. + * CLS data transform can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Cls/dataTransform:DataTransform data_transform data_transform_id + * $ pulumi import tencentcloud:Cls/dataTransform:DataTransform example 7b4bcb05-9154-4cdc-a479-f6b5743846e5 * ``` */ export class DataTransform extends pulumi.CustomResource { @@ -103,31 +103,31 @@ export class DataTransform extends pulumi.CustomResource { } /** - * data transform des resources. + * Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. */ public readonly dstResources!: pulumi.Output; /** - * task enable flag. + * Task enable flag. `1`: enable, `2`: disable, Default is `1`. */ public readonly enableFlag!: pulumi.Output; /** - * data transform content. + * Data transform content. If `funcType` is `2`, must use `logAutoOutput`. */ public readonly etlContent!: pulumi.Output; /** - * task type. + * Task type. `1`: Specify the theme; `2`: Dynamic creation. */ public readonly funcType!: pulumi.Output; /** - * task name. + * Task name. */ public readonly name!: pulumi.Output; /** - * src topic id. + * Source topic ID. */ public readonly srcTopicId!: pulumi.Output; /** - * task type. + * Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. */ public readonly taskType!: pulumi.Output; @@ -183,31 +183,31 @@ export class DataTransform extends pulumi.CustomResource { */ export interface DataTransformState { /** - * data transform des resources. + * Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. */ dstResources?: pulumi.Input[]>; /** - * task enable flag. + * Task enable flag. `1`: enable, `2`: disable, Default is `1`. */ enableFlag?: pulumi.Input; /** - * data transform content. + * Data transform content. If `funcType` is `2`, must use `logAutoOutput`. */ etlContent?: pulumi.Input; /** - * task type. + * Task type. `1`: Specify the theme; `2`: Dynamic creation. */ funcType?: pulumi.Input; /** - * task name. + * Task name. */ name?: pulumi.Input; /** - * src topic id. + * Source topic ID. */ srcTopicId?: pulumi.Input; /** - * task type. + * Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. */ taskType?: pulumi.Input; } @@ -217,31 +217,31 @@ export interface DataTransformState { */ export interface DataTransformArgs { /** - * data transform des resources. + * Data transform des resources. If `funcType` is `1`, this parameter is required. If `funcType` is `2`, this parameter does not need to be filled in. */ dstResources?: pulumi.Input[]>; /** - * task enable flag. + * Task enable flag. `1`: enable, `2`: disable, Default is `1`. */ enableFlag?: pulumi.Input; /** - * data transform content. + * Data transform content. If `funcType` is `2`, must use `logAutoOutput`. */ etlContent: pulumi.Input; /** - * task type. + * Task type. `1`: Specify the theme; `2`: Dynamic creation. */ funcType: pulumi.Input; /** - * task name. + * Task name. */ name?: pulumi.Input; /** - * src topic id. + * Source topic ID. */ srcTopicId: pulumi.Input; /** - * task type. + * Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. */ taskType: pulumi.Input; } diff --git a/sdk/nodejs/cls/getLogsets.ts b/sdk/nodejs/cls/getLogsets.ts new file mode 100644 index 000000000..b58f6c30a --- /dev/null +++ b/sdk/nodejs/cls/getLogsets.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 cls logsets + * + * ## Example Usage + * + * ### Query all cls logsets + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const logsets = tencentcloud.Cls.getLogsets({}); + * ``` + * + * + * ### Query by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const logsets = tencentcloud.Cls.getLogsets({ + * filters: [{ + * key: "tag:createdBy", + * values: ["terraform"], + * }], + * }); + * ``` + * + */ +export function getLogsets(args?: GetLogsetsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Cls/getLogsets:getLogsets", { + "filters": args.filters, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getLogsets. + */ +export interface GetLogsetsArgs { + /** + * Query by filter. + */ + filters?: inputs.Cls.GetLogsetsFilter[]; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getLogsets. + */ +export interface GetLogsetsResult { + readonly filters?: outputs.Cls.GetLogsetsFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * logset lists. + */ + readonly logsets: outputs.Cls.GetLogsetsLogset[]; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of cls logsets + * + * ## Example Usage + * + * ### Query all cls logsets + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const logsets = tencentcloud.Cls.getLogsets({}); + * ``` + * + * + * ### Query by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const logsets = tencentcloud.Cls.getLogsets({ + * filters: [{ + * key: "tag:createdBy", + * values: ["terraform"], + * }], + * }); + * ``` + * + */ +export function getLogsetsOutput(args?: GetLogsetsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getLogsets(a, opts)) +} + +/** + * A collection of arguments for invoking getLogsets. + */ +export interface GetLogsetsOutputArgs { + /** + * Query by filter. + */ + filters?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/cls/index.ts b/sdk/nodejs/cls/index.ts index 64a1aeb90..66e610e9d 100644 --- a/sdk/nodejs/cls/index.ts +++ b/sdk/nodejs/cls/index.ts @@ -55,6 +55,11 @@ export type Export = import("./export").Export; export const Export: typeof import("./export").Export = null as any; utilities.lazyLoad(exports, ["Export"], () => require("./export")); +export { GetLogsetsArgs, GetLogsetsResult, GetLogsetsOutputArgs } from "./getLogsets"; +export const getLogsets: typeof import("./getLogsets").getLogsets = null as any; +export const getLogsetsOutput: typeof import("./getLogsets").getLogsetsOutput = null as any; +utilities.lazyLoad(exports, ["getLogsets","getLogsetsOutput"], () => require("./getLogsets")); + export { GetMachineGroupConfigsArgs, GetMachineGroupConfigsResult, GetMachineGroupConfigsOutputArgs } from "./getMachineGroupConfigs"; export const getMachineGroupConfigs: typeof import("./getMachineGroupConfigs").getMachineGroupConfigs = null as any; export const getMachineGroupConfigsOutput: typeof import("./getMachineGroupConfigs").getMachineGroupConfigsOutput = null as any; diff --git a/sdk/nodejs/cls/topic.ts b/sdk/nodejs/cls/topic.ts index 23597a397..c87870435 100644 --- a/sdk/nodejs/cls/topic.ts +++ b/sdk/nodejs/cls/topic.ts @@ -2,6 +2,8 @@ // *** 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"; /** @@ -9,6 +11,8 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Create a standard cls topic + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -17,7 +21,7 @@ import * as utilities from "../utilities"; * const exampleLogset = new tencentcloud.cls.Logset("exampleLogset", { * logsetName: "tf_example", * tags: { - * demo: "test", + * tagKey: "tagValue", * }, * }); * const exampleTopic = new tencentcloud.cls.Topic("exampleTopic", { @@ -31,7 +35,51 @@ import * as utilities from "../utilities"; * describes: "Test Demo.", * hotPeriod: 10, * tags: { - * test: "test", + * tagKey: "tagValue", + * }, + * }); + * ``` + * + * + * ### Create a cls topic with web tracking + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const exampleLogset = new tencentcloud.cls.Logset("exampleLogset", { + * logsetName: "tf_example", + * tags: { + * tagKey: "tagValue", + * }, + * }); + * const exampleTopic = new tencentcloud.cls.Topic("exampleTopic", { + * topicName: "tf_example", + * logsetId: exampleLogset.id, + * autoSplit: false, + * maxSplitPartitions: 20, + * partitionCount: 1, + * period: 30, + * storageType: "hot", + * describes: "Test Demo.", + * hotPeriod: 10, + * isWebTracking: true, + * "extends": { + * anonymousAccess: { + * operations: [ + * "trackLog", + * "realtimeProducer", + * ], + * conditions: [{ + * attributes: "VpcID", + * rule: 1, + * conditionValue: "vpc-ahr3xajx", + * }], + * }, + * }, + * tags: { + * tagKey: "tagValue", * }, * }); * ``` @@ -81,10 +129,18 @@ export class Topic extends pulumi.CustomResource { * Log Topic Description. */ public readonly describes!: pulumi.Output; + /** + * Log Subject Extension Information. + */ + public readonly extends!: pulumi.Output; /** * 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. */ public readonly hotPeriod!: pulumi.Output; + /** + * No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + */ + public readonly isWebTracking!: pulumi.Output; /** * Logset ID. */ @@ -129,7 +185,9 @@ export class Topic extends pulumi.CustomResource { const state = argsOrState as TopicState | undefined; resourceInputs["autoSplit"] = state ? state.autoSplit : undefined; resourceInputs["describes"] = state ? state.describes : undefined; + resourceInputs["extends"] = state ? state.extends : undefined; resourceInputs["hotPeriod"] = state ? state.hotPeriod : undefined; + resourceInputs["isWebTracking"] = state ? state.isWebTracking : undefined; resourceInputs["logsetId"] = state ? state.logsetId : undefined; resourceInputs["maxSplitPartitions"] = state ? state.maxSplitPartitions : undefined; resourceInputs["partitionCount"] = state ? state.partitionCount : undefined; @@ -147,7 +205,9 @@ export class Topic extends pulumi.CustomResource { } resourceInputs["autoSplit"] = args ? args.autoSplit : undefined; resourceInputs["describes"] = args ? args.describes : undefined; + resourceInputs["extends"] = args ? args.extends : undefined; resourceInputs["hotPeriod"] = args ? args.hotPeriod : undefined; + resourceInputs["isWebTracking"] = args ? args.isWebTracking : undefined; resourceInputs["logsetId"] = args ? args.logsetId : undefined; resourceInputs["maxSplitPartitions"] = args ? args.maxSplitPartitions : undefined; resourceInputs["partitionCount"] = args ? args.partitionCount : undefined; @@ -173,10 +233,18 @@ export interface TopicState { * Log Topic Description. */ describes?: pulumi.Input; + /** + * Log Subject Extension Information. + */ + extends?: pulumi.Input; /** * 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. */ hotPeriod?: pulumi.Input; + /** + * No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + */ + isWebTracking?: pulumi.Input; /** * Logset ID. */ @@ -219,10 +287,18 @@ export interface TopicArgs { * Log Topic Description. */ describes?: pulumi.Input; + /** + * Log Subject Extension Information. + */ + extends?: pulumi.Input; /** * 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. */ hotPeriod?: pulumi.Input; + /** + * No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + */ + isWebTracking?: pulumi.Input; /** * Logset ID. */ diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index d5e07f263..a57655669 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -17,6 +17,45 @@ Object.defineProperty(exports, "assumeRole", { enumerable: true, }); +export declare const assumeRoleWithSaml: outputs.config.AssumeRoleWithSaml | undefined; +Object.defineProperty(exports, "assumeRoleWithSaml", { + get() { + return __config.getObject("assumeRoleWithSaml"); + }, + enumerable: true, +}); + +export declare const assumeRoleWithWebIdentity: outputs.config.AssumeRoleWithWebIdentity | undefined; +Object.defineProperty(exports, "assumeRoleWithWebIdentity", { + get() { + return __config.getObject("assumeRoleWithWebIdentity"); + }, + enumerable: true, +}); + +/** + * The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + */ +export declare const camRoleName: string | undefined; +Object.defineProperty(exports, "camRoleName", { + get() { + return __config.get("camRoleName"); + }, + enumerable: true, +}); + +/** + * The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + * `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + */ +export declare const cosDomain: string | undefined; +Object.defineProperty(exports, "cosDomain", { + get() { + return __config.get("cosDomain"); + }, + enumerable: true, +}); + /** * The root domain of the API request, Default is `tencentcloudapi.com`. */ @@ -28,6 +67,17 @@ Object.defineProperty(exports, "domain", { enumerable: true, }); +/** + * Whether to enable pod oidc. + */ +export declare const enablePodOidc: boolean | undefined; +Object.defineProperty(exports, "enablePodOidc", { + get() { + return __config.getObject("enablePodOidc"); + }, + enumerable: true, +}); + /** * The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment * variable. If not set, the default profile created with `tccli configure` will be used. @@ -52,8 +102,8 @@ Object.defineProperty(exports, "protocol", { }); /** - * This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - * environment variables. The default input value is ap-guangzhou. + * This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + * default input value is ap-guangzhou. */ export declare const region: string | undefined; Object.defineProperty(exports, "region", { @@ -64,8 +114,7 @@ Object.defineProperty(exports, "region", { }); /** - * This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - * environment variable. + * This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. */ export declare const secretId: string | undefined; Object.defineProperty(exports, "secretId", { @@ -76,8 +125,7 @@ Object.defineProperty(exports, "secretId", { }); /** - * This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - * environment variable. + * This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. */ export declare const secretKey: string | undefined; Object.defineProperty(exports, "secretKey", { diff --git a/sdk/nodejs/cos/batch.ts b/sdk/nodejs/cos/batch.ts index 1b9f88bc4..12c78ee35 100644 --- a/sdk/nodejs/cos/batch.ts +++ b/sdk/nodejs/cos/batch.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to create a cos bucket batch. * + * > **NOTE:** The current resource does not support `cosDomain`. + * * ## Example Usage * * diff --git a/sdk/nodejs/cos/bucket.ts b/sdk/nodejs/cos/bucket.ts index b668170cb..cf3b2bb23 100644 --- a/sdk/nodejs/cos/bucket.ts +++ b/sdk/nodejs/cos/bucket.ts @@ -21,13 +21,64 @@ import * as utilities from "../utilities"; * * const info = tencentcloud.User.getInfo({}); * const appId = info.then(info => info.appId); - * const privateSbucket = new tencentcloud.cos.Bucket("privateSbucket", { + * const privateBucket = new tencentcloud.cos.Bucket("privateBucket", { * bucket: appId.then(appId => `private-bucket-${appId}`), * acl: "private", * }); * ``` * * + * ### Private Bucket with CDC cluster + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const info = tencentcloud.User.getInfo({}); + * const appId = info.then(info => info.appId); + * const privateBucket = new tencentcloud.cos.Bucket("privateBucket", { + * bucket: appId.then(appId => `private-bucket-${appId}`), + * cdcId: "cluster-262n63e8", + * acl: "private", + * versioningEnable: true, + * forceClean: true, + * }); + * ``` + * + * + * ### Enable SSE-KMS encryption + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const info = tencentcloud.User.getInfo({}); + * const appId = info.then(info => info.appId); + * const example = new tencentcloud.kms.Key("example", { + * alias: "tf-example-kms-key", + * description: "example of kms key", + * keyRotationEnabled: false, + * isEnabled: true, + * tags: { + * createdBy: "terraform", + * }, + * }); + * const bucketBasic = new tencentcloud.cos.Bucket("bucketBasic", { + * bucket: appId.then(appId => `tf-bucket-cdc-${appId}`), + * acl: "private", + * encryptionAlgorithm: "KMS", + * kmsId: example.id, + * versioningEnable: true, + * accelerationEnable: true, + * forceClean: true, + * }); + * ``` + * + * * ### Creation of multiple available zone bucket * * @@ -173,6 +224,33 @@ import * as utilities from "../utilities"; * ``` * * + * ### Using CORS with CDC + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const info = tencentcloud.User.getInfo({}); + * const appId = info.then(info => info.appId); + * const bucketWithCors = new tencentcloud.cos.Bucket("bucketWithCors", { + * bucket: appId.then(appId => `bucket-with-cors-${appId}`), + * cdcId: "cluster-262n63e8", + * corsRules: [{ + * allowedOrigins: ["http://*.abc.com"], + * allowedMethods: [ + * "PUT", + * "POST", + * ], + * allowedHeaders: ["*"], + * maxAgeSeconds: 300, + * exposeHeaders: ["Etag"], + * }], + * }); + * ``` + * + * * ### Using object lifecycle * * @@ -200,6 +278,30 @@ import * as utilities from "../utilities"; * ``` * * + * ### Using object lifecycle with CDC + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const info = tencentcloud.User.getInfo({}); + * const appId = info.then(info => info.appId); + * const bucketWithLifecycle = new tencentcloud.cos.Bucket("bucketWithLifecycle", { + * bucket: appId.then(appId => `bucket-with-lifecycle-${appId}`), + * cdcId: "cluster-262n63e8", + * acl: "private", + * lifecycleRules: [{ + * filterPrefix: "path1/", + * expiration: { + * days: 90, + * }, + * }], + * }); + * ``` + * + * * ### Using replication * * @@ -285,6 +387,10 @@ export class Bucket extends pulumi.CustomResource { * The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. */ public readonly bucket!: pulumi.Output; + /** + * CDC cluster ID. + */ + public readonly cdcId!: pulumi.Output; /** * A rule of Cross-Origin Resource Sharing (documented below). */ @@ -298,7 +404,7 @@ export class Bucket extends pulumi.CustomResource { */ public readonly enableIntelligentTiering!: pulumi.Output; /** - * The server-side encryption algorithm to use. Valid value is `AES256`. + * The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. */ public readonly encryptionAlgorithm!: pulumi.Output; /** @@ -313,6 +419,10 @@ export class Bucket extends pulumi.CustomResource { * Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. */ public readonly intelligentTieringRequestFrequent!: pulumi.Output; + /** + * The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + */ + public readonly kmsId!: pulumi.Output; /** * A configuration of object lifecycle management (documented below). */ @@ -379,6 +489,7 @@ export class Bucket extends pulumi.CustomResource { resourceInputs["acl"] = state ? state.acl : undefined; resourceInputs["aclBody"] = state ? state.aclBody : undefined; resourceInputs["bucket"] = state ? state.bucket : undefined; + resourceInputs["cdcId"] = state ? state.cdcId : undefined; resourceInputs["corsRules"] = state ? state.corsRules : undefined; resourceInputs["cosBucketUrl"] = state ? state.cosBucketUrl : undefined; resourceInputs["enableIntelligentTiering"] = state ? state.enableIntelligentTiering : undefined; @@ -386,6 +497,7 @@ export class Bucket extends pulumi.CustomResource { resourceInputs["forceClean"] = state ? state.forceClean : undefined; resourceInputs["intelligentTieringDays"] = state ? state.intelligentTieringDays : undefined; resourceInputs["intelligentTieringRequestFrequent"] = state ? state.intelligentTieringRequestFrequent : undefined; + resourceInputs["kmsId"] = state ? state.kmsId : undefined; resourceInputs["lifecycleRules"] = state ? state.lifecycleRules : undefined; resourceInputs["logEnable"] = state ? state.logEnable : undefined; resourceInputs["logPrefix"] = state ? state.logPrefix : undefined; @@ -407,12 +519,14 @@ export class Bucket extends pulumi.CustomResource { resourceInputs["acl"] = args ? args.acl : undefined; resourceInputs["aclBody"] = args ? args.aclBody : undefined; resourceInputs["bucket"] = args ? args.bucket : undefined; + resourceInputs["cdcId"] = args ? args.cdcId : undefined; resourceInputs["corsRules"] = args ? args.corsRules : undefined; resourceInputs["enableIntelligentTiering"] = args ? args.enableIntelligentTiering : undefined; resourceInputs["encryptionAlgorithm"] = args ? args.encryptionAlgorithm : undefined; resourceInputs["forceClean"] = args ? args.forceClean : undefined; resourceInputs["intelligentTieringDays"] = args ? args.intelligentTieringDays : undefined; resourceInputs["intelligentTieringRequestFrequent"] = args ? args.intelligentTieringRequestFrequent : undefined; + resourceInputs["kmsId"] = args ? args.kmsId : undefined; resourceInputs["lifecycleRules"] = args ? args.lifecycleRules : undefined; resourceInputs["logEnable"] = args ? args.logEnable : undefined; resourceInputs["logPrefix"] = args ? args.logPrefix : undefined; @@ -452,6 +566,10 @@ export interface BucketState { * The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. */ bucket?: pulumi.Input; + /** + * CDC cluster ID. + */ + cdcId?: pulumi.Input; /** * A rule of Cross-Origin Resource Sharing (documented below). */ @@ -465,7 +583,7 @@ export interface BucketState { */ enableIntelligentTiering?: pulumi.Input; /** - * The server-side encryption algorithm to use. Valid value is `AES256`. + * The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. */ encryptionAlgorithm?: pulumi.Input; /** @@ -480,6 +598,10 @@ export interface BucketState { * Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. */ intelligentTieringRequestFrequent?: pulumi.Input; + /** + * The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + */ + kmsId?: pulumi.Input; /** * A configuration of object lifecycle management (documented below). */ @@ -550,6 +672,10 @@ export interface BucketArgs { * The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. */ bucket: pulumi.Input; + /** + * CDC cluster ID. + */ + cdcId?: pulumi.Input; /** * A rule of Cross-Origin Resource Sharing (documented below). */ @@ -559,7 +685,7 @@ export interface BucketArgs { */ enableIntelligentTiering?: pulumi.Input; /** - * The server-side encryption algorithm to use. Valid value is `AES256`. + * The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. */ encryptionAlgorithm?: pulumi.Input; /** @@ -574,6 +700,10 @@ export interface BucketArgs { * Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. */ intelligentTieringRequestFrequent?: pulumi.Input; + /** + * The KMS Master Key ID. This value is valid only when `encryptionAlgorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + */ + kmsId?: pulumi.Input; /** * A configuration of object lifecycle management (documented below). */ diff --git a/sdk/nodejs/cos/bucketDomainCertificateAttachment.ts b/sdk/nodejs/cos/bucketDomainCertificateAttachment.ts index b4e47ea92..ed61951df 100644 --- a/sdk/nodejs/cos/bucketDomainCertificateAttachment.ts +++ b/sdk/nodejs/cos/bucketDomainCertificateAttachment.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to attach/detach the corresponding certificate for the domain name in specified cos bucket. * + * > **NOTE:** The current resource does not support cdc. + * * ## Example Usage * * diff --git a/sdk/nodejs/cos/bucketGenerateInventoryImmediatelyOperation.ts b/sdk/nodejs/cos/bucketGenerateInventoryImmediatelyOperation.ts index 48de4a16e..d19e4b10d 100644 --- a/sdk/nodejs/cos/bucketGenerateInventoryImmediatelyOperation.ts +++ b/sdk/nodejs/cos/bucketGenerateInventoryImmediatelyOperation.ts @@ -7,6 +7,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to generate a cos bucket inventory immediately * + * > **NOTE:** The current resource does not support cdc. + * * ## Example Usage * * diff --git a/sdk/nodejs/cos/bucketInventory.ts b/sdk/nodejs/cos/bucketInventory.ts index 0a47e8610..6afef70d8 100644 --- a/sdk/nodejs/cos/bucketInventory.ts +++ b/sdk/nodejs/cos/bucketInventory.ts @@ -7,38 +7,48 @@ import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** - * Provides a resource to create a cos bucketInventory + * Provides a resource to create a cos bucket inventory + * + * > **NOTE:** The current resource does not support cdc. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const bucketInventory = new tencentcloud.cos.BucketInventory("bucketInventory", { - * bucket: "keep-test-xxxxxx", - * destination: { - * accountId: "", - * bucket: "qcs::cos:ap-guangzhou::keep-test-xxxxxx", - * format: "CSV", - * prefix: "cos_bucket_inventory", - * }, - * filter: { - * period: { - * startTime: "1687276800", - * }, - * }, - * includedObjectVersions: "Current", + * const info = tencentcloud.User.getInfo({}); + * const appId = info.then(info => info.appId); + * // create cos + * const exampleBucket = new tencentcloud.cos.Bucket("exampleBucket", { + * bucket: appId.then(appId => `private-bucket-${appId}`), + * acl: "private", + * }); + * // create cos bucket inventory + * const exampleBucketInventory = new tencentcloud.cos.BucketInventory("exampleBucketInventory", { + * bucket: exampleBucket.id, * isEnabled: "true", + * includedObjectVersions: "Current", * optionalFields: { * fields: [ * "Size", * "ETag", * ], * }, + * filter: { + * period: { + * startTime: "1687276800", + * }, + * }, * schedule: { - * frequency: "Weekly", + * frequency: "Daily", + * }, + * destination: { + * bucket: "qcs::cos:ap-guangzhou::private-bucket-1309118522", + * format: "CSV", + * prefix: "frontends", * }, * }); * ``` @@ -46,10 +56,10 @@ import * as utilities from "../utilities"; * * ## Import * - * cos bucket_inventory can be imported using the id, e.g. + * cos bucket inventory can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory bucket_inventory bucket_inventory_id + * $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory example private-bucket-1309118522#tf-example * ``` */ export class BucketInventory extends pulumi.CustomResource { diff --git a/sdk/nodejs/cos/bucketReferer.ts b/sdk/nodejs/cos/bucketReferer.ts index 71809f021..744ea5091 100644 --- a/sdk/nodejs/cos/bucketReferer.ts +++ b/sdk/nodejs/cos/bucketReferer.ts @@ -7,6 +7,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to create a cos bucketReferer * + * > **NOTE:** The current resource does not support cdc. + * * ## Example Usage * * diff --git a/sdk/nodejs/cos/getBatchs.ts b/sdk/nodejs/cos/getBatchs.ts index d50208f02..90e57c2f1 100644 --- a/sdk/nodejs/cos/getBatchs.ts +++ b/sdk/nodejs/cos/getBatchs.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Use this data source to query the COS batch. * + * > **NOTE:** The current resource does not support `cosDomain`. + * * ## Example Usage * * @@ -76,6 +78,8 @@ export interface GetBatchsResult { /** * Use this data source to query the COS batch. * + * > **NOTE:** The current resource does not support `cosDomain`. + * * ## Example Usage * * diff --git a/sdk/nodejs/cos/getBucketInventorys.ts b/sdk/nodejs/cos/getBucketInventorys.ts index bb978fd4b..e36bfdbd3 100644 --- a/sdk/nodejs/cos/getBucketInventorys.ts +++ b/sdk/nodejs/cos/getBucketInventorys.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Use this data source to query the COS bucket inventorys. * + * > **NOTE:** The current resource does not support cdc. + * * ## Example Usage * * @@ -66,6 +68,8 @@ export interface GetBucketInventorysResult { /** * Use this data source to query the COS bucket inventorys. * + * > **NOTE:** The current resource does not support cdc. + * * ## Example Usage * * diff --git a/sdk/nodejs/cos/objectRestoreOperation.ts b/sdk/nodejs/cos/objectRestoreOperation.ts index 6d082c597..d0a866051 100644 --- a/sdk/nodejs/cos/objectRestoreOperation.ts +++ b/sdk/nodejs/cos/objectRestoreOperation.ts @@ -7,6 +7,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to restore object * + * > **NOTE:** The current resource does not support cdc. + * * ## Example Usage * * diff --git a/sdk/nodejs/cynosdb/cluster.ts b/sdk/nodejs/cynosdb/cluster.ts index fb58d8033..d2ee50e7a 100644 --- a/sdk/nodejs/cynosdb/cluster.ts +++ b/sdk/nodejs/cynosdb/cluster.ts @@ -9,12 +9,160 @@ import * as utilities from "../utilities"; /** * Provide a resource to create a CynosDB cluster. * + * ## Example Usage + * + * ### Create a single availability zone NORMAL CynosDB cluster + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-3"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * example: "test", + * }, + * }); + * // create cynosdb cluster + * const exampleCluster = new tencentcloud.cynosdb.Cluster("exampleCluster", { + * availableZone: availabilityZone, + * vpcId: vpc.id, + * subnetId: subnet.id, + * dbMode: "NORMAL", + * dbType: "MYSQL", + * dbVersion: "5.7", + * port: 3306, + * storageLimit: 1000, + * clusterName: "tf-example", + * password: "cynosDB@123", + * instanceMaintainDuration: 7200, + * instanceMaintainStartTime: 10800, + * instanceCpuCore: 2, + * instanceMemorySize: 4, + * forceDelete: false, + * instanceMaintainWeekdays: [ + * "Fri", + * "Mon", + * "Sat", + * "Sun", + * "Thu", + * "Wed", + * "Tue", + * ], + * paramItems: [ + * { + * name: "character_set_server", + * currentValue: "utf8mb4", + * }, + * { + * name: "lower_case_table_names", + * currentValue: "0", + * }, + * ], + * rwGroupSgs: [exampleGroup.id], + * roGroupSgs: [exampleGroup.id], + * tags: { + * createBy: "terraform", + * }, + * }); + * ``` + * + * + * ### Create a multiple availability zone SERVERLESS CynosDB cluster + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * const slaveZone = config.get("slaveZone") || "ap-guangzhou-6"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * example: "test", + * }, + * }); + * // create param template + * const exampleParamTemplate = new tencentcloud.cynosdb.ParamTemplate("exampleParamTemplate", { + * dbMode: "SERVERLESS", + * engineVersion: "8.0", + * templateName: "tf-example", + * templateDescription: "terraform-template", + * paramLists: [{ + * currentValue: "-1", + * paramName: "optimizer_trace_offset", + * }], + * }); + * // create cynosdb cluster + * const exampleCluster = new tencentcloud.cynosdb.Cluster("exampleCluster", { + * availableZone: availabilityZone, + * slaveZone: slaveZone, + * vpcId: vpc.id, + * subnetId: subnet.id, + * dbMode: "SERVERLESS", + * dbType: "MYSQL", + * dbVersion: "8.0", + * port: 3306, + * storageLimit: 1000, + * clusterName: "tf-example", + * password: "cynosDB@123", + * instanceMaintainDuration: 7200, + * instanceMaintainStartTime: 10800, + * minCpu: 2, + * maxCpu: 4, + * paramTemplateId: exampleParamTemplate.templateId, + * forceDelete: false, + * instanceMaintainWeekdays: [ + * "Fri", + * "Mon", + * "Sat", + * "Sun", + * "Thu", + * "Wed", + * "Tue", + * ], + * rwGroupSgs: [exampleGroup.id], + * roGroupSgs: [exampleGroup.id], + * tags: { + * createBy: "terraform", + * }, + * }); + * ``` + * + * * ## Import * * CynosDB cluster can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Cynosdb/cluster:Cluster foo cynosdbmysql-dzj5l8gz + * $ pulumi import tencentcloud:Cynosdb/cluster:Cluster example cynosdbmysql-dzj5l8gz * ``` */ export class Cluster extends pulumi.CustomResource { @@ -90,7 +238,7 @@ export class Cluster extends pulumi.CustomResource { */ public readonly dbType!: pulumi.Output; /** - * Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + * Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. */ public readonly dbVersion!: pulumi.Output; /** @@ -146,9 +294,13 @@ export class Cluster extends pulumi.CustomResource { */ public readonly oldIpReserveHours!: pulumi.Output; /** - * Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + * Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. */ public readonly paramItems!: pulumi.Output; + /** + * The ID of the parameter template. + */ + public readonly paramTemplateId!: pulumi.Output; /** * Password of `root` account. */ @@ -158,7 +310,9 @@ export class Cluster extends pulumi.CustomResource { */ public readonly port!: pulumi.Output; /** - * The ID of the parameter template. + * It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + * + * @deprecated It will be deprecated. Use `paramTemplateId` instead. */ public readonly prarmTemplateId!: pulumi.Output; /** @@ -209,6 +363,10 @@ export class Cluster extends pulumi.CustomResource { * Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. */ public readonly serverlessStatusFlag!: pulumi.Output; + /** + * Multi zone Addresses of the CynosDB Cluster. + */ + public readonly slaveZone!: pulumi.Output; /** * Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. */ @@ -273,6 +431,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["minCpu"] = state ? state.minCpu : undefined; resourceInputs["oldIpReserveHours"] = state ? state.oldIpReserveHours : undefined; resourceInputs["paramItems"] = state ? state.paramItems : undefined; + resourceInputs["paramTemplateId"] = state ? state.paramTemplateId : undefined; resourceInputs["password"] = state ? state.password : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["prarmTemplateId"] = state ? state.prarmTemplateId : undefined; @@ -288,6 +447,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["rwGroupSgs"] = state ? state.rwGroupSgs : undefined; resourceInputs["serverlessStatus"] = state ? state.serverlessStatus : undefined; resourceInputs["serverlessStatusFlag"] = state ? state.serverlessStatusFlag : undefined; + resourceInputs["slaveZone"] = state ? state.slaveZone : undefined; resourceInputs["storageLimit"] = state ? state.storageLimit : undefined; resourceInputs["storagePayMode"] = state ? state.storagePayMode : undefined; resourceInputs["storageUsed"] = state ? state.storageUsed : undefined; @@ -336,6 +496,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["minCpu"] = args ? args.minCpu : undefined; resourceInputs["oldIpReserveHours"] = args ? args.oldIpReserveHours : undefined; resourceInputs["paramItems"] = args ? args.paramItems : undefined; + resourceInputs["paramTemplateId"] = args ? args.paramTemplateId : undefined; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; resourceInputs["port"] = args ? args.port : undefined; resourceInputs["prarmTemplateId"] = args ? args.prarmTemplateId : undefined; @@ -344,6 +505,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["roGroupSgs"] = args ? args.roGroupSgs : undefined; resourceInputs["rwGroupSgs"] = args ? args.rwGroupSgs : undefined; resourceInputs["serverlessStatusFlag"] = args ? args.serverlessStatusFlag : undefined; + resourceInputs["slaveZone"] = args ? args.slaveZone : undefined; resourceInputs["storageLimit"] = args ? args.storageLimit : undefined; resourceInputs["storagePayMode"] = args ? args.storagePayMode : undefined; resourceInputs["subnetId"] = args ? args.subnetId : undefined; @@ -421,7 +583,7 @@ export interface ClusterState { */ dbType?: pulumi.Input; /** - * Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + * Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. */ dbVersion?: pulumi.Input; /** @@ -477,9 +639,13 @@ export interface ClusterState { */ oldIpReserveHours?: pulumi.Input; /** - * Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + * Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. */ paramItems?: pulumi.Input[]>; + /** + * The ID of the parameter template. + */ + paramTemplateId?: pulumi.Input; /** * Password of `root` account. */ @@ -489,7 +655,9 @@ export interface ClusterState { */ port?: pulumi.Input; /** - * The ID of the parameter template. + * It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + * + * @deprecated It will be deprecated. Use `paramTemplateId` instead. */ prarmTemplateId?: pulumi.Input; /** @@ -540,6 +708,10 @@ export interface ClusterState { * Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. */ serverlessStatusFlag?: pulumi.Input; + /** + * Multi zone Addresses of the CynosDB Cluster. + */ + slaveZone?: pulumi.Input; /** * Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. */ @@ -603,7 +775,7 @@ export interface ClusterArgs { */ dbType: pulumi.Input; /** - * Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`. + * Version of CynosDB, which is related to `dbType`. For `MYSQL`, available value is `5.7`, `8.0`. */ dbVersion: pulumi.Input; /** @@ -643,9 +815,13 @@ export interface ClusterArgs { */ oldIpReserveHours?: pulumi.Input; /** - * Specify parameter list of database. It is valid when prarmTemplateId is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + * Specify parameter list of database. It is valid when `paramTemplateId` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. */ paramItems?: pulumi.Input[]>; + /** + * The ID of the parameter template. + */ + paramTemplateId?: pulumi.Input; /** * Password of `root` account. */ @@ -655,7 +831,9 @@ export interface ClusterArgs { */ port?: pulumi.Input; /** - * The ID of the parameter template. + * It will be deprecated. Use `paramTemplateId` instead. The ID of the parameter template. + * + * @deprecated It will be deprecated. Use `paramTemplateId` instead. */ prarmTemplateId?: pulumi.Input; /** @@ -678,6 +856,10 @@ export interface ClusterArgs { * Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. */ serverlessStatusFlag?: pulumi.Input; + /** + * Multi zone Addresses of the CynosDB Cluster. + */ + slaveZone?: pulumi.Input; /** * Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If dbType is `MYSQL` and chargeType is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when chargeType is `POSTPAID_BY_HOUR`, this argument is unnecessary. */ diff --git a/sdk/nodejs/dasb/user.ts b/sdk/nodejs/dasb/user.ts index 2f0c43883..274b307ee 100644 --- a/sdk/nodejs/dasb/user.ts +++ b/sdk/nodejs/dasb/user.ts @@ -72,7 +72,7 @@ export class User extends pulumi.CustomResource { */ public readonly departmentId!: pulumi.Output; /** - * Email. + * Email. Please provide at least one of `phone` or `email`. */ public readonly email!: pulumi.Output; /** @@ -80,7 +80,7 @@ export class User extends pulumi.CustomResource { */ public readonly groupIdSets!: pulumi.Output; /** - * Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + * Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. */ public readonly phone!: pulumi.Output; /** @@ -164,7 +164,7 @@ export interface UserState { */ departmentId?: pulumi.Input; /** - * Email. + * Email. Please provide at least one of `phone` or `email`. */ email?: pulumi.Input; /** @@ -172,7 +172,7 @@ export interface UserState { */ groupIdSets?: pulumi.Input[]>; /** - * Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + * Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. */ phone?: pulumi.Input; /** @@ -210,7 +210,7 @@ export interface UserArgs { */ departmentId?: pulumi.Input; /** - * Email. + * Email. Please provide at least one of `phone` or `email`. */ email?: pulumi.Input; /** @@ -218,7 +218,7 @@ export interface UserArgs { */ groupIdSets?: pulumi.Input[]>; /** - * Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + * Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. */ phone?: pulumi.Input; /** diff --git a/sdk/nodejs/eip/instance.ts b/sdk/nodejs/eip/instance.ts index e066d7d77..feb3fa839 100644 --- a/sdk/nodejs/eip/instance.ts +++ b/sdk/nodejs/eip/instance.ts @@ -118,6 +118,10 @@ export class Instance extends pulumi.CustomResource { * ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. */ public readonly bandwidthPackageId!: pulumi.Output; + /** + * CDC Unique ID. + */ + public readonly cdcId!: pulumi.Output; /** * Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). */ @@ -177,6 +181,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["applicableForClb"] = state ? state.applicableForClb : undefined; resourceInputs["autoRenewFlag"] = state ? state.autoRenewFlag : undefined; resourceInputs["bandwidthPackageId"] = state ? state.bandwidthPackageId : undefined; + resourceInputs["cdcId"] = state ? state.cdcId : undefined; resourceInputs["egress"] = state ? state.egress : undefined; resourceInputs["internetChargeType"] = state ? state.internetChargeType : undefined; resourceInputs["internetMaxBandwidthOut"] = state ? state.internetMaxBandwidthOut : undefined; @@ -194,6 +199,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["applicableForClb"] = args ? args.applicableForClb : undefined; resourceInputs["autoRenewFlag"] = args ? args.autoRenewFlag : undefined; resourceInputs["bandwidthPackageId"] = args ? args.bandwidthPackageId : undefined; + resourceInputs["cdcId"] = args ? args.cdcId : undefined; resourceInputs["egress"] = args ? args.egress : undefined; resourceInputs["internetChargeType"] = args ? args.internetChargeType : undefined; resourceInputs["internetMaxBandwidthOut"] = args ? args.internetMaxBandwidthOut : undefined; @@ -236,6 +242,10 @@ export interface InstanceState { * ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. */ bandwidthPackageId?: pulumi.Input; + /** + * CDC Unique ID. + */ + cdcId?: pulumi.Input; /** * Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). */ @@ -304,6 +314,10 @@ export interface InstanceArgs { * ID of bandwidth package, it will set when `internetChargeType` is `BANDWIDTH_PACKAGE`. */ bandwidthPackageId?: pulumi.Input; + /** + * CDC Unique ID. + */ + cdcId?: pulumi.Input; /** * Network egress. It defaults to `centerEgress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). */ diff --git a/sdk/nodejs/elasticsearch/instance.ts b/sdk/nodejs/elasticsearch/instance.ts index 4fd1d70fa..88714e8b2 100644 --- a/sdk/nodejs/elasticsearch/instance.ts +++ b/sdk/nodejs/elasticsearch/instance.ts @@ -49,6 +49,10 @@ import * as utilities from "../utilities"; * esAcl: { * whiteLists: ["127.0.0.1"], * }, + * cosBackup: { + * isAutoBackup: true, + * backupTime: "22:00", + * }, * tags: { * test: "test", * }, @@ -178,6 +182,10 @@ export class Instance extends pulumi.CustomResource { * The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. */ public readonly chargeType!: pulumi.Output; + /** + * COS automatic backup information. + */ + public readonly cosBackup!: pulumi.Output; /** * Instance creation time. */ @@ -272,6 +280,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["basicSecurityType"] = state ? state.basicSecurityType : undefined; resourceInputs["chargePeriod"] = state ? state.chargePeriod : undefined; resourceInputs["chargeType"] = state ? state.chargeType : undefined; + resourceInputs["cosBackup"] = state ? state.cosBackup : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["deployMode"] = state ? state.deployMode : undefined; resourceInputs["elasticsearchDomain"] = state ? state.elasticsearchDomain : undefined; @@ -309,6 +318,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["basicSecurityType"] = args ? args.basicSecurityType : undefined; resourceInputs["chargePeriod"] = args ? args.chargePeriod : undefined; resourceInputs["chargeType"] = args ? args.chargeType : undefined; + resourceInputs["cosBackup"] = args ? args.cosBackup : undefined; resourceInputs["deployMode"] = args ? args.deployMode : undefined; resourceInputs["esAcl"] = args ? args.esAcl : undefined; resourceInputs["instanceName"] = args ? args.instanceName : undefined; @@ -356,6 +366,10 @@ export interface InstanceState { * The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. */ chargeType?: pulumi.Input; + /** + * COS automatic backup information. + */ + cosBackup?: pulumi.Input; /** * Instance creation time. */ @@ -454,6 +468,10 @@ export interface InstanceArgs { * The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. */ chargeType?: pulumi.Input; + /** + * COS automatic backup information. + */ + cosBackup?: pulumi.Input; /** * Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. */ diff --git a/sdk/nodejs/emr/cluster.ts b/sdk/nodejs/emr/cluster.ts index bd837ecfc..c441e3a8f 100644 --- a/sdk/nodejs/emr/cluster.ts +++ b/sdk/nodejs/emr/cluster.ts @@ -125,6 +125,10 @@ export class Cluster extends pulumi.CustomResource { return obj['__pulumiType'] === Cluster.__pulumiType; } + /** + * 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + */ + public readonly autoRenew!: pulumi.Output; /** * It will be deprecated in later versions. Display strategy of EMR instance. * @@ -231,6 +235,7 @@ export class Cluster extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as ClusterState | undefined; + resourceInputs["autoRenew"] = state ? state.autoRenew : undefined; resourceInputs["displayStrategy"] = state ? state.displayStrategy : undefined; resourceInputs["extendFsField"] = state ? state.extendFsField : undefined; resourceInputs["instanceId"] = state ? state.instanceId : undefined; @@ -269,6 +274,7 @@ export class Cluster extends pulumi.CustomResource { if ((!args || args.vpcSettings === undefined) && !opts.urn) { throw new Error("Missing required property 'vpcSettings'"); } + resourceInputs["autoRenew"] = args ? args.autoRenew : undefined; resourceInputs["displayStrategy"] = args ? args.displayStrategy : undefined; resourceInputs["extendFsField"] = args ? args.extendFsField : undefined; resourceInputs["instanceName"] = args ? args.instanceName : undefined; @@ -299,6 +305,10 @@ export class Cluster extends pulumi.CustomResource { * Input properties used for looking up and filtering Cluster resources. */ export interface ClusterState { + /** + * 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + */ + autoRenew?: pulumi.Input; /** * It will be deprecated in later versions. Display strategy of EMR instance. * @@ -397,6 +407,10 @@ export interface ClusterState { * The set of arguments for constructing a Cluster resource. */ export interface ClusterArgs { + /** + * 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + */ + autoRenew?: pulumi.Input; /** * It will be deprecated in later versions. Display strategy of EMR instance. * diff --git a/sdk/nodejs/eni/instance.ts b/sdk/nodejs/eni/instance.ts index 8edd28e37..710f03803 100644 --- a/sdk/nodejs/eni/instance.ts +++ b/sdk/nodejs/eni/instance.ts @@ -90,6 +90,10 @@ export class Instance extends pulumi.CustomResource { return obj['__pulumiType'] === Instance.__pulumiType; } + /** + * CDC instance ID. + */ + public /*out*/ readonly cdcId!: pulumi.Output; /** * Creation time of the ENI. */ @@ -156,6 +160,7 @@ export class Instance extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as InstanceState | undefined; + resourceInputs["cdcId"] = state ? state.cdcId : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["ipv4Count"] = state ? state.ipv4Count : undefined; @@ -185,6 +190,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["subnetId"] = args ? args.subnetId : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["cdcId"] = undefined /*out*/; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["ipv4Infos"] = undefined /*out*/; resourceInputs["mac"] = undefined /*out*/; @@ -200,6 +206,10 @@ export class Instance extends pulumi.CustomResource { * Input properties used for looking up and filtering Instance resources. */ export interface InstanceState { + /** + * CDC instance ID. + */ + cdcId?: pulumi.Input; /** * Creation time of the ENI. */ diff --git a/sdk/nodejs/gaap/layer4Listener.ts b/sdk/nodejs/gaap/layer4Listener.ts index 7282a055c..90475dc6e 100644 --- a/sdk/nodejs/gaap/layer4Listener.ts +++ b/sdk/nodejs/gaap/layer4Listener.ts @@ -82,24 +82,40 @@ export class Layer4Listener extends pulumi.CustomResource { return obj['__pulumiType'] === Layer4Listener.__pulumiType; } + /** + * UDP origin station health check probe port. + */ + public readonly checkPort!: pulumi.Output; + /** + * UDP origin server health type. PORT means check port, and PING means PING. + */ + public readonly checkType!: pulumi.Output; /** * The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. */ public readonly clientIpMethod!: pulumi.Output; /** - * Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + * Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. */ public readonly connectTimeout!: pulumi.Output; + /** + * UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + */ + public readonly contextType!: pulumi.Output; /** * Creation time of the layer4 listener. */ public /*out*/ readonly createTime!: pulumi.Output; /** - * Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + * Indicates whether health check is enable, default value is `false`. */ public readonly healthCheck!: pulumi.Output; /** - * Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + * Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + */ + public readonly healthyThreshold!: pulumi.Output; + /** + * Interval of the health check, default value is 5s. */ public readonly interval!: pulumi.Output; /** @@ -126,14 +142,26 @@ export class Layer4Listener extends pulumi.CustomResource { * Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. */ public readonly realserverType!: pulumi.Output; + /** + * UDP source server health check port detects received messages. Only used when the health check type is PORT. + */ + public readonly recvContext!: pulumi.Output; /** * Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. */ public readonly scheduler!: pulumi.Output; + /** + * UDP source server health check port detection sends messages. Only used when health check type is PORT. + */ + public readonly sendContext!: pulumi.Output; /** * Status of the layer4 listener. */ public /*out*/ readonly status!: pulumi.Output; + /** + * Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + */ + public readonly unhealthyThreshold!: pulumi.Output; /** * Create a Layer4Listener resource with the given unique name, arguments, and options. @@ -148,10 +176,14 @@ export class Layer4Listener extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as Layer4ListenerState | undefined; + resourceInputs["checkPort"] = state ? state.checkPort : undefined; + resourceInputs["checkType"] = state ? state.checkType : undefined; resourceInputs["clientIpMethod"] = state ? state.clientIpMethod : undefined; resourceInputs["connectTimeout"] = state ? state.connectTimeout : undefined; + resourceInputs["contextType"] = state ? state.contextType : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["healthCheck"] = state ? state.healthCheck : undefined; + resourceInputs["healthyThreshold"] = state ? state.healthyThreshold : undefined; resourceInputs["interval"] = state ? state.interval : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["port"] = state ? state.port : undefined; @@ -159,8 +191,11 @@ export class Layer4Listener extends pulumi.CustomResource { resourceInputs["proxyId"] = state ? state.proxyId : undefined; resourceInputs["realserverBindSets"] = state ? state.realserverBindSets : undefined; resourceInputs["realserverType"] = state ? state.realserverType : undefined; + resourceInputs["recvContext"] = state ? state.recvContext : undefined; resourceInputs["scheduler"] = state ? state.scheduler : undefined; + resourceInputs["sendContext"] = state ? state.sendContext : undefined; resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["unhealthyThreshold"] = state ? state.unhealthyThreshold : undefined; } else { const args = argsOrState as Layer4ListenerArgs | undefined; if ((!args || args.port === undefined) && !opts.urn) { @@ -175,9 +210,13 @@ export class Layer4Listener extends pulumi.CustomResource { if ((!args || args.realserverType === undefined) && !opts.urn) { throw new Error("Missing required property 'realserverType'"); } + resourceInputs["checkPort"] = args ? args.checkPort : undefined; + resourceInputs["checkType"] = args ? args.checkType : undefined; resourceInputs["clientIpMethod"] = args ? args.clientIpMethod : undefined; resourceInputs["connectTimeout"] = args ? args.connectTimeout : undefined; + resourceInputs["contextType"] = args ? args.contextType : undefined; resourceInputs["healthCheck"] = args ? args.healthCheck : undefined; + resourceInputs["healthyThreshold"] = args ? args.healthyThreshold : undefined; resourceInputs["interval"] = args ? args.interval : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["port"] = args ? args.port : undefined; @@ -185,7 +224,10 @@ export class Layer4Listener extends pulumi.CustomResource { resourceInputs["proxyId"] = args ? args.proxyId : undefined; resourceInputs["realserverBindSets"] = args ? args.realserverBindSets : undefined; resourceInputs["realserverType"] = args ? args.realserverType : undefined; + resourceInputs["recvContext"] = args ? args.recvContext : undefined; resourceInputs["scheduler"] = args ? args.scheduler : undefined; + resourceInputs["sendContext"] = args ? args.sendContext : undefined; + resourceInputs["unhealthyThreshold"] = args ? args.unhealthyThreshold : undefined; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } @@ -198,24 +240,40 @@ export class Layer4Listener extends pulumi.CustomResource { * Input properties used for looking up and filtering Layer4Listener resources. */ export interface Layer4ListenerState { + /** + * UDP origin station health check probe port. + */ + checkPort?: pulumi.Input; + /** + * UDP origin server health type. PORT means check port, and PING means PING. + */ + checkType?: pulumi.Input; /** * The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. */ clientIpMethod?: pulumi.Input; /** - * Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + * Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. */ connectTimeout?: pulumi.Input; + /** + * UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + */ + contextType?: pulumi.Input; /** * Creation time of the layer4 listener. */ createTime?: pulumi.Input; /** - * Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + * Indicates whether health check is enable, default value is `false`. */ healthCheck?: pulumi.Input; /** - * Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + * Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + */ + healthyThreshold?: pulumi.Input; + /** + * Interval of the health check, default value is 5s. */ interval?: pulumi.Input; /** @@ -242,34 +300,62 @@ export interface Layer4ListenerState { * Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. */ realserverType?: pulumi.Input; + /** + * UDP source server health check port detects received messages. Only used when the health check type is PORT. + */ + recvContext?: pulumi.Input; /** * Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. */ scheduler?: pulumi.Input; + /** + * UDP source server health check port detection sends messages. Only used when health check type is PORT. + */ + sendContext?: pulumi.Input; /** * Status of the layer4 listener. */ status?: pulumi.Input; + /** + * Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + */ + unhealthyThreshold?: pulumi.Input; } /** * The set of arguments for constructing a Layer4Listener resource. */ export interface Layer4ListenerArgs { + /** + * UDP origin station health check probe port. + */ + checkPort?: pulumi.Input; + /** + * UDP origin server health type. PORT means check port, and PING means PING. + */ + checkType?: pulumi.Input; /** * The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. */ clientIpMethod?: pulumi.Input; /** - * Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + * Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. */ connectTimeout?: pulumi.Input; /** - * Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + * UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + */ + contextType?: pulumi.Input; + /** + * Indicates whether health check is enable, default value is `false`. */ healthCheck?: pulumi.Input; /** - * Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + * Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + */ + healthyThreshold?: pulumi.Input; + /** + * Interval of the health check, default value is 5s. */ interval?: pulumi.Input; /** @@ -296,8 +382,20 @@ export interface Layer4ListenerArgs { * Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. */ realserverType: pulumi.Input; + /** + * UDP source server health check port detects received messages. Only used when the health check type is PORT. + */ + recvContext?: pulumi.Input; /** * Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. */ scheduler?: pulumi.Input; + /** + * UDP source server health check port detection sends messages. Only used when health check type is PORT. + */ + sendContext?: pulumi.Input; + /** + * Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + */ + unhealthyThreshold?: pulumi.Input; } diff --git a/sdk/nodejs/identity/centerExternalSamlIdentityProvider.ts b/sdk/nodejs/identity/centerExternalSamlIdentityProvider.ts new file mode 100644 index 000000000..f6ddb1e2a --- /dev/null +++ b/sdk/nodejs/identity/centerExternalSamlIdentityProvider.ts @@ -0,0 +1,219 @@ +// *** 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 a organization identityCenterExternalSamlIdentityProvider + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterExternalSamlIdentityProvider = new tencentcloud.identity.CenterExternalSamlIdentityProvider("identityCenterExternalSamlIdentityProvider", { + * ssoStatus: "Enabled", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_external_saml_identity_provider can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider identity_center_external_saml_identity_provider ${zoneId} + * ``` + */ +export class CenterExternalSamlIdentityProvider extends pulumi.CustomResource { + /** + * Get an existing CenterExternalSamlIdentityProvider 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?: CenterExternalSamlIdentityProviderState, opts?: pulumi.CustomResourceOptions): CenterExternalSamlIdentityProvider { + return new CenterExternalSamlIdentityProvider(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider'; + + /** + * Returns true if the given object is an instance of CenterExternalSamlIdentityProvider. 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 CenterExternalSamlIdentityProvider { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterExternalSamlIdentityProvider.__pulumiType; + } + + /** + * Acs url. + */ + public /*out*/ readonly acsUrl!: pulumi.Output; + /** + * Certificate ids. + */ + public /*out*/ readonly certificateIds!: pulumi.Output; + /** + * Create time. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + */ + public readonly encodedMetadataDocument!: pulumi.Output; + /** + * IdP identifier. + */ + public readonly entityId!: pulumi.Output; + /** + * IdP login URL. + */ + public readonly loginUrl!: pulumi.Output; + /** + * SSO enabling status. Valid values: Enabled, Disabled (default). + */ + public readonly ssoStatus!: pulumi.Output; + /** + * Update time. + */ + public /*out*/ readonly updateTime!: pulumi.Output; + /** + * X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + */ + public readonly x509Certificate!: pulumi.Output; + /** + * Space ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterExternalSamlIdentityProvider 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: CenterExternalSamlIdentityProviderArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterExternalSamlIdentityProviderArgs | CenterExternalSamlIdentityProviderState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterExternalSamlIdentityProviderState | undefined; + resourceInputs["acsUrl"] = state ? state.acsUrl : undefined; + resourceInputs["certificateIds"] = state ? state.certificateIds : undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["encodedMetadataDocument"] = state ? state.encodedMetadataDocument : undefined; + resourceInputs["entityId"] = state ? state.entityId : undefined; + resourceInputs["loginUrl"] = state ? state.loginUrl : undefined; + resourceInputs["ssoStatus"] = state ? state.ssoStatus : undefined; + resourceInputs["updateTime"] = state ? state.updateTime : undefined; + resourceInputs["x509Certificate"] = state ? state.x509Certificate : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterExternalSamlIdentityProviderArgs | undefined; + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["encodedMetadataDocument"] = args ? args.encodedMetadataDocument : undefined; + resourceInputs["entityId"] = args ? args.entityId : undefined; + resourceInputs["loginUrl"] = args ? args.loginUrl : undefined; + resourceInputs["ssoStatus"] = args ? args.ssoStatus : undefined; + resourceInputs["x509Certificate"] = args ? args.x509Certificate : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["acsUrl"] = undefined /*out*/; + resourceInputs["certificateIds"] = undefined /*out*/; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["updateTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterExternalSamlIdentityProvider.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterExternalSamlIdentityProvider resources. + */ +export interface CenterExternalSamlIdentityProviderState { + /** + * Acs url. + */ + acsUrl?: pulumi.Input; + /** + * Certificate ids. + */ + certificateIds?: pulumi.Input[]>; + /** + * Create time. + */ + createTime?: pulumi.Input; + /** + * IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + */ + encodedMetadataDocument?: pulumi.Input; + /** + * IdP identifier. + */ + entityId?: pulumi.Input; + /** + * IdP login URL. + */ + loginUrl?: pulumi.Input; + /** + * SSO enabling status. Valid values: Enabled, Disabled (default). + */ + ssoStatus?: pulumi.Input; + /** + * Update time. + */ + updateTime?: pulumi.Input; + /** + * X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + */ + x509Certificate?: pulumi.Input; + /** + * Space ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterExternalSamlIdentityProvider resource. + */ +export interface CenterExternalSamlIdentityProviderArgs { + /** + * IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + */ + encodedMetadataDocument?: pulumi.Input; + /** + * IdP identifier. + */ + entityId?: pulumi.Input; + /** + * IdP login URL. + */ + loginUrl?: pulumi.Input; + /** + * SSO enabling status. Valid values: Enabled, Disabled (default). + */ + ssoStatus?: pulumi.Input; + /** + * X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + */ + x509Certificate?: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerGroup.ts b/sdk/nodejs/identity/centerGroup.ts new file mode 100644 index 000000000..e0277e4b9 --- /dev/null +++ b/sdk/nodejs/identity/centerGroup.ts @@ -0,0 +1,191 @@ +// *** 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 an identity center group + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterGroup = new tencentcloud.identity.CenterGroup("identityCenterGroup", { + * description: "test", + * groupName: "test-group", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * tencentcloud_identity_center_group can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerGroup:CenterGroup identity_center_group ${zoneId}#${groupId} + * ``` + */ +export class CenterGroup extends pulumi.CustomResource { + /** + * Get an existing CenterGroup 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?: CenterGroupState, opts?: pulumi.CustomResourceOptions): CenterGroup { + return new CenterGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerGroup:CenterGroup'; + + /** + * Returns true if the given object is an instance of CenterGroup. 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 CenterGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterGroup.__pulumiType; + } + + /** + * Creation time of the user group. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * A description of the user group. Length: Maximum 1024 characters. + */ + public readonly description!: pulumi.Output; + /** + * ID of the user group. + */ + public /*out*/ readonly groupId!: pulumi.Output; + /** + * The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + */ + public readonly groupName!: pulumi.Output; + /** + * Type of user group. `Manual`: manual creation, `Synchronized`: external import. + */ + public /*out*/ readonly groupType!: pulumi.Output; + /** + * Number of team members. + */ + public /*out*/ readonly memberCount!: pulumi.Output; + /** + * Modification time for the user group. + */ + public /*out*/ readonly updateTime!: pulumi.Output; + /** + * Zone id. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterGroup 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: CenterGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterGroupArgs | CenterGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterGroupState | undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["groupId"] = state ? state.groupId : undefined; + resourceInputs["groupName"] = state ? state.groupName : undefined; + resourceInputs["groupType"] = state ? state.groupType : undefined; + resourceInputs["memberCount"] = state ? state.memberCount : undefined; + resourceInputs["updateTime"] = state ? state.updateTime : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterGroupArgs | undefined; + if ((!args || args.groupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'groupName'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["groupName"] = args ? args.groupName : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["groupId"] = undefined /*out*/; + resourceInputs["groupType"] = undefined /*out*/; + resourceInputs["memberCount"] = undefined /*out*/; + resourceInputs["updateTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterGroup resources. + */ +export interface CenterGroupState { + /** + * Creation time of the user group. + */ + createTime?: pulumi.Input; + /** + * A description of the user group. Length: Maximum 1024 characters. + */ + description?: pulumi.Input; + /** + * ID of the user group. + */ + groupId?: pulumi.Input; + /** + * The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + */ + groupName?: pulumi.Input; + /** + * Type of user group. `Manual`: manual creation, `Synchronized`: external import. + */ + groupType?: pulumi.Input; + /** + * Number of team members. + */ + memberCount?: pulumi.Input; + /** + * Modification time for the user group. + */ + updateTime?: pulumi.Input; + /** + * Zone id. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterGroup resource. + */ +export interface CenterGroupArgs { + /** + * A description of the user group. Length: Maximum 1024 characters. + */ + description?: pulumi.Input; + /** + * The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + */ + groupName: pulumi.Input; + /** + * Zone id. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerRoleAssignment.ts b/sdk/nodejs/identity/centerRoleAssignment.ts new file mode 100644 index 000000000..e42e0a366 --- /dev/null +++ b/sdk/nodejs/identity/centerRoleAssignment.ts @@ -0,0 +1,277 @@ +// *** 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 a organization identityCenterRoleAssignment + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterRoleAssignment = new tencentcloud.identity.CenterRoleAssignment("identityCenterRoleAssignment", { + * principalId: "u-xxxxxx", + * principalType: "User", + * roleConfigurationId: "rc-xxxxxx", + * targetType: "MemberUin", + * targetUin: "xxxxxx", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_role_assignment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment identity_center_role_assignment {zoneId}#{roleConfigurationId}#{targetType}#{targetUinString}#{principalType}#{principalId} + * ``` + */ +export class CenterRoleAssignment extends pulumi.CustomResource { + /** + * Get an existing CenterRoleAssignment 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?: CenterRoleAssignmentState, opts?: pulumi.CustomResourceOptions): CenterRoleAssignment { + return new CenterRoleAssignment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment'; + + /** + * Returns true if the given object is an instance of CenterRoleAssignment. 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 CenterRoleAssignment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterRoleAssignment.__pulumiType; + } + + /** + * Create time. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + */ + public readonly deprovisionStrategy!: pulumi.Output; + /** + * Identity ID for the CAM user synchronization. Valid values: + * When the PrincipalType value is Group, it is the CIC user group ID (g-********). + * When the PrincipalType value is User, it is the CIC user ID (u-********). + */ + public readonly principalId!: pulumi.Output; + /** + * Principal name. + */ + public /*out*/ readonly principalName!: pulumi.Output; + /** + * Identity type for the CAM user synchronization. Valid values: + * + * User: indicates that the identity for the CAM user synchronization is a CIC user. + * Group: indicates that the identity for the CAM user synchronization is a CIC user group. + */ + public readonly principalType!: pulumi.Output; + /** + * Permission configuration ID. + */ + public readonly roleConfigurationId!: pulumi.Output; + /** + * Role configuration name. + */ + public /*out*/ readonly roleConfigurationName!: pulumi.Output; + /** + * Target name. + */ + public /*out*/ readonly targetName!: pulumi.Output; + /** + * Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + */ + public readonly targetType!: pulumi.Output; + /** + * UIN of the synchronized target account of the Tencent Cloud Organization. + */ + public readonly targetUin!: pulumi.Output; + /** + * Update time. + */ + public /*out*/ readonly updateTime!: pulumi.Output; + /** + * Space ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterRoleAssignment 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: CenterRoleAssignmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterRoleAssignmentArgs | CenterRoleAssignmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterRoleAssignmentState | undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["deprovisionStrategy"] = state ? state.deprovisionStrategy : undefined; + resourceInputs["principalId"] = state ? state.principalId : undefined; + resourceInputs["principalName"] = state ? state.principalName : undefined; + resourceInputs["principalType"] = state ? state.principalType : undefined; + resourceInputs["roleConfigurationId"] = state ? state.roleConfigurationId : undefined; + resourceInputs["roleConfigurationName"] = state ? state.roleConfigurationName : undefined; + resourceInputs["targetName"] = state ? state.targetName : undefined; + resourceInputs["targetType"] = state ? state.targetType : undefined; + resourceInputs["targetUin"] = state ? state.targetUin : undefined; + resourceInputs["updateTime"] = state ? state.updateTime : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterRoleAssignmentArgs | undefined; + if ((!args || args.principalId === undefined) && !opts.urn) { + throw new Error("Missing required property 'principalId'"); + } + if ((!args || args.principalType === undefined) && !opts.urn) { + throw new Error("Missing required property 'principalType'"); + } + if ((!args || args.roleConfigurationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleConfigurationId'"); + } + if ((!args || args.targetType === undefined) && !opts.urn) { + throw new Error("Missing required property 'targetType'"); + } + if ((!args || args.targetUin === undefined) && !opts.urn) { + throw new Error("Missing required property 'targetUin'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["deprovisionStrategy"] = args ? args.deprovisionStrategy : undefined; + resourceInputs["principalId"] = args ? args.principalId : undefined; + resourceInputs["principalType"] = args ? args.principalType : undefined; + resourceInputs["roleConfigurationId"] = args ? args.roleConfigurationId : undefined; + resourceInputs["targetType"] = args ? args.targetType : undefined; + resourceInputs["targetUin"] = args ? args.targetUin : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["principalName"] = undefined /*out*/; + resourceInputs["roleConfigurationName"] = undefined /*out*/; + resourceInputs["targetName"] = undefined /*out*/; + resourceInputs["updateTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterRoleAssignment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterRoleAssignment resources. + */ +export interface CenterRoleAssignmentState { + /** + * Create time. + */ + createTime?: pulumi.Input; + /** + * When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + */ + deprovisionStrategy?: pulumi.Input; + /** + * Identity ID for the CAM user synchronization. Valid values: + * When the PrincipalType value is Group, it is the CIC user group ID (g-********). + * When the PrincipalType value is User, it is the CIC user ID (u-********). + */ + principalId?: pulumi.Input; + /** + * Principal name. + */ + principalName?: pulumi.Input; + /** + * Identity type for the CAM user synchronization. Valid values: + * + * User: indicates that the identity for the CAM user synchronization is a CIC user. + * Group: indicates that the identity for the CAM user synchronization is a CIC user group. + */ + principalType?: pulumi.Input; + /** + * Permission configuration ID. + */ + roleConfigurationId?: pulumi.Input; + /** + * Role configuration name. + */ + roleConfigurationName?: pulumi.Input; + /** + * Target name. + */ + targetName?: pulumi.Input; + /** + * Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + */ + targetType?: pulumi.Input; + /** + * UIN of the synchronized target account of the Tencent Cloud Organization. + */ + targetUin?: pulumi.Input; + /** + * Update time. + */ + updateTime?: pulumi.Input; + /** + * Space ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterRoleAssignment resource. + */ +export interface CenterRoleAssignmentArgs { + /** + * When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + */ + deprovisionStrategy?: pulumi.Input; + /** + * Identity ID for the CAM user synchronization. Valid values: + * When the PrincipalType value is Group, it is the CIC user group ID (g-********). + * When the PrincipalType value is User, it is the CIC user ID (u-********). + */ + principalId: pulumi.Input; + /** + * Identity type for the CAM user synchronization. Valid values: + * + * User: indicates that the identity for the CAM user synchronization is a CIC user. + * Group: indicates that the identity for the CAM user synchronization is a CIC user group. + */ + principalType: pulumi.Input; + /** + * Permission configuration ID. + */ + roleConfigurationId: pulumi.Input; + /** + * Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + */ + targetType: pulumi.Input; + /** + * UIN of the synchronized target account of the Tencent Cloud Organization. + */ + targetUin: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerRoleConfiguration.ts b/sdk/nodejs/identity/centerRoleConfiguration.ts new file mode 100644 index 000000000..e7b2e9ebd --- /dev/null +++ b/sdk/nodejs/identity/centerRoleConfiguration.ts @@ -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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a organization identityCenterRoleConfiguration + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterRoleConfiguration = new tencentcloud.identity.CenterRoleConfiguration("identityCenterRoleConfiguration", { + * description: "test", + * roleConfigurationName: "tf-test", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_role_configuration can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration identity_center_role_configuration ${zoneId}#${roleConfigurationId} + * ``` + */ +export class CenterRoleConfiguration extends pulumi.CustomResource { + /** + * Get an existing CenterRoleConfiguration 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?: CenterRoleConfigurationState, opts?: pulumi.CustomResourceOptions): CenterRoleConfiguration { + return new CenterRoleConfiguration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration'; + + /** + * Returns true if the given object is an instance of CenterRoleConfiguration. 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 CenterRoleConfiguration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterRoleConfiguration.__pulumiType; + } + + /** + * Create time. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * Access configuration description, which contains up to 1024 characters. + */ + public readonly description!: pulumi.Output; + /** + * Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + */ + public readonly relayState!: pulumi.Output; + /** + * Role configuration id. + */ + public /*out*/ readonly roleConfigurationId!: pulumi.Output; + /** + * Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + */ + public readonly roleConfigurationName!: pulumi.Output; + /** + * Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + */ + public readonly sessionDuration!: pulumi.Output; + /** + * Update time. + */ + public /*out*/ readonly updateTime!: pulumi.Output; + /** + * Space ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterRoleConfiguration 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: CenterRoleConfigurationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterRoleConfigurationArgs | CenterRoleConfigurationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterRoleConfigurationState | undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["relayState"] = state ? state.relayState : undefined; + resourceInputs["roleConfigurationId"] = state ? state.roleConfigurationId : undefined; + resourceInputs["roleConfigurationName"] = state ? state.roleConfigurationName : undefined; + resourceInputs["sessionDuration"] = state ? state.sessionDuration : undefined; + resourceInputs["updateTime"] = state ? state.updateTime : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterRoleConfigurationArgs | undefined; + if ((!args || args.roleConfigurationName === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleConfigurationName'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["relayState"] = args ? args.relayState : undefined; + resourceInputs["roleConfigurationName"] = args ? args.roleConfigurationName : undefined; + resourceInputs["sessionDuration"] = args ? args.sessionDuration : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["roleConfigurationId"] = undefined /*out*/; + resourceInputs["updateTime"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterRoleConfiguration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterRoleConfiguration resources. + */ +export interface CenterRoleConfigurationState { + /** + * Create time. + */ + createTime?: pulumi.Input; + /** + * Access configuration description, which contains up to 1024 characters. + */ + description?: pulumi.Input; + /** + * Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + */ + relayState?: pulumi.Input; + /** + * Role configuration id. + */ + roleConfigurationId?: pulumi.Input; + /** + * Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + */ + roleConfigurationName?: pulumi.Input; + /** + * Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + */ + sessionDuration?: pulumi.Input; + /** + * Update time. + */ + updateTime?: pulumi.Input; + /** + * Space ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterRoleConfiguration resource. + */ +export interface CenterRoleConfigurationArgs { + /** + * Access configuration description, which contains up to 1024 characters. + */ + description?: pulumi.Input; + /** + * Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + */ + relayState?: pulumi.Input; + /** + * Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + */ + roleConfigurationName: pulumi.Input; + /** + * Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + */ + sessionDuration?: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.ts b/sdk/nodejs/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.ts new file mode 100644 index 000000000..b5e2e4b2d --- /dev/null +++ b/sdk/nodejs/identity/centerRoleConfigurationPermissionCustomPolicyAttachment.ts @@ -0,0 +1,196 @@ +// *** 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 a organization identityCenterRoleConfigurationPermissionCustomPolicyAttachment + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterRoleConfigurationPermissionCustomPolicyAttachment = new tencentcloud.identity.CenterRoleConfigurationPermissionCustomPolicyAttachment("identityCenterRoleConfigurationPermissionCustomPolicyAttachment", { + * zoneId: "z-xxxxxx", + * roleConfigurationId: "rc-xxxxxx", + * rolePolicyName: "CustomPolicy", + * rolePolicyDocument: `{ + * "version": "2.0", + * "statement": [ + * { + * "effect": "allow", + * "action": [ + * "vpc:AcceptAttachCcnInstances" + * ], + * "resource": [ + * "*" + * ] + * } + * ] + * } + * `, + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_role_configuration_permission_custom_policy_attachment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment identity_center_role_configuration_permission_custom_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName} + * ``` + */ +export class CenterRoleConfigurationPermissionCustomPolicyAttachment extends pulumi.CustomResource { + /** + * Get an existing CenterRoleConfigurationPermissionCustomPolicyAttachment 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?: CenterRoleConfigurationPermissionCustomPolicyAttachmentState, opts?: pulumi.CustomResourceOptions): CenterRoleConfigurationPermissionCustomPolicyAttachment { + return new CenterRoleConfigurationPermissionCustomPolicyAttachment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment'; + + /** + * Returns true if the given object is an instance of CenterRoleConfigurationPermissionCustomPolicyAttachment. 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 CenterRoleConfigurationPermissionCustomPolicyAttachment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterRoleConfigurationPermissionCustomPolicyAttachment.__pulumiType; + } + + /** + * Role policy add time. + */ + public /*out*/ readonly addTime!: pulumi.Output; + /** + * Permission configuration ID. + */ + public readonly roleConfigurationId!: pulumi.Output; + /** + * Role policy document. + */ + public readonly rolePolicyDocument!: pulumi.Output; + /** + * Role policy name. + */ + public readonly rolePolicyName!: pulumi.Output; + /** + * Role policy type. + */ + public /*out*/ readonly rolePolicyType!: pulumi.Output; + /** + * Space ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterRoleConfigurationPermissionCustomPolicyAttachment 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: CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs | CenterRoleConfigurationPermissionCustomPolicyAttachmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterRoleConfigurationPermissionCustomPolicyAttachmentState | undefined; + resourceInputs["addTime"] = state ? state.addTime : undefined; + resourceInputs["roleConfigurationId"] = state ? state.roleConfigurationId : undefined; + resourceInputs["rolePolicyDocument"] = state ? state.rolePolicyDocument : undefined; + resourceInputs["rolePolicyName"] = state ? state.rolePolicyName : undefined; + resourceInputs["rolePolicyType"] = state ? state.rolePolicyType : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs | undefined; + if ((!args || args.roleConfigurationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleConfigurationId'"); + } + if ((!args || args.rolePolicyDocument === undefined) && !opts.urn) { + throw new Error("Missing required property 'rolePolicyDocument'"); + } + if ((!args || args.rolePolicyName === undefined) && !opts.urn) { + throw new Error("Missing required property 'rolePolicyName'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["roleConfigurationId"] = args ? args.roleConfigurationId : undefined; + resourceInputs["rolePolicyDocument"] = args ? args.rolePolicyDocument : undefined; + resourceInputs["rolePolicyName"] = args ? args.rolePolicyName : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["addTime"] = undefined /*out*/; + resourceInputs["rolePolicyType"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterRoleConfigurationPermissionCustomPolicyAttachment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPolicyAttachment resources. + */ +export interface CenterRoleConfigurationPermissionCustomPolicyAttachmentState { + /** + * Role policy add time. + */ + addTime?: pulumi.Input; + /** + * Permission configuration ID. + */ + roleConfigurationId?: pulumi.Input; + /** + * Role policy document. + */ + rolePolicyDocument?: pulumi.Input; + /** + * Role policy name. + */ + rolePolicyName?: pulumi.Input; + /** + * Role policy type. + */ + rolePolicyType?: pulumi.Input; + /** + * Space ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterRoleConfigurationPermissionCustomPolicyAttachment resource. + */ +export interface CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs { + /** + * Permission configuration ID. + */ + roleConfigurationId: pulumi.Input; + /** + * Role policy document. + */ + rolePolicyDocument: pulumi.Input; + /** + * Role policy name. + */ + rolePolicyName: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerRoleConfigurationPermissionPolicyAttachment.ts b/sdk/nodejs/identity/centerRoleConfigurationPermissionPolicyAttachment.ts new file mode 100644 index 000000000..3fe58e3f2 --- /dev/null +++ b/sdk/nodejs/identity/centerRoleConfigurationPermissionPolicyAttachment.ts @@ -0,0 +1,188 @@ +// *** 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 a organization identityCenterRoleConfigurationPermissionPolicyAttachment + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterRoleConfigurationPermissionPolicyAttachment = new tencentcloud.identity.CenterRoleConfigurationPermissionPolicyAttachment("identityCenterRoleConfigurationPermissionPolicyAttachment", { + * zoneId: "z-xxxxxx", + * roleConfigurationId: "rc-xxxxxx", + * rolePolicyId: xxxxxx, + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_role_configuration_permission_policy_attachment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment identity_center_role_configuration_permission_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyIdString} + * ``` + */ +export class CenterRoleConfigurationPermissionPolicyAttachment extends pulumi.CustomResource { + /** + * Get an existing CenterRoleConfigurationPermissionPolicyAttachment 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?: CenterRoleConfigurationPermissionPolicyAttachmentState, opts?: pulumi.CustomResourceOptions): CenterRoleConfigurationPermissionPolicyAttachment { + return new CenterRoleConfigurationPermissionPolicyAttachment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment'; + + /** + * Returns true if the given object is an instance of CenterRoleConfigurationPermissionPolicyAttachment. 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 CenterRoleConfigurationPermissionPolicyAttachment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterRoleConfigurationPermissionPolicyAttachment.__pulumiType; + } + + /** + * Role policy add time. + */ + public /*out*/ readonly addTime!: pulumi.Output; + /** + * Permission configuration ID. + */ + public readonly roleConfigurationId!: pulumi.Output; + /** + * Role policy document. + */ + public /*out*/ readonly rolePolicyDocument!: pulumi.Output; + /** + * Role policy id. + */ + public readonly rolePolicyId!: pulumi.Output; + /** + * Role policy name. + */ + public readonly rolePolicyName!: pulumi.Output; + /** + * Role policy type. + */ + public /*out*/ readonly rolePolicyType!: pulumi.Output; + /** + * Space ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterRoleConfigurationPermissionPolicyAttachment 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: CenterRoleConfigurationPermissionPolicyAttachmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterRoleConfigurationPermissionPolicyAttachmentArgs | CenterRoleConfigurationPermissionPolicyAttachmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterRoleConfigurationPermissionPolicyAttachmentState | undefined; + resourceInputs["addTime"] = state ? state.addTime : undefined; + resourceInputs["roleConfigurationId"] = state ? state.roleConfigurationId : undefined; + resourceInputs["rolePolicyDocument"] = state ? state.rolePolicyDocument : undefined; + resourceInputs["rolePolicyId"] = state ? state.rolePolicyId : undefined; + resourceInputs["rolePolicyName"] = state ? state.rolePolicyName : undefined; + resourceInputs["rolePolicyType"] = state ? state.rolePolicyType : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterRoleConfigurationPermissionPolicyAttachmentArgs | undefined; + if ((!args || args.roleConfigurationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleConfigurationId'"); + } + if ((!args || args.rolePolicyId === undefined) && !opts.urn) { + throw new Error("Missing required property 'rolePolicyId'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["roleConfigurationId"] = args ? args.roleConfigurationId : undefined; + resourceInputs["rolePolicyId"] = args ? args.rolePolicyId : undefined; + resourceInputs["rolePolicyName"] = args ? args.rolePolicyName : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["addTime"] = undefined /*out*/; + resourceInputs["rolePolicyDocument"] = undefined /*out*/; + resourceInputs["rolePolicyType"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterRoleConfigurationPermissionPolicyAttachment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterRoleConfigurationPermissionPolicyAttachment resources. + */ +export interface CenterRoleConfigurationPermissionPolicyAttachmentState { + /** + * Role policy add time. + */ + addTime?: pulumi.Input; + /** + * Permission configuration ID. + */ + roleConfigurationId?: pulumi.Input; + /** + * Role policy document. + */ + rolePolicyDocument?: pulumi.Input; + /** + * Role policy id. + */ + rolePolicyId?: pulumi.Input; + /** + * Role policy name. + */ + rolePolicyName?: pulumi.Input; + /** + * Role policy type. + */ + rolePolicyType?: pulumi.Input; + /** + * Space ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterRoleConfigurationPermissionPolicyAttachment resource. + */ +export interface CenterRoleConfigurationPermissionPolicyAttachmentArgs { + /** + * Permission configuration ID. + */ + roleConfigurationId: pulumi.Input; + /** + * Role policy id. + */ + rolePolicyId: pulumi.Input; + /** + * Role policy name. + */ + rolePolicyName?: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerUser.ts b/sdk/nodejs/identity/centerUser.ts new file mode 100644 index 000000000..b54b28503 --- /dev/null +++ b/sdk/nodejs/identity/centerUser.ts @@ -0,0 +1,251 @@ +// *** 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 an identity center user + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterUser = new tencentcloud.identity.CenterUser("identityCenterUser", { + * description: "test", + * userName: "test-user", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_user can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerUser:CenterUser identity_center_user ${zoneId}#${userId} + * ``` + */ +export class CenterUser extends pulumi.CustomResource { + /** + * Get an existing CenterUser 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?: CenterUserState, opts?: pulumi.CustomResourceOptions): CenterUser { + return new CenterUser(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerUser:CenterUser'; + + /** + * Returns true if the given object is an instance of CenterUser. 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 CenterUser { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterUser.__pulumiType; + } + + /** + * Create time. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * User's description. Length: Maximum 1024 characters. + */ + public readonly description!: pulumi.Output; + /** + * The display name of the user. Length: Maximum 256 characters. + */ + public readonly displayName!: pulumi.Output; + /** + * The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + */ + public readonly email!: pulumi.Output; + /** + * The user's last name. Length: Maximum 64 characters. + */ + public readonly firstName!: pulumi.Output; + /** + * The user's name. Length: Maximum 64 characters. + */ + public readonly lastName!: pulumi.Output; + /** + * Update time. + */ + public /*out*/ readonly updateTime!: pulumi.Output; + /** + * User id. + */ + public /*out*/ readonly userId!: pulumi.Output; + /** + * User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + */ + public readonly userName!: pulumi.Output; + /** + * The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + */ + public readonly userStatus!: pulumi.Output; + /** + * User type. + */ + public /*out*/ readonly userType!: pulumi.Output; + /** + * Zone id. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterUser 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: CenterUserArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterUserArgs | CenterUserState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterUserState | undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["email"] = state ? state.email : undefined; + resourceInputs["firstName"] = state ? state.firstName : undefined; + resourceInputs["lastName"] = state ? state.lastName : undefined; + resourceInputs["updateTime"] = state ? state.updateTime : undefined; + resourceInputs["userId"] = state ? state.userId : undefined; + resourceInputs["userName"] = state ? state.userName : undefined; + resourceInputs["userStatus"] = state ? state.userStatus : undefined; + resourceInputs["userType"] = state ? state.userType : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterUserArgs | undefined; + if ((!args || args.userName === undefined) && !opts.urn) { + throw new Error("Missing required property 'userName'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["email"] = args ? args.email : undefined; + resourceInputs["firstName"] = args ? args.firstName : undefined; + resourceInputs["lastName"] = args ? args.lastName : undefined; + resourceInputs["userName"] = args ? args.userName : undefined; + resourceInputs["userStatus"] = args ? args.userStatus : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["updateTime"] = undefined /*out*/; + resourceInputs["userId"] = undefined /*out*/; + resourceInputs["userType"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterUser.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterUser resources. + */ +export interface CenterUserState { + /** + * Create time. + */ + createTime?: pulumi.Input; + /** + * User's description. Length: Maximum 1024 characters. + */ + description?: pulumi.Input; + /** + * The display name of the user. Length: Maximum 256 characters. + */ + displayName?: pulumi.Input; + /** + * The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + */ + email?: pulumi.Input; + /** + * The user's last name. Length: Maximum 64 characters. + */ + firstName?: pulumi.Input; + /** + * The user's name. Length: Maximum 64 characters. + */ + lastName?: pulumi.Input; + /** + * Update time. + */ + updateTime?: pulumi.Input; + /** + * User id. + */ + userId?: pulumi.Input; + /** + * User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + */ + userName?: pulumi.Input; + /** + * The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + */ + userStatus?: pulumi.Input; + /** + * User type. + */ + userType?: pulumi.Input; + /** + * Zone id. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterUser resource. + */ +export interface CenterUserArgs { + /** + * User's description. Length: Maximum 1024 characters. + */ + description?: pulumi.Input; + /** + * The display name of the user. Length: Maximum 256 characters. + */ + displayName?: pulumi.Input; + /** + * The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + */ + email?: pulumi.Input; + /** + * The user's last name. Length: Maximum 64 characters. + */ + firstName?: pulumi.Input; + /** + * The user's name. Length: Maximum 64 characters. + */ + lastName?: pulumi.Input; + /** + * User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + */ + userName: pulumi.Input; + /** + * The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + */ + userStatus?: pulumi.Input; + /** + * Zone id. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerUserGroupAttachment.ts b/sdk/nodejs/identity/centerUserGroupAttachment.ts new file mode 100644 index 000000000..6fd869c62 --- /dev/null +++ b/sdk/nodejs/identity/centerUserGroupAttachment.ts @@ -0,0 +1,144 @@ +// *** 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 an identity center user group attachment + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterUserGroupAttachment = new tencentcloud.identity.CenterUserGroupAttachment("identityCenterUserGroupAttachment", { + * groupId: "g-xxxxxx", + * userId: "u-xxxxxx", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_user_group_attachment can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment identity_center_user_group_attachment ${zoneId}#${groupId}#${userId} + * ``` + */ +export class CenterUserGroupAttachment extends pulumi.CustomResource { + /** + * Get an existing CenterUserGroupAttachment 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?: CenterUserGroupAttachmentState, opts?: pulumi.CustomResourceOptions): CenterUserGroupAttachment { + return new CenterUserGroupAttachment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment'; + + /** + * Returns true if the given object is an instance of CenterUserGroupAttachment. 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 CenterUserGroupAttachment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterUserGroupAttachment.__pulumiType; + } + + /** + * User group ID. + */ + public readonly groupId!: pulumi.Output; + /** + * User ID. + */ + public readonly userId!: pulumi.Output; + /** + * Zone id. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterUserGroupAttachment 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: CenterUserGroupAttachmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterUserGroupAttachmentArgs | CenterUserGroupAttachmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterUserGroupAttachmentState | undefined; + resourceInputs["groupId"] = state ? state.groupId : undefined; + resourceInputs["userId"] = state ? state.userId : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterUserGroupAttachmentArgs | undefined; + if ((!args || args.groupId === undefined) && !opts.urn) { + throw new Error("Missing required property 'groupId'"); + } + if ((!args || args.userId === undefined) && !opts.urn) { + throw new Error("Missing required property 'userId'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["groupId"] = args ? args.groupId : undefined; + resourceInputs["userId"] = args ? args.userId : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterUserGroupAttachment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterUserGroupAttachment resources. + */ +export interface CenterUserGroupAttachmentState { + /** + * User group ID. + */ + groupId?: pulumi.Input; + /** + * User ID. + */ + userId?: pulumi.Input; + /** + * Zone id. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterUserGroupAttachment resource. + */ +export interface CenterUserGroupAttachmentArgs { + /** + * User group ID. + */ + groupId: pulumi.Input; + /** + * User ID. + */ + userId: pulumi.Input; + /** + * Zone id. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/centerUserSyncProvisioning.ts b/sdk/nodejs/identity/centerUserSyncProvisioning.ts new file mode 100644 index 000000000..2f0ac400a --- /dev/null +++ b/sdk/nodejs/identity/centerUserSyncProvisioning.ts @@ -0,0 +1,292 @@ +// *** 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 a organization identityCenterUserSyncProvisioning + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const identityCenterUserSyncProvisioning = new tencentcloud.identity.CenterUserSyncProvisioning("identityCenterUserSyncProvisioning", { + * deletionStrategy: "Keep", + * description: "tf-test", + * duplicationStrategy: "TakeOver", + * principalId: "u-xxxxxx", + * principalType: "User", + * targetType: "MemberUin", + * targetUin: "xxxxxx", + * zoneId: "z-xxxxxx", + * }); + * ``` + * + * + * ## Import + * + * organization identity_center_user_sync_provisioning can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning identity_center_user_sync_provisioning ${zoneId}#${userProvisioningId} + * ``` + */ +export class CenterUserSyncProvisioning extends pulumi.CustomResource { + /** + * Get an existing CenterUserSyncProvisioning 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?: CenterUserSyncProvisioningState, opts?: pulumi.CustomResourceOptions): CenterUserSyncProvisioning { + return new CenterUserSyncProvisioning(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning'; + + /** + * Returns true if the given object is an instance of CenterUserSyncProvisioning. 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 CenterUserSyncProvisioning { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CenterUserSyncProvisioning.__pulumiType; + } + + /** + * Create time. + */ + public /*out*/ readonly createTime!: pulumi.Output; + /** + * Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + */ + public readonly deletionStrategy!: pulumi.Output; + /** + * Description. + */ + public readonly description!: pulumi.Output; + /** + * Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + */ + public readonly duplicationStrategy!: pulumi.Output; + /** + * Identity ID for the CAM user synchronization. Valid values: + * When the PrincipalType value is Group, it is the CIC user group ID (g-********). + * When the PrincipalType value is User, it is the CIC user ID (u-********). + */ + public readonly principalId!: pulumi.Output; + /** + * The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + */ + public /*out*/ readonly principalName!: pulumi.Output; + /** + * Identity type for the CAM user synchronization. Valid values: + * + * User: indicates that the identity for the CAM user synchronization is a CIC user. + * Group: indicates that the identity for the CAM user synchronization is a CIC user group. + */ + public readonly principalType!: pulumi.Output; + /** + * Status of CAM user synchronization. Value: + * * Enabled: CAM user synchronization is enabled; + * * Disabled: CAM user synchronization is not enabled. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Group account The name of the target account.. + */ + public /*out*/ readonly targetName!: pulumi.Output; + /** + * Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + */ + public readonly targetType!: pulumi.Output; + /** + * UIN of the synchronized target account of the Tencent Cloud Organization. + */ + public readonly targetUin!: pulumi.Output; + /** + * Update time. + */ + public /*out*/ readonly updateTime!: pulumi.Output; + /** + * User provisioning id. + */ + public /*out*/ readonly userProvisioningId!: pulumi.Output; + /** + * Space ID. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a CenterUserSyncProvisioning 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: CenterUserSyncProvisioningArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CenterUserSyncProvisioningArgs | CenterUserSyncProvisioningState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CenterUserSyncProvisioningState | undefined; + resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["deletionStrategy"] = state ? state.deletionStrategy : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["duplicationStrategy"] = state ? state.duplicationStrategy : undefined; + resourceInputs["principalId"] = state ? state.principalId : undefined; + resourceInputs["principalName"] = state ? state.principalName : undefined; + resourceInputs["principalType"] = state ? state.principalType : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["targetName"] = state ? state.targetName : undefined; + resourceInputs["targetType"] = state ? state.targetType : undefined; + resourceInputs["targetUin"] = state ? state.targetUin : undefined; + resourceInputs["updateTime"] = state ? state.updateTime : undefined; + resourceInputs["userProvisioningId"] = state ? state.userProvisioningId : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as CenterUserSyncProvisioningArgs | undefined; + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["deletionStrategy"] = args ? args.deletionStrategy : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["duplicationStrategy"] = args ? args.duplicationStrategy : undefined; + resourceInputs["principalId"] = args ? args.principalId : undefined; + resourceInputs["principalType"] = args ? args.principalType : undefined; + resourceInputs["targetType"] = args ? args.targetType : undefined; + resourceInputs["targetUin"] = args ? args.targetUin : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["principalName"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["targetName"] = undefined /*out*/; + resourceInputs["updateTime"] = undefined /*out*/; + resourceInputs["userProvisioningId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CenterUserSyncProvisioning.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CenterUserSyncProvisioning resources. + */ +export interface CenterUserSyncProvisioningState { + /** + * Create time. + */ + createTime?: pulumi.Input; + /** + * Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + */ + deletionStrategy?: pulumi.Input; + /** + * Description. + */ + description?: pulumi.Input; + /** + * Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + */ + duplicationStrategy?: pulumi.Input; + /** + * Identity ID for the CAM user synchronization. Valid values: + * When the PrincipalType value is Group, it is the CIC user group ID (g-********). + * When the PrincipalType value is User, it is the CIC user ID (u-********). + */ + principalId?: pulumi.Input; + /** + * The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + */ + principalName?: pulumi.Input; + /** + * Identity type for the CAM user synchronization. Valid values: + * + * User: indicates that the identity for the CAM user synchronization is a CIC user. + * Group: indicates that the identity for the CAM user synchronization is a CIC user group. + */ + principalType?: pulumi.Input; + /** + * Status of CAM user synchronization. Value: + * * Enabled: CAM user synchronization is enabled; + * * Disabled: CAM user synchronization is not enabled. + */ + status?: pulumi.Input; + /** + * Group account The name of the target account.. + */ + targetName?: pulumi.Input; + /** + * Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + */ + targetType?: pulumi.Input; + /** + * UIN of the synchronized target account of the Tencent Cloud Organization. + */ + targetUin?: pulumi.Input; + /** + * Update time. + */ + updateTime?: pulumi.Input; + /** + * User provisioning id. + */ + userProvisioningId?: pulumi.Input; + /** + * Space ID. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CenterUserSyncProvisioning resource. + */ +export interface CenterUserSyncProvisioningArgs { + /** + * Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + */ + deletionStrategy?: pulumi.Input; + /** + * Description. + */ + description?: pulumi.Input; + /** + * Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + */ + duplicationStrategy?: pulumi.Input; + /** + * Identity ID for the CAM user synchronization. Valid values: + * When the PrincipalType value is Group, it is the CIC user group ID (g-********). + * When the PrincipalType value is User, it is the CIC user ID (u-********). + */ + principalId?: pulumi.Input; + /** + * Identity type for the CAM user synchronization. Valid values: + * + * User: indicates that the identity for the CAM user synchronization is a CIC user. + * Group: indicates that the identity for the CAM user synchronization is a CIC user group. + */ + principalType?: pulumi.Input; + /** + * Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + */ + targetType?: pulumi.Input; + /** + * UIN of the synchronized target account of the Tencent Cloud Organization. + */ + targetUin?: pulumi.Input; + /** + * Space ID. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/identity/index.ts b/sdk/nodejs/identity/index.ts new file mode 100644 index 000000000..e95cca412 --- /dev/null +++ b/sdk/nodejs/identity/index.ts @@ -0,0 +1,89 @@ +// *** 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"; + +// Export members: +export { CenterExternalSamlIdentityProviderArgs, CenterExternalSamlIdentityProviderState } from "./centerExternalSamlIdentityProvider"; +export type CenterExternalSamlIdentityProvider = import("./centerExternalSamlIdentityProvider").CenterExternalSamlIdentityProvider; +export const CenterExternalSamlIdentityProvider: typeof import("./centerExternalSamlIdentityProvider").CenterExternalSamlIdentityProvider = null as any; +utilities.lazyLoad(exports, ["CenterExternalSamlIdentityProvider"], () => require("./centerExternalSamlIdentityProvider")); + +export { CenterGroupArgs, CenterGroupState } from "./centerGroup"; +export type CenterGroup = import("./centerGroup").CenterGroup; +export const CenterGroup: typeof import("./centerGroup").CenterGroup = null as any; +utilities.lazyLoad(exports, ["CenterGroup"], () => require("./centerGroup")); + +export { CenterRoleAssignmentArgs, CenterRoleAssignmentState } from "./centerRoleAssignment"; +export type CenterRoleAssignment = import("./centerRoleAssignment").CenterRoleAssignment; +export const CenterRoleAssignment: typeof import("./centerRoleAssignment").CenterRoleAssignment = null as any; +utilities.lazyLoad(exports, ["CenterRoleAssignment"], () => require("./centerRoleAssignment")); + +export { CenterRoleConfigurationArgs, CenterRoleConfigurationState } from "./centerRoleConfiguration"; +export type CenterRoleConfiguration = import("./centerRoleConfiguration").CenterRoleConfiguration; +export const CenterRoleConfiguration: typeof import("./centerRoleConfiguration").CenterRoleConfiguration = null as any; +utilities.lazyLoad(exports, ["CenterRoleConfiguration"], () => require("./centerRoleConfiguration")); + +export { CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs, CenterRoleConfigurationPermissionCustomPolicyAttachmentState } from "./centerRoleConfigurationPermissionCustomPolicyAttachment"; +export type CenterRoleConfigurationPermissionCustomPolicyAttachment = import("./centerRoleConfigurationPermissionCustomPolicyAttachment").CenterRoleConfigurationPermissionCustomPolicyAttachment; +export const CenterRoleConfigurationPermissionCustomPolicyAttachment: typeof import("./centerRoleConfigurationPermissionCustomPolicyAttachment").CenterRoleConfigurationPermissionCustomPolicyAttachment = null as any; +utilities.lazyLoad(exports, ["CenterRoleConfigurationPermissionCustomPolicyAttachment"], () => require("./centerRoleConfigurationPermissionCustomPolicyAttachment")); + +export { CenterRoleConfigurationPermissionPolicyAttachmentArgs, CenterRoleConfigurationPermissionPolicyAttachmentState } from "./centerRoleConfigurationPermissionPolicyAttachment"; +export type CenterRoleConfigurationPermissionPolicyAttachment = import("./centerRoleConfigurationPermissionPolicyAttachment").CenterRoleConfigurationPermissionPolicyAttachment; +export const CenterRoleConfigurationPermissionPolicyAttachment: typeof import("./centerRoleConfigurationPermissionPolicyAttachment").CenterRoleConfigurationPermissionPolicyAttachment = null as any; +utilities.lazyLoad(exports, ["CenterRoleConfigurationPermissionPolicyAttachment"], () => require("./centerRoleConfigurationPermissionPolicyAttachment")); + +export { CenterUserArgs, CenterUserState } from "./centerUser"; +export type CenterUser = import("./centerUser").CenterUser; +export const CenterUser: typeof import("./centerUser").CenterUser = null as any; +utilities.lazyLoad(exports, ["CenterUser"], () => require("./centerUser")); + +export { CenterUserGroupAttachmentArgs, CenterUserGroupAttachmentState } from "./centerUserGroupAttachment"; +export type CenterUserGroupAttachment = import("./centerUserGroupAttachment").CenterUserGroupAttachment; +export const CenterUserGroupAttachment: typeof import("./centerUserGroupAttachment").CenterUserGroupAttachment = null as any; +utilities.lazyLoad(exports, ["CenterUserGroupAttachment"], () => require("./centerUserGroupAttachment")); + +export { CenterUserSyncProvisioningArgs, CenterUserSyncProvisioningState } from "./centerUserSyncProvisioning"; +export type CenterUserSyncProvisioning = import("./centerUserSyncProvisioning").CenterUserSyncProvisioning; +export const CenterUserSyncProvisioning: typeof import("./centerUserSyncProvisioning").CenterUserSyncProvisioning = null as any; +utilities.lazyLoad(exports, ["CenterUserSyncProvisioning"], () => require("./centerUserSyncProvisioning")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider": + return new CenterExternalSamlIdentityProvider(name, undefined, { urn }) + case "tencentcloud:Identity/centerGroup:CenterGroup": + return new CenterGroup(name, undefined, { urn }) + case "tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment": + return new CenterRoleAssignment(name, undefined, { urn }) + case "tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration": + return new CenterRoleConfiguration(name, undefined, { urn }) + case "tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment": + return new CenterRoleConfigurationPermissionCustomPolicyAttachment(name, undefined, { urn }) + case "tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment": + return new CenterRoleConfigurationPermissionPolicyAttachment(name, undefined, { urn }) + case "tencentcloud:Identity/centerUser:CenterUser": + return new CenterUser(name, undefined, { urn }) + case "tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment": + return new CenterUserGroupAttachment(name, undefined, { urn }) + case "tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning": + return new CenterUserSyncProvisioning(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerExternalSamlIdentityProvider", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerGroup", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerRoleAssignment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerRoleConfiguration", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerRoleConfigurationPermissionCustomPolicyAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerRoleConfigurationPermissionPolicyAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerUser", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerUserGroupAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Identity/centerUserSyncProvisioning", _module) diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index dd3233e4c..4bcb3cf2b 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -20,13 +20,16 @@ import * as as from "./as"; import * as audit from "./audit"; import * as audits from "./audits"; import * as availability from "./availability"; +import * as batch from "./batch"; import * as bi from "./bi"; import * as cam from "./cam"; import * as cat from "./cat"; import * as cbs from "./cbs"; import * as ccn from "./ccn"; +import * as cdc from "./cdc"; import * as cdh from "./cdh"; import * as cdn from "./cdn"; +import * as cdwdoris from "./cdwdoris"; import * as cdwpg from "./cdwpg"; import * as cfs from "./cfs"; import * as cfw from "./cfw"; @@ -65,15 +68,18 @@ import * as eni from "./eni"; import * as enis from "./enis"; import * as gaap from "./gaap"; import * as ha from "./ha"; +import * as identity from "./identity"; import * as image from "./image"; import * as images from "./images"; import * as instance from "./instance"; import * as instances from "./instances"; +import * as invite from "./invite"; import * as ipv6 from "./ipv6"; import * as key from "./key"; import * as kms from "./kms"; import * as kubernetes from "./kubernetes"; import * as lighthouse from "./lighthouse"; +import * as lite from "./lite"; import * as mariadb from "./mariadb"; import * as mdl from "./mdl"; import * as mongodb from "./mongodb"; @@ -113,6 +119,7 @@ import * as tdcpg from "./tdcpg"; import * as tdmq from "./tdmq"; import * as tem from "./tem"; import * as teo from "./teo"; +import * as thpc from "./thpc"; import * as trocket from "./trocket"; import * as tse from "./tse"; import * as tsf from "./tsf"; @@ -133,13 +140,16 @@ export { audit, audits, availability, + batch, bi, cam, cat, cbs, ccn, + cdc, cdh, cdn, + cdwdoris, cdwpg, cfs, cfw, @@ -178,15 +188,18 @@ export { enis, gaap, ha, + identity, image, images, instance, instances, + invite, ipv6, key, kms, kubernetes, lighthouse, + lite, mariadb, mdl, mongodb, @@ -226,6 +239,7 @@ export { tdmq, tem, teo, + thpc, trocket, tse, tsf, diff --git a/sdk/nodejs/instance/instance.ts b/sdk/nodejs/instance/instance.ts index af91a458d..e0391719c 100644 --- a/sdk/nodejs/instance/instance.ts +++ b/sdk/nodejs/instance/instance.ts @@ -13,12 +13,138 @@ import * as utilities from "../utilities"; * * > **NOTE:** At present, 'PREPAID' instance cannot be deleted directly and must wait it to be outdated and released automatically. * + * ## Example Usage + * + * ### Create a general POSTPAID_BY_HOUR CVM instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * const images = tencentcloud.Images.getInstance({ + * imageTypes: ["PUBLIC_IMAGE"], + * imageNameRegex: "OpenCloudOS Server", + * }); + * const types = tencentcloud.Instance.getTypes({ + * filters: [{ + * name: "instance-family", + * values: [ + * "S1", + * "S2", + * "S3", + * "S4", + * "S5", + * ], + * }], + * cpuCoreCount: 2, + * excludeSoldOut: true, + * }); + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", + * }); + * // create CVM instance + * const example = new tencentcloud.instance.Instance("example", { + * instanceName: "tf-example", + * availabilityZone: availabilityZone, + * imageId: images.then(images => images.images?.[0]?.imageId), + * instanceType: types.then(types => types.instanceTypes?.[0]?.instanceType), + * systemDiskType: "CLOUD_PREMIUM", + * systemDiskSize: 50, + * hostname: "user", + * projectId: 0, + * vpcId: vpc.id, + * subnetId: subnet.id, + * dataDisks: [{ + * dataDiskType: "CLOUD_PREMIUM", + * dataDiskSize: 50, + * encrypt: false, + * }], + * tags: { + * tagKey: "tagValue", + * }, + * }); + * ``` + * + * + * ### Create a dedicated cluster CVM instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * const images = tencentcloud.Images.getInstance({ + * imageTypes: ["PUBLIC_IMAGE"], + * imageNameRegex: "OpenCloudOS Server", + * }); + * const types = tencentcloud.Instance.getTypes({ + * filters: [{ + * name: "instance-family", + * values: [ + * "S1", + * "S2", + * "S3", + * "S4", + * "S5", + * ], + * }], + * cpuCoreCount: 2, + * excludeSoldOut: true, + * }); + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", + * cdcId: "cluster-262n63e8", + * isMulticast: false, + * }); + * // create CVM instance + * const example = new tencentcloud.instance.Instance("example", { + * instanceName: "tf-example", + * availabilityZone: availabilityZone, + * imageId: images.then(images => images.images?.[0]?.imageId), + * instanceType: types.then(types => types.instanceTypes?.[0]?.instanceType), + * dedicatedClusterId: "cluster-262n63e8", + * instanceChargeType: "CDCPAID", + * systemDiskType: "CLOUD_SSD", + * systemDiskSize: 50, + * hostname: "user", + * projectId: 0, + * vpcId: vpc.id, + * subnetId: subnet.id, + * dataDisks: [{ + * dataDiskType: "CLOUD_SSD", + * dataDiskSize: 50, + * encrypt: false, + * }], + * tags: { + * tagKey: "tagValue", + * }, + * }); + * ``` + * + * * ## Import * * CVM instance can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Instance/instance:Instance foo ins-2qol3a80 + * $ pulumi import tencentcloud:Instance/instance:Instance example ins-2qol3a80 * ``` */ export class Instance extends pulumi.CustomResource { @@ -85,6 +211,10 @@ export class Instance extends pulumi.CustomResource { * Settings for data disks. */ public readonly dataDisks!: pulumi.Output; + /** + * Exclusive cluster id. + */ + public readonly dedicatedClusterId!: pulumi.Output; /** * Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. */ @@ -227,6 +357,10 @@ export class Instance extends pulumi.CustomResource { * System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. */ public readonly systemDiskId!: pulumi.Output; + /** + * Resize online. + */ + public readonly systemDiskResizeOnline!: pulumi.Output; /** * Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. */ @@ -278,6 +412,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["cpu"] = state ? state.cpu : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["dataDisks"] = state ? state.dataDisks : undefined; + resourceInputs["dedicatedClusterId"] = state ? state.dedicatedClusterId : undefined; resourceInputs["disableApiTermination"] = state ? state.disableApiTermination : undefined; resourceInputs["disableMonitorService"] = state ? state.disableMonitorService : undefined; resourceInputs["disableSecurityService"] = state ? state.disableSecurityService : undefined; @@ -312,6 +447,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["stoppedMode"] = state ? state.stoppedMode : undefined; resourceInputs["subnetId"] = state ? state.subnetId : undefined; resourceInputs["systemDiskId"] = state ? state.systemDiskId : undefined; + resourceInputs["systemDiskResizeOnline"] = state ? state.systemDiskResizeOnline : undefined; resourceInputs["systemDiskSize"] = state ? state.systemDiskSize : undefined; resourceInputs["systemDiskType"] = state ? state.systemDiskType : undefined; resourceInputs["tags"] = state ? state.tags : undefined; @@ -334,6 +470,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["cdhHostId"] = args ? args.cdhHostId : undefined; resourceInputs["cdhInstanceType"] = args ? args.cdhInstanceType : undefined; resourceInputs["dataDisks"] = args ? args.dataDisks : undefined; + resourceInputs["dedicatedClusterId"] = args ? args.dedicatedClusterId : undefined; resourceInputs["disableApiTermination"] = args ? args.disableApiTermination : undefined; resourceInputs["disableMonitorService"] = args ? args.disableMonitorService : undefined; resourceInputs["disableSecurityService"] = args ? args.disableSecurityService : undefined; @@ -363,6 +500,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["stoppedMode"] = args ? args.stoppedMode : undefined; resourceInputs["subnetId"] = args ? args.subnetId : undefined; resourceInputs["systemDiskId"] = args ? args.systemDiskId : undefined; + resourceInputs["systemDiskResizeOnline"] = args ? args.systemDiskResizeOnline : undefined; resourceInputs["systemDiskSize"] = args ? args.systemDiskSize : undefined; resourceInputs["systemDiskType"] = args ? args.systemDiskType : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -425,6 +563,10 @@ export interface InstanceState { * Settings for data disks. */ dataDisks?: pulumi.Input[]>; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. */ @@ -567,6 +709,10 @@ export interface InstanceState { * System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. */ systemDiskId?: pulumi.Input; + /** + * Resize online. + */ + systemDiskResizeOnline?: pulumi.Input; /** * Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. */ @@ -629,6 +775,10 @@ export interface InstanceArgs { * Settings for data disks. */ dataDisks?: pulumi.Input[]>; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. */ @@ -751,6 +901,10 @@ export interface InstanceArgs { * System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. */ systemDiskId?: pulumi.Input; + /** + * Resize online. + */ + systemDiskResizeOnline?: pulumi.Input; /** * Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. */ diff --git a/sdk/nodejs/instances/getInstance.ts b/sdk/nodejs/instances/getInstance.ts index efe2f97df..47ce28bcc 100644 --- a/sdk/nodejs/instances/getInstance.ts +++ b/sdk/nodejs/instances/getInstance.ts @@ -62,6 +62,7 @@ export function getInstance(args?: GetInstanceArgs, opts?: pulumi.InvokeOptions) opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("tencentcloud:Instances/getInstance:getInstance", { "availabilityZone": args.availabilityZone, + "dedicatedClusterId": args.dedicatedClusterId, "instanceId": args.instanceId, "instanceName": args.instanceName, "instanceSetIds": args.instanceSetIds, @@ -81,6 +82,10 @@ export interface GetInstanceArgs { * The available zone that the CVM instance locates at. */ availabilityZone?: string; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: string; /** * ID of the instances to be queried. */ @@ -123,6 +128,10 @@ export interface GetInstanceResult { * The available zone that the CVM instance locates at. */ readonly availabilityZone?: string; + /** + * Exclusive cluster id. + */ + readonly dedicatedClusterId?: string; /** * The provider-assigned unique ID for this managed resource. */ @@ -220,6 +229,10 @@ export interface GetInstanceOutputArgs { * The available zone that the CVM instance locates at. */ availabilityZone?: pulumi.Input; + /** + * Exclusive cluster id. + */ + dedicatedClusterId?: pulumi.Input; /** * ID of the instances to be queried. */ diff --git a/sdk/nodejs/invite/index.ts b/sdk/nodejs/invite/index.ts new file mode 100644 index 000000000..f99bee087 --- /dev/null +++ b/sdk/nodejs/invite/index.ts @@ -0,0 +1,25 @@ +// *** 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"; + +// Export members: +export { OrganizationMemberOperationArgs, OrganizationMemberOperationState } from "./organizationMemberOperation"; +export type OrganizationMemberOperation = import("./organizationMemberOperation").OrganizationMemberOperation; +export const OrganizationMemberOperation: typeof import("./organizationMemberOperation").OrganizationMemberOperation = null as any; +utilities.lazyLoad(exports, ["OrganizationMemberOperation"], () => require("./organizationMemberOperation")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation": + return new OrganizationMemberOperation(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Invite/organizationMemberOperation", _module) diff --git a/sdk/nodejs/invite/organizationMemberOperation.ts b/sdk/nodejs/invite/organizationMemberOperation.ts new file mode 100644 index 000000000..54d49b790 --- /dev/null +++ b/sdk/nodejs/invite/organizationMemberOperation.ts @@ -0,0 +1,259 @@ +// *** 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 organization inviteOrganizationMemberOperation + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const inviteOrganizationMemberOperation = new tencentcloud.invite.OrganizationMemberOperation("inviteOrganizationMemberOperation", { + * isAllowQuit: "Allow", + * memberUin: "xxxxxx", + * nodeId: "xxxxxx", + * permissionIds: [ + * 1, + * 2, + * 4, + * ], + * policyType: "Financial", + * }); + * ``` + * + */ +export class OrganizationMemberOperation extends pulumi.CustomResource { + /** + * Get an existing OrganizationMemberOperation 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?: OrganizationMemberOperationState, opts?: pulumi.CustomResourceOptions): OrganizationMemberOperation { + return new OrganizationMemberOperation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation'; + + /** + * Returns true if the given object is an instance of OrganizationMemberOperation. 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 OrganizationMemberOperation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === OrganizationMemberOperation.__pulumiType; + } + + /** + * List of supporting documents of mutual trust entities. + */ + public readonly authFiles!: pulumi.Output; + /** + * Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + */ + public readonly isAllowQuit!: pulumi.Output; + /** + * Invited account Uin. + */ + public readonly memberUin!: pulumi.Output; + /** + * Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + */ + public readonly name!: pulumi.Output; + /** + * Node ID of the member's department. + */ + public readonly nodeId!: pulumi.Output; + /** + * Payer Uin. Member needs to pay on behalf of. + */ + public readonly payUin!: pulumi.Output; + /** + * List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + */ + public readonly permissionIds!: pulumi.Output; + /** + * Relationship strategies. Value taken: Financial. + */ + public readonly policyType!: pulumi.Output; + /** + * Name of the real-name subject of mutual trust. + */ + public readonly relationAuthName!: pulumi.Output; + /** + * Remark. + */ + public readonly remark!: pulumi.Output; + /** + * List of member tags. Maximum 10. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a OrganizationMemberOperation 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: OrganizationMemberOperationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: OrganizationMemberOperationArgs | OrganizationMemberOperationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as OrganizationMemberOperationState | undefined; + resourceInputs["authFiles"] = state ? state.authFiles : undefined; + resourceInputs["isAllowQuit"] = state ? state.isAllowQuit : undefined; + resourceInputs["memberUin"] = state ? state.memberUin : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["nodeId"] = state ? state.nodeId : undefined; + resourceInputs["payUin"] = state ? state.payUin : undefined; + resourceInputs["permissionIds"] = state ? state.permissionIds : undefined; + resourceInputs["policyType"] = state ? state.policyType : undefined; + resourceInputs["relationAuthName"] = state ? state.relationAuthName : undefined; + resourceInputs["remark"] = state ? state.remark : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + } else { + const args = argsOrState as OrganizationMemberOperationArgs | undefined; + if ((!args || args.memberUin === undefined) && !opts.urn) { + throw new Error("Missing required property 'memberUin'"); + } + if ((!args || args.nodeId === undefined) && !opts.urn) { + throw new Error("Missing required property 'nodeId'"); + } + if ((!args || args.permissionIds === undefined) && !opts.urn) { + throw new Error("Missing required property 'permissionIds'"); + } + if ((!args || args.policyType === undefined) && !opts.urn) { + throw new Error("Missing required property 'policyType'"); + } + resourceInputs["authFiles"] = args ? args.authFiles : undefined; + resourceInputs["isAllowQuit"] = args ? args.isAllowQuit : undefined; + resourceInputs["memberUin"] = args ? args.memberUin : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["nodeId"] = args ? args.nodeId : undefined; + resourceInputs["payUin"] = args ? args.payUin : undefined; + resourceInputs["permissionIds"] = args ? args.permissionIds : undefined; + resourceInputs["policyType"] = args ? args.policyType : undefined; + resourceInputs["relationAuthName"] = args ? args.relationAuthName : undefined; + resourceInputs["remark"] = args ? args.remark : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(OrganizationMemberOperation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering OrganizationMemberOperation resources. + */ +export interface OrganizationMemberOperationState { + /** + * List of supporting documents of mutual trust entities. + */ + authFiles?: pulumi.Input[]>; + /** + * Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + */ + isAllowQuit?: pulumi.Input; + /** + * Invited account Uin. + */ + memberUin?: pulumi.Input; + /** + * Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + */ + name?: pulumi.Input; + /** + * Node ID of the member's department. + */ + nodeId?: pulumi.Input; + /** + * Payer Uin. Member needs to pay on behalf of. + */ + payUin?: pulumi.Input; + /** + * List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + */ + permissionIds?: pulumi.Input[]>; + /** + * Relationship strategies. Value taken: Financial. + */ + policyType?: pulumi.Input; + /** + * Name of the real-name subject of mutual trust. + */ + relationAuthName?: pulumi.Input; + /** + * Remark. + */ + remark?: pulumi.Input; + /** + * List of member tags. Maximum 10. + */ + tags?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a OrganizationMemberOperation resource. + */ +export interface OrganizationMemberOperationArgs { + /** + * List of supporting documents of mutual trust entities. + */ + authFiles?: pulumi.Input[]>; + /** + * Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + */ + isAllowQuit?: pulumi.Input; + /** + * Invited account Uin. + */ + memberUin: pulumi.Input; + /** + * Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + */ + name?: pulumi.Input; + /** + * Node ID of the member's department. + */ + nodeId: pulumi.Input; + /** + * Payer Uin. Member needs to pay on behalf of. + */ + payUin?: pulumi.Input; + /** + * List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + */ + permissionIds: pulumi.Input[]>; + /** + * Relationship strategies. Value taken: Financial. + */ + policyType: pulumi.Input; + /** + * Name of the real-name subject of mutual trust. + */ + relationAuthName?: pulumi.Input; + /** + * Remark. + */ + remark?: pulumi.Input; + /** + * List of member tags. Maximum 10. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/kubernetes/addonConfig.ts b/sdk/nodejs/kubernetes/addonConfig.ts new file mode 100644 index 000000000..4ca805b48 --- /dev/null +++ b/sdk/nodejs/kubernetes/addonConfig.ts @@ -0,0 +1,154 @@ +// *** 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"; + +/** + * Provide a resource to configure addon that kubernetes comes with. + * + * ## Example Usage + */ +export class AddonConfig extends pulumi.CustomResource { + /** + * Get an existing AddonConfig 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?: AddonConfigState, opts?: pulumi.CustomResourceOptions): AddonConfig { + return new AddonConfig(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Kubernetes/addonConfig:AddonConfig'; + + /** + * Returns true if the given object is an instance of AddonConfig. 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 AddonConfig { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AddonConfig.__pulumiType; + } + + /** + * Name of addon. + */ + public readonly addonName!: pulumi.Output; + /** + * Version of addon. + */ + public readonly addonVersion!: pulumi.Output; + /** + * ID of cluster. + */ + public readonly clusterId!: pulumi.Output; + /** + * Status of addon. + */ + public /*out*/ readonly phase!: pulumi.Output; + /** + * Params of addon, base64 encoded json format. + */ + public readonly rawValues!: pulumi.Output; + /** + * Reason of addon failed. + */ + public /*out*/ readonly reason!: pulumi.Output; + + /** + * Create a AddonConfig 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: AddonConfigArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AddonConfigArgs | AddonConfigState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AddonConfigState | undefined; + resourceInputs["addonName"] = state ? state.addonName : undefined; + resourceInputs["addonVersion"] = state ? state.addonVersion : undefined; + resourceInputs["clusterId"] = state ? state.clusterId : undefined; + resourceInputs["phase"] = state ? state.phase : undefined; + resourceInputs["rawValues"] = state ? state.rawValues : undefined; + resourceInputs["reason"] = state ? state.reason : undefined; + } else { + const args = argsOrState as AddonConfigArgs | undefined; + if ((!args || args.addonName === undefined) && !opts.urn) { + throw new Error("Missing required property 'addonName'"); + } + if ((!args || args.clusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + resourceInputs["addonName"] = args ? args.addonName : undefined; + resourceInputs["addonVersion"] = args ? args.addonVersion : undefined; + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["rawValues"] = args ? args.rawValues : undefined; + resourceInputs["phase"] = undefined /*out*/; + resourceInputs["reason"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AddonConfig.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AddonConfig resources. + */ +export interface AddonConfigState { + /** + * Name of addon. + */ + addonName?: pulumi.Input; + /** + * Version of addon. + */ + addonVersion?: pulumi.Input; + /** + * ID of cluster. + */ + clusterId?: pulumi.Input; + /** + * Status of addon. + */ + phase?: pulumi.Input; + /** + * Params of addon, base64 encoded json format. + */ + rawValues?: pulumi.Input; + /** + * Reason of addon failed. + */ + reason?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AddonConfig resource. + */ +export interface AddonConfigArgs { + /** + * Name of addon. + */ + addonName: pulumi.Input; + /** + * Version of addon. + */ + addonVersion?: pulumi.Input; + /** + * ID of cluster. + */ + clusterId: pulumi.Input; + /** + * Params of addon, base64 encoded json format. + */ + rawValues?: pulumi.Input; +} diff --git a/sdk/nodejs/kubernetes/cluster.ts b/sdk/nodejs/kubernetes/cluster.ts index b89a07bf3..a843b16a8 100644 --- a/sdk/nodejs/kubernetes/cluster.ts +++ b/sdk/nodejs/kubernetes/cluster.ts @@ -150,6 +150,42 @@ import * as utilities from "../utilities"; * ``` * * + * ### Create a CDC scenario cluster + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const cdcCluster = new tencentcloud.kubernetes.Cluster("cdcCluster", { + * cdcId: "cluster-xxxxx", + * clusterCidr: "192.168.0.0/16", + * clusterDeployType: "INDEPENDENT_CLUSTER", + * clusterDesc: "test cluster desc", + * clusterLevel: "L20", + * clusterMaxPodNum: 64, + * clusterMaxServiceNum: 1024, + * clusterName: "test-cdc", + * clusterOs: "tlinux3.1x86_64", + * clusterVersion: "1.30.0", + * containerRuntime: "containerd", + * existInstances: [{ + * instancesPara: { + * instanceIds: [ + * "ins-eeijdk16", + * "ins-84ku5rba", + * "ins-8oa3im2s", + * ], + * }, + * nodeRole: "MASTER_ETCD", + * }], + * preStartUserScript: "aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=", + * runtimeVersion: "1.6.9", + * vpcId: "vpc-xxxxx", + * }); + * ``` + * + * * ## Import * * tke cluster can be imported, e.g. @@ -202,6 +238,10 @@ export class Cluster extends pulumi.CustomResource { * The number of basic pods. valid when enable_customized_pod_cidr=true. */ public readonly basePodNum!: pulumi.Output; + /** + * CDC ID. + */ + public readonly cdcId!: pulumi.Output; /** * The certificate used for access. */ @@ -352,6 +392,10 @@ export class Cluster extends pulumi.CustomResource { * Indicates whether to ignore the cluster cidr conflict error. Default is false. */ public readonly ignoreClusterCidrConflict!: pulumi.Output; + /** + * Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + */ + public readonly ignoreServiceCidrConflict!: pulumi.Output; /** * Indicates whether non-static ip mode is enabled. Default is false. */ @@ -410,6 +454,10 @@ export class Cluster extends pulumi.CustomResource { * The Intranet address used for access. */ public /*out*/ readonly pgwEndpoint!: pulumi.Output; + /** + * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + */ + public readonly preStartUserScript!: pulumi.Output; /** * Project ID, default value is 0. */ @@ -476,6 +524,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["authOptions"] = state ? state.authOptions : undefined; resourceInputs["autoUpgradeClusterLevel"] = state ? state.autoUpgradeClusterLevel : undefined; resourceInputs["basePodNum"] = state ? state.basePodNum : undefined; + resourceInputs["cdcId"] = state ? state.cdcId : undefined; resourceInputs["certificationAuthority"] = state ? state.certificationAuthority : undefined; resourceInputs["claimExpiredSeconds"] = state ? state.claimExpiredSeconds : undefined; resourceInputs["clusterAsEnabled"] = state ? state.clusterAsEnabled : undefined; @@ -513,6 +562,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["extraArgs"] = state ? state.extraArgs : undefined; resourceInputs["globeDesiredPodNum"] = state ? state.globeDesiredPodNum : undefined; resourceInputs["ignoreClusterCidrConflict"] = state ? state.ignoreClusterCidrConflict : undefined; + resourceInputs["ignoreServiceCidrConflict"] = state ? state.ignoreServiceCidrConflict : undefined; resourceInputs["isNonStaticIpMode"] = state ? state.isNonStaticIpMode : undefined; resourceInputs["kubeConfig"] = state ? state.kubeConfig : undefined; resourceInputs["kubeConfigIntranet"] = state ? state.kubeConfigIntranet : undefined; @@ -527,6 +577,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["nodePoolGlobalConfigs"] = state ? state.nodePoolGlobalConfigs : undefined; resourceInputs["password"] = state ? state.password : undefined; resourceInputs["pgwEndpoint"] = state ? state.pgwEndpoint : undefined; + resourceInputs["preStartUserScript"] = state ? state.preStartUserScript : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; resourceInputs["runtimeVersion"] = state ? state.runtimeVersion : undefined; resourceInputs["securityPolicies"] = state ? state.securityPolicies : undefined; @@ -548,6 +599,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["authOptions"] = args ? args.authOptions : undefined; resourceInputs["autoUpgradeClusterLevel"] = args ? args.autoUpgradeClusterLevel : undefined; resourceInputs["basePodNum"] = args ? args.basePodNum : undefined; + resourceInputs["cdcId"] = args ? args.cdcId : undefined; resourceInputs["claimExpiredSeconds"] = args ? args.claimExpiredSeconds : undefined; resourceInputs["clusterAudit"] = args ? args.clusterAudit : undefined; resourceInputs["clusterCidr"] = args ? args.clusterCidr : undefined; @@ -580,6 +632,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["extraArgs"] = args ? args.extraArgs : undefined; resourceInputs["globeDesiredPodNum"] = args ? args.globeDesiredPodNum : undefined; resourceInputs["ignoreClusterCidrConflict"] = args ? args.ignoreClusterCidrConflict : undefined; + resourceInputs["ignoreServiceCidrConflict"] = args ? args.ignoreServiceCidrConflict : undefined; resourceInputs["isNonStaticIpMode"] = args ? args.isNonStaticIpMode : undefined; resourceInputs["kubeProxyMode"] = args ? args.kubeProxyMode : undefined; resourceInputs["labels"] = args ? args.labels : undefined; @@ -590,6 +643,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["networkType"] = args ? args.networkType : undefined; resourceInputs["nodeNameType"] = args ? args.nodeNameType : undefined; resourceInputs["nodePoolGlobalConfigs"] = args ? args.nodePoolGlobalConfigs : undefined; + resourceInputs["preStartUserScript"] = args ? args.preStartUserScript : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["runtimeVersion"] = args ? args.runtimeVersion : undefined; resourceInputs["serviceCidr"] = args ? args.serviceCidr : undefined; @@ -637,6 +691,10 @@ export interface ClusterState { * The number of basic pods. valid when enable_customized_pod_cidr=true. */ basePodNum?: pulumi.Input; + /** + * CDC ID. + */ + cdcId?: pulumi.Input; /** * The certificate used for access. */ @@ -787,6 +845,10 @@ export interface ClusterState { * Indicates whether to ignore the cluster cidr conflict error. Default is false. */ ignoreClusterCidrConflict?: pulumi.Input; + /** + * Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + */ + ignoreServiceCidrConflict?: pulumi.Input; /** * Indicates whether non-static ip mode is enabled. Default is false. */ @@ -845,6 +907,10 @@ export interface ClusterState { * The Intranet address used for access. */ pgwEndpoint?: pulumi.Input; + /** + * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + */ + preStartUserScript?: pulumi.Input; /** * Project ID, default value is 0. */ @@ -915,6 +981,10 @@ export interface ClusterArgs { * The number of basic pods. valid when enable_customized_pod_cidr=true. */ basePodNum?: pulumi.Input; + /** + * CDC ID. + */ + cdcId?: pulumi.Input; /** * Claim expired seconds to recycle ENI. This field can only set when field `networkType` is 'VPC-CNI'. `claimExpiredSeconds` must greater or equal than 300 and less than 15768000. */ @@ -1043,6 +1113,10 @@ export interface ClusterArgs { * Indicates whether to ignore the cluster cidr conflict error. Default is false. */ ignoreClusterCidrConflict?: pulumi.Input; + /** + * Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + */ + ignoreServiceCidrConflict?: pulumi.Input; /** * Indicates whether non-static ip mode is enabled. Default is false. */ @@ -1085,6 +1159,10 @@ export interface ClusterArgs { * Global config effective for all node pools. */ nodePoolGlobalConfigs?: pulumi.Input[]>; + /** + * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + */ + preStartUserScript?: pulumi.Input; /** * Project ID, default value is 0. */ diff --git a/sdk/nodejs/kubernetes/clusterAttachment.ts b/sdk/nodejs/kubernetes/clusterAttachment.ts index e469a4c64..fc13f2b52 100644 --- a/sdk/nodejs/kubernetes/clusterAttachment.ts +++ b/sdk/nodejs/kubernetes/clusterAttachment.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; /** * Provide a resource to attach an existing cvm to kubernetes cluster. * + * > **NOTE:** Use `unschedulable` to set whether the join node participates in the schedule. The `isSchedule` of 'worker_config' and 'worker_config_overrides' was deprecated. + * * ## Example Usage * * @@ -124,6 +126,10 @@ export class ClusterAttachment extends pulumi.CustomResource { * 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 (-). */ public readonly hostname!: pulumi.Output; + /** + * ID of Node image. + */ + public readonly imageId!: pulumi.Output; /** * ID of the CVM instance, this cvm will reinstall the system. */ @@ -149,7 +155,7 @@ export class ClusterAttachment extends pulumi.CustomResource { */ public /*out*/ readonly state!: pulumi.Output; /** - * Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + * Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. */ public readonly unschedulable!: pulumi.Output; /** @@ -176,6 +182,7 @@ export class ClusterAttachment extends pulumi.CustomResource { const state = argsOrState as ClusterAttachmentState | undefined; resourceInputs["clusterId"] = state ? state.clusterId : undefined; resourceInputs["hostname"] = state ? state.hostname : undefined; + resourceInputs["imageId"] = state ? state.imageId : undefined; resourceInputs["instanceId"] = state ? state.instanceId : undefined; resourceInputs["keyIds"] = state ? state.keyIds : undefined; resourceInputs["labels"] = state ? state.labels : undefined; @@ -195,6 +202,7 @@ export class ClusterAttachment extends pulumi.CustomResource { } resourceInputs["clusterId"] = args ? args.clusterId : undefined; resourceInputs["hostname"] = args ? args.hostname : undefined; + resourceInputs["imageId"] = args ? args.imageId : undefined; resourceInputs["instanceId"] = args ? args.instanceId : undefined; resourceInputs["keyIds"] = args ? args.keyIds : undefined; resourceInputs["labels"] = args ? args.labels : undefined; @@ -224,6 +232,10 @@ export interface ClusterAttachmentState { * 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.Input; + /** + * ID of Node image. + */ + imageId?: pulumi.Input; /** * ID of the CVM instance, this cvm will reinstall the system. */ @@ -249,7 +261,7 @@ export interface ClusterAttachmentState { */ state?: pulumi.Input; /** - * Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + * Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. */ unschedulable?: pulumi.Input; /** @@ -274,6 +286,10 @@ export interface ClusterAttachmentArgs { * 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.Input; + /** + * ID of Node image. + */ + imageId?: pulumi.Input; /** * ID of the CVM instance, this cvm will reinstall the system. */ @@ -291,7 +307,7 @@ export interface ClusterAttachmentArgs { */ password?: pulumi.Input; /** - * Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + * Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. */ unschedulable?: pulumi.Input; /** diff --git a/sdk/nodejs/kubernetes/healthCheckPolicy.ts b/sdk/nodejs/kubernetes/healthCheckPolicy.ts new file mode 100644 index 000000000..01de1ad3c --- /dev/null +++ b/sdk/nodejs/kubernetes/healthCheckPolicy.ts @@ -0,0 +1,153 @@ +// *** 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 kubernetesHealthCheckPolicy + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const kubernetesHealthCheckPolicy = new tencentcloud.kubernetes.HealthCheckPolicy("kubernetesHealthCheckPolicy", { + * clusterId: "cls-xxxxx", + * rules: [ + * { + * autoRepairEnabled: true, + * enabled: true, + * name: "OOMKilling", + * }, + * { + * autoRepairEnabled: true, + * enabled: true, + * name: "KubeletUnhealthy", + * }, + * ], + * }); + * ``` + * + * + * ## Import + * + * tke kubernetes_health_check_policy can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy kubernetes_health_check_policy cls-xxxxx#healthcheckpolicyname + * ``` + */ +export class HealthCheckPolicy extends pulumi.CustomResource { + /** + * Get an existing HealthCheckPolicy 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?: HealthCheckPolicyState, opts?: pulumi.CustomResourceOptions): HealthCheckPolicy { + return new HealthCheckPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy'; + + /** + * Returns true if the given object is an instance of HealthCheckPolicy. 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 HealthCheckPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HealthCheckPolicy.__pulumiType; + } + + /** + * ID of the cluster. + */ + public readonly clusterId!: pulumi.Output; + /** + * Health Check Policy Name. + */ + public readonly name!: pulumi.Output; + /** + * Health check policy rule list. + */ + public readonly rules!: pulumi.Output; + + /** + * Create a HealthCheckPolicy 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: HealthCheckPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: HealthCheckPolicyArgs | HealthCheckPolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as HealthCheckPolicyState | undefined; + resourceInputs["clusterId"] = state ? state.clusterId : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["rules"] = state ? state.rules : undefined; + } else { + const args = argsOrState as HealthCheckPolicyArgs | undefined; + if ((!args || args.clusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + if ((!args || args.rules === undefined) && !opts.urn) { + throw new Error("Missing required property 'rules'"); + } + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["rules"] = args ? args.rules : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(HealthCheckPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering HealthCheckPolicy resources. + */ +export interface HealthCheckPolicyState { + /** + * ID of the cluster. + */ + clusterId?: pulumi.Input; + /** + * Health Check Policy Name. + */ + name?: pulumi.Input; + /** + * Health check policy rule list. + */ + rules?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a HealthCheckPolicy resource. + */ +export interface HealthCheckPolicyArgs { + /** + * ID of the cluster. + */ + clusterId: pulumi.Input; + /** + * Health Check Policy Name. + */ + name?: pulumi.Input; + /** + * Health check policy rule list. + */ + rules: pulumi.Input[]>; +} diff --git a/sdk/nodejs/kubernetes/index.ts b/sdk/nodejs/kubernetes/index.ts index a26b6ffc7..1823087ef 100644 --- a/sdk/nodejs/kubernetes/index.ts +++ b/sdk/nodejs/kubernetes/index.ts @@ -15,6 +15,11 @@ export type AddonAttachment = import("./addonAttachment").AddonAttachment; export const AddonAttachment: typeof import("./addonAttachment").AddonAttachment = null as any; utilities.lazyLoad(exports, ["AddonAttachment"], () => require("./addonAttachment")); +export { AddonConfigArgs, AddonConfigState } from "./addonConfig"; +export type AddonConfig = import("./addonConfig").AddonConfig; +export const AddonConfig: typeof import("./addonConfig").AddonConfig = null as any; +utilities.lazyLoad(exports, ["AddonConfig"], () => require("./addonConfig")); + export { AuthAttachmentArgs, AuthAttachmentState } from "./authAttachment"; export type AuthAttachment = import("./authAttachment").AuthAttachment; export const AuthAttachment: typeof import("./authAttachment").AuthAttachment = null as any; @@ -90,6 +95,16 @@ 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 { HealthCheckPolicyArgs, HealthCheckPolicyState } from "./healthCheckPolicy"; +export type HealthCheckPolicy = import("./healthCheckPolicy").HealthCheckPolicy; +export const HealthCheckPolicy: typeof import("./healthCheckPolicy").HealthCheckPolicy = null as any; +utilities.lazyLoad(exports, ["HealthCheckPolicy"], () => require("./healthCheckPolicy")); + +export { LogConfigArgs, LogConfigState } from "./logConfig"; +export type LogConfig = import("./logConfig").LogConfig; +export const LogConfig: typeof import("./logConfig").LogConfig = null as any; +utilities.lazyLoad(exports, ["LogConfig"], () => require("./logConfig")); + export { NativeNodePoolArgs, NativeNodePoolState } from "./nativeNodePool"; export type NativeNodePool = import("./nativeNodePool").NativeNodePool; export const NativeNodePool: typeof import("./nativeNodePool").NativeNodePool = null as any; @@ -119,6 +134,8 @@ const _module = { return new Addon(name, undefined, { urn }) case "tencentcloud:Kubernetes/addonAttachment:AddonAttachment": return new AddonAttachment(name, undefined, { urn }) + case "tencentcloud:Kubernetes/addonConfig:AddonConfig": + return new AddonConfig(name, undefined, { urn }) case "tencentcloud:Kubernetes/authAttachment:AuthAttachment": return new AuthAttachment(name, undefined, { urn }) case "tencentcloud:Kubernetes/backupStorageLocation:BackupStorageLocation": @@ -131,6 +148,10 @@ const _module = { return new ClusterEndpoint(name, undefined, { urn }) case "tencentcloud:Kubernetes/encryptionProtection:EncryptionProtection": return new EncryptionProtection(name, undefined, { urn }) + case "tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy": + return new HealthCheckPolicy(name, undefined, { urn }) + case "tencentcloud:Kubernetes/logConfig:LogConfig": + return new LogConfig(name, undefined, { urn }) case "tencentcloud:Kubernetes/nativeNodePool:NativeNodePool": return new NativeNodePool(name, undefined, { urn }) case "tencentcloud:Kubernetes/nodePool:NodePool": @@ -146,12 +167,15 @@ const _module = { }; pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/addon", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/addonAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/addonConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/authAttachment", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/backupStorageLocation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/cluster", _module) 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/healthCheckPolicy", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/logConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/nativeNodePool", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/nodePool", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/scaleWorker", _module) diff --git a/sdk/nodejs/kubernetes/logConfig.ts b/sdk/nodejs/kubernetes/logConfig.ts new file mode 100644 index 000000000..f96e4bbb3 --- /dev/null +++ b/sdk/nodejs/kubernetes/logConfig.ts @@ -0,0 +1,340 @@ +// *** 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 a tke kubernetesLogConfig + * + * ## Example Usage + * + * ### Create a cls log config + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const vpcOne = tencentcloud.Vpc.getSubnets({ + * isDefault: true, + * availabilityZone: "ap-guangzhou-3", + * }); + * const firstVpcId = vpcOne.then(vpcOne => vpcOne.instanceLists?.[0]?.vpcId); + * const firstSubnetId = vpcOne.then(vpcOne => vpcOne.instanceLists?.[0]?.subnetId); + * const gz = tencentcloud.Availability.getZonesByProduct({ + * name: "ap-guangzhou-3", + * product: "ckafka", + * }); + * const zoneId = gz.then(gz => gz.zones?.[0]?.id); + * const config = new pulumi.Config(); + * const exampleClusterCidr = config.get("exampleClusterCidr") || "10.31.0.0/16"; + * const example = new tencentcloud.kubernetes.Cluster("example", { + * vpcId: firstVpcId, + * clusterCidr: exampleClusterCidr, + * clusterMaxPodNum: 32, + * clusterName: "tf_example_cluster", + * clusterDesc: "example for tke cluster", + * clusterMaxServiceNum: 32, + * clusterInternet: false, + * clusterVersion: "1.22.5", + * clusterOs: "tlinux2.2(tkernel3)x86_64", + * clusterDeployType: "MANAGED_CLUSTER", + * logAgent: { + * enabled: true, + * }, + * }); + * // without any worker config + * const logset = new tencentcloud.cls.Logset("logset", { + * logsetName: "tf-test-example", + * tags: { + * createdBy: "terraform", + * }, + * }); + * const kubernetesLogConfigCls = new tencentcloud.kubernetes.LogConfig("kubernetesLogConfigCls", { + * logConfigName: "tf-test-cls", + * clusterId: example.id, + * logsetId: logset.id, + * logConfig: JSON.stringify({ + * apiVersion: "cls.cloud.tencent.com/v1", + * kind: "LogConfig", + * metadata: { + * name: "tf-test-cls", + * }, + * spec: { + * clsDetail: { + * extractRule: { + * backtracking: "0", + * isGBK: "false", + * jsonStandard: "false", + * unMatchUpload: "false", + * }, + * indexs: [ + * { + * indexName: "namespace", + * }, + * { + * indexName: "pod_name", + * }, + * { + * indexName: "container_name", + * }, + * ], + * logFormat: "default", + * logType: "minimalist_log", + * maxSplitPartitions: 0, + * region: "ap-guangzhou", + * storageType: "", + * }, + * inputDetail: { + * containerStdout: { + * metadataContainer: [ + * "namespace", + * "pod_name", + * "pod_ip", + * "pod_uid", + * "container_id", + * "container_name", + * "image_name", + * "cluster_id", + * ], + * nsLabelSelector: "", + * workloads: [{ + * kind: "deployment", + * name: "testlog1", + * namespace: "default", + * }], + * }, + * type: "container_stdout", + * }, + * }, + * }), + * }); + * ``` + * + * + * ### Create a ckafka log config + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const exampleInstance = new tencentcloud.ckafka.Instance("exampleInstance", { + * instanceName: "ckafka-instance-postpaid", + * zoneId: local.zone_id, + * vpcId: local.first_vpc_id, + * subnetId: local.first_subnet_id, + * msgRetentionTime: 1300, + * kafkaVersion: "1.1.1", + * diskSize: 500, + * bandWidth: 20, + * diskType: "CLOUD_BASIC", + * partition: 400, + * chargeType: "POSTPAID_BY_HOUR", + * config: { + * autoCreateTopicEnable: true, + * defaultNumPartitions: 3, + * defaultReplicationFactor: 3, + * }, + * dynamicRetentionConfig: { + * enable: 1, + * }, + * }); + * const exampleTopic = new tencentcloud.ckafka.Topic("exampleTopic", { + * instanceId: exampleInstance.id, + * topicName: "tmp", + * note: "topic note", + * replicaNum: 2, + * partitionNum: 1, + * cleanUpPolicy: "delete", + * syncReplicaMinNum: 1, + * uncleanLeaderElectionEnable: false, + * retention: 60000, + * }); + * const ckafkaTopic = exampleTopic.topicName; + * const kubernetesLogConfigCkafka = new tencentcloud.kubernetes.LogConfig("kubernetesLogConfigCkafka", { + * logConfigName: "tf-test-ckafka", + * clusterId: tencentcloud_kubernetes_cluster.example.id, + * logsetId: tencentcloud_cls_logset.logset.id, + * logConfig: pulumi.jsonStringify({ + * apiVersion: "cls.cloud.tencent.com/v1", + * kind: "LogConfig", + * metadata: { + * name: "tf-test-ckafka", + * }, + * spec: { + * inputDetail: { + * containerStdout: { + * allContainers: true, + * namespace: "default", + * nsLabelSelector: "", + * }, + * type: "container_stdout", + * }, + * kafkaDetail: { + * brokers: "172.16.0.30:9092", + * extractRule: {}, + * instanceId: "", + * kafkaType: "SelfBuildKafka", + * logType: "minimalist_log", + * messageKey: { + * value: "", + * valueFrom: { + * fieldRef: { + * fieldPath: "", + * }, + * }, + * }, + * metadata: {}, + * timestampFormat: "double", + * timestampKey: "", + * topic: ckafkaTopic, + * }, + * }, + * }), + * }); + * ``` + * + */ +export class LogConfig extends pulumi.CustomResource { + /** + * Get an existing LogConfig 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?: LogConfigState, opts?: pulumi.CustomResourceOptions): LogConfig { + return new LogConfig(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Kubernetes/logConfig:LogConfig'; + + /** + * Returns true if the given object is an instance of LogConfig. 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 LogConfig { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LogConfig.__pulumiType; + } + + /** + * Cluster ID. + */ + public readonly clusterId!: pulumi.Output; + /** + * The current cluster type supports tke and eks, default is tke. + */ + public readonly clusterType!: pulumi.Output; + /** + * JSON expression of log collection configuration. + */ + public readonly logConfig!: pulumi.Output; + /** + * Log config name. + */ + public readonly logConfigName!: pulumi.Output; + /** + * CLS log set ID. + */ + public readonly logsetId!: pulumi.Output; + + /** + * Create a LogConfig 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: LogConfigArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LogConfigArgs | LogConfigState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LogConfigState | undefined; + resourceInputs["clusterId"] = state ? state.clusterId : undefined; + resourceInputs["clusterType"] = state ? state.clusterType : undefined; + resourceInputs["logConfig"] = state ? state.logConfig : undefined; + resourceInputs["logConfigName"] = state ? state.logConfigName : undefined; + resourceInputs["logsetId"] = state ? state.logsetId : undefined; + } else { + const args = argsOrState as LogConfigArgs | undefined; + if ((!args || args.clusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + if ((!args || args.logConfig === undefined) && !opts.urn) { + throw new Error("Missing required property 'logConfig'"); + } + if ((!args || args.logConfigName === undefined) && !opts.urn) { + throw new Error("Missing required property 'logConfigName'"); + } + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["clusterType"] = args ? args.clusterType : undefined; + resourceInputs["logConfig"] = args ? args.logConfig : undefined; + resourceInputs["logConfigName"] = args ? args.logConfigName : undefined; + resourceInputs["logsetId"] = args ? args.logsetId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LogConfig.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LogConfig resources. + */ +export interface LogConfigState { + /** + * Cluster ID. + */ + clusterId?: pulumi.Input; + /** + * The current cluster type supports tke and eks, default is tke. + */ + clusterType?: pulumi.Input; + /** + * JSON expression of log collection configuration. + */ + logConfig?: pulumi.Input; + /** + * Log config name. + */ + logConfigName?: pulumi.Input; + /** + * CLS log set ID. + */ + logsetId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a LogConfig resource. + */ +export interface LogConfigArgs { + /** + * Cluster ID. + */ + clusterId: pulumi.Input; + /** + * The current cluster type supports tke and eks, default is tke. + */ + clusterType?: pulumi.Input; + /** + * JSON expression of log collection configuration. + */ + logConfig: pulumi.Input; + /** + * Log config name. + */ + logConfigName: pulumi.Input; + /** + * CLS log set ID. + */ + logsetId?: pulumi.Input; +} diff --git a/sdk/nodejs/kubernetes/nodePool.ts b/sdk/nodejs/kubernetes/nodePool.ts index 2f62703ac..078d4cd7f 100644 --- a/sdk/nodejs/kubernetes/nodePool.ts +++ b/sdk/nodejs/kubernetes/nodePool.ts @@ -285,7 +285,7 @@ export class NodePool extends pulumi.CustomResource { /** * Node pool tag specifications, will passthroughs to the scaling instances. */ - public readonly tags!: pulumi.Output<{[key: string]: any} | undefined>; + public readonly tags!: pulumi.Output<{[key: string]: any}>; /** * Taints of kubernetes node pool created nodes. */ diff --git a/sdk/nodejs/kubernetes/scaleWorker.ts b/sdk/nodejs/kubernetes/scaleWorker.ts index 60eed4f5d..77e4d0c82 100644 --- a/sdk/nodejs/kubernetes/scaleWorker.ts +++ b/sdk/nodejs/kubernetes/scaleWorker.ts @@ -24,7 +24,7 @@ import * as utilities from "../utilities"; * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-3"; * const subnet = config.get("subnet") || "subnet-pqfek0t8"; * const scaleInstanceType = config.get("scaleInstanceType") || "S2.LARGE16"; - * const testScale = new tencentcloud.kubernetes.ScaleWorker("testScale", { + * const example = new tencentcloud.kubernetes.ScaleWorker("example", { * clusterId: "cls-godovr32", * desiredPodNum: 16, * labels: { @@ -65,7 +65,7 @@ import * as utilities from "../utilities"; * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-3"; * const subnet = config.get("subnet") || "subnet-pqfek0t8"; * const scaleInstanceType = config.get("scaleInstanceType") || "S2.LARGE16"; - * const testScale = new tencentcloud.kubernetes.ScaleWorker("testScale", { + * const example = new tencentcloud.kubernetes.ScaleWorker("example", { * clusterId: "cls-godovr32", * extraArgs: ["root-dir=/var/lib/kubelet"], * labels: { @@ -100,7 +100,7 @@ import * as utilities from "../utilities"; * tke scale worker can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + * $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker example cls-mij6c2pq#ins-n6esjkdi,ins-9h3rdxt8,ins-qretqeas * ``` */ export class ScaleWorker extends pulumi.CustomResource { @@ -136,7 +136,7 @@ export class ScaleWorker extends pulumi.CustomResource { */ public readonly clusterId!: pulumi.Output; /** - * Configurations of data disk. + * Configurations of tke data disk. */ public readonly dataDisks!: pulumi.Output; /** @@ -246,7 +246,7 @@ export interface ScaleWorkerState { */ clusterId?: pulumi.Input; /** - * Configurations of data disk. + * Configurations of tke data disk. */ dataDisks?: pulumi.Input[]>; /** @@ -304,7 +304,7 @@ export interface ScaleWorkerArgs { */ clusterId: pulumi.Input; /** - * Configurations of data disk. + * Configurations of tke data disk. */ dataDisks?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/lite/getHbaseInstances.ts b/sdk/nodejs/lite/getHbaseInstances.ts new file mode 100644 index 000000000..5831d6879 --- /dev/null +++ b/sdk/nodejs/lite/getHbaseInstances.ts @@ -0,0 +1,141 @@ +// *** 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 emr liteHbaseInstances + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const liteHbaseInstances = tencentcloud.Lite.getHbaseInstances({ + * displayStrategy: "clusterList", + * }); + * ``` + * + */ +export function getHbaseInstances(args: GetHbaseInstancesArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Lite/getHbaseInstances:getHbaseInstances", { + "asc": args.asc, + "displayStrategy": args.displayStrategy, + "filters": args.filters, + "orderField": args.orderField, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getHbaseInstances. + */ +export interface GetHbaseInstancesArgs { + /** + * Sort by OrderField in ascending or descending order. Value range: + * * 0: indicates the descending order; + * * 1: indicates the ascending order; + * The default value is 0. + */ + asc?: number; + /** + * Cluster filtering policy. Value range: + * * clusterList: Query the list of clusters except the destroyed cluster; + * * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + */ + displayStrategy: string; + /** + * Custom query. + */ + filters?: inputs.Lite.GetHbaseInstancesFilter[]; + /** + * Sorting field. Value range: + * * clusterId: Sorting by instance ID; + * * addTime: sorted by instance creation time; + * * status: sorted by the status code of the instance. + */ + orderField?: string; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getHbaseInstances. + */ +export interface GetHbaseInstancesResult { + readonly asc?: number; + readonly displayStrategy: string; + readonly filters?: outputs.Lite.GetHbaseInstancesFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Cluster instance list. + */ + readonly instanceLists: outputs.Lite.GetHbaseInstancesInstanceList[]; + readonly orderField?: string; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of emr liteHbaseInstances + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const liteHbaseInstances = tencentcloud.Lite.getHbaseInstances({ + * displayStrategy: "clusterList", + * }); + * ``` + * + */ +export function getHbaseInstancesOutput(args: GetHbaseInstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getHbaseInstances(a, opts)) +} + +/** + * A collection of arguments for invoking getHbaseInstances. + */ +export interface GetHbaseInstancesOutputArgs { + /** + * Sort by OrderField in ascending or descending order. Value range: + * * 0: indicates the descending order; + * * 1: indicates the ascending order; + * The default value is 0. + */ + asc?: pulumi.Input; + /** + * Cluster filtering policy. Value range: + * * clusterList: Query the list of clusters except the destroyed cluster; + * * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + */ + displayStrategy: pulumi.Input; + /** + * Custom query. + */ + filters?: pulumi.Input[]>; + /** + * Sorting field. Value range: + * * clusterId: Sorting by instance ID; + * * addTime: sorted by instance creation time; + * * status: sorted by the status code of the instance. + */ + orderField?: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/lite/hbaseInstance.ts b/sdk/nodejs/lite/hbaseInstance.ts new file mode 100644 index 000000000..55e69938e --- /dev/null +++ b/sdk/nodejs/lite/hbaseInstance.ts @@ -0,0 +1,225 @@ +// *** 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 emr liteHbaseInstance + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const liteHbaseInstance = new tencentcloud.lite.HbaseInstance("liteHbaseInstance", { + * diskSize: 100, + * diskType: "CLOUD_HSSD", + * instanceName: "tf-test", + * nodeType: "8C32G", + * payMode: 0, + * tags: [{ + * tagKey: "test", + * tagValue: "test", + * }], + * zoneSettings: [{ + * nodeNum: 3, + * vpcSettings: { + * subnetId: "subnet-xxxxxx", + * vpcId: "vpc-xxxxxx", + * }, + * zone: "ap-shanghai-2", + * }], + * }); + * ``` + * + * + * ## Import + * + * emr lite_hbase_instance can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Lite/hbaseInstance:HbaseInstance lite_hbase_instance lite_hbase_instance_id + * ``` + */ +export class HbaseInstance extends pulumi.CustomResource { + /** + * Get an existing HbaseInstance 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?: HbaseInstanceState, opts?: pulumi.CustomResourceOptions): HbaseInstance { + return new HbaseInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Lite/hbaseInstance:HbaseInstance'; + + /** + * Returns true if the given object is an instance of HbaseInstance. 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 HbaseInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HbaseInstance.__pulumiType; + } + + /** + * Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + */ + public readonly diskSize!: pulumi.Output; + /** + * Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + */ + public readonly diskType!: pulumi.Output; + /** + * Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + */ + public readonly instanceName!: pulumi.Output; + /** + * Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + */ + public readonly nodeType!: pulumi.Output; + /** + * Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + */ + public readonly payMode!: pulumi.Output; + /** + * List of tags to bind to the instance. + */ + public readonly tags!: pulumi.Output; + /** + * Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + */ + public readonly zoneSettings!: pulumi.Output; + + /** + * Create a HbaseInstance 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: HbaseInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: HbaseInstanceArgs | HbaseInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as HbaseInstanceState | undefined; + resourceInputs["diskSize"] = state ? state.diskSize : undefined; + resourceInputs["diskType"] = state ? state.diskType : undefined; + resourceInputs["instanceName"] = state ? state.instanceName : undefined; + resourceInputs["nodeType"] = state ? state.nodeType : undefined; + resourceInputs["payMode"] = state ? state.payMode : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["zoneSettings"] = state ? state.zoneSettings : undefined; + } else { + const args = argsOrState as HbaseInstanceArgs | undefined; + if ((!args || args.diskSize === undefined) && !opts.urn) { + throw new Error("Missing required property 'diskSize'"); + } + if ((!args || args.diskType === undefined) && !opts.urn) { + throw new Error("Missing required property 'diskType'"); + } + if ((!args || args.instanceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceName'"); + } + if ((!args || args.nodeType === undefined) && !opts.urn) { + throw new Error("Missing required property 'nodeType'"); + } + if ((!args || args.payMode === undefined) && !opts.urn) { + throw new Error("Missing required property 'payMode'"); + } + if ((!args || args.zoneSettings === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneSettings'"); + } + resourceInputs["diskSize"] = args ? args.diskSize : undefined; + resourceInputs["diskType"] = args ? args.diskType : undefined; + resourceInputs["instanceName"] = args ? args.instanceName : undefined; + resourceInputs["nodeType"] = args ? args.nodeType : undefined; + resourceInputs["payMode"] = args ? args.payMode : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["zoneSettings"] = args ? args.zoneSettings : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(HbaseInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering HbaseInstance resources. + */ +export interface HbaseInstanceState { + /** + * Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + */ + diskSize?: pulumi.Input; + /** + * Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + */ + diskType?: pulumi.Input; + /** + * Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + */ + instanceName?: pulumi.Input; + /** + * Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + */ + nodeType?: pulumi.Input; + /** + * Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + */ + payMode?: pulumi.Input; + /** + * List of tags to bind to the instance. + */ + tags?: pulumi.Input[]>; + /** + * Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + */ + zoneSettings?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a HbaseInstance resource. + */ +export interface HbaseInstanceArgs { + /** + * Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + */ + diskSize: pulumi.Input; + /** + * Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + */ + diskType: pulumi.Input; + /** + * Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + */ + instanceName: pulumi.Input; + /** + * Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + */ + nodeType: pulumi.Input; + /** + * Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + */ + payMode: pulumi.Input; + /** + * List of tags to bind to the instance. + */ + tags?: pulumi.Input[]>; + /** + * Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + */ + zoneSettings: pulumi.Input[]>; +} diff --git a/sdk/nodejs/lite/index.ts b/sdk/nodejs/lite/index.ts new file mode 100644 index 000000000..3ef776dc3 --- /dev/null +++ b/sdk/nodejs/lite/index.ts @@ -0,0 +1,30 @@ +// *** 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"; + +// Export members: +export { GetHbaseInstancesArgs, GetHbaseInstancesResult, GetHbaseInstancesOutputArgs } from "./getHbaseInstances"; +export const getHbaseInstances: typeof import("./getHbaseInstances").getHbaseInstances = null as any; +export const getHbaseInstancesOutput: typeof import("./getHbaseInstances").getHbaseInstancesOutput = null as any; +utilities.lazyLoad(exports, ["getHbaseInstances","getHbaseInstancesOutput"], () => require("./getHbaseInstances")); + +export { HbaseInstanceArgs, HbaseInstanceState } from "./hbaseInstance"; +export type HbaseInstance = import("./hbaseInstance").HbaseInstance; +export const HbaseInstance: typeof import("./hbaseInstance").HbaseInstance = null as any; +utilities.lazyLoad(exports, ["HbaseInstance"], () => require("./hbaseInstance")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Lite/hbaseInstance:HbaseInstance": + return new HbaseInstance(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Lite/hbaseInstance", _module) diff --git a/sdk/nodejs/mongodb/instance.ts b/sdk/nodejs/mongodb/instance.ts index 9d83ac86e..65b357078 100644 --- a/sdk/nodejs/mongodb/instance.ts +++ b/sdk/nodejs/mongodb/instance.ts @@ -111,6 +111,16 @@ export class Instance extends pulumi.CustomResource { * Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). */ public readonly machineType!: pulumi.Output; + /** + * Maintenance window end time. + * - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + * - The end time must be based on the start time backwards. + */ + public readonly maintenanceEnd!: pulumi.Output; + /** + * Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + */ + public readonly maintenanceStart!: pulumi.Output; /** * Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. */ @@ -195,6 +205,8 @@ export class Instance extends pulumi.CustomResource { resourceInputs["hiddenZone"] = state ? state.hiddenZone : undefined; resourceInputs["instanceName"] = state ? state.instanceName : undefined; resourceInputs["machineType"] = state ? state.machineType : undefined; + resourceInputs["maintenanceEnd"] = state ? state.maintenanceEnd : undefined; + resourceInputs["maintenanceStart"] = state ? state.maintenanceStart : undefined; resourceInputs["memory"] = state ? state.memory : undefined; resourceInputs["nodeNum"] = state ? state.nodeNum : undefined; resourceInputs["password"] = state ? state.password : undefined; @@ -239,6 +251,8 @@ export class Instance extends pulumi.CustomResource { resourceInputs["hiddenZone"] = args ? args.hiddenZone : undefined; resourceInputs["instanceName"] = args ? args.instanceName : undefined; resourceInputs["machineType"] = args ? args.machineType : undefined; + resourceInputs["maintenanceEnd"] = args ? args.maintenanceEnd : undefined; + resourceInputs["maintenanceStart"] = args ? args.maintenanceStart : undefined; resourceInputs["memory"] = args ? args.memory : undefined; resourceInputs["nodeNum"] = args ? args.nodeNum : undefined; resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; @@ -311,6 +325,16 @@ export interface InstanceState { * Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). */ machineType?: pulumi.Input; + /** + * Maintenance window end time. + * - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + * - The end time must be based on the start time backwards. + */ + maintenanceEnd?: pulumi.Input; + /** + * Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + */ + maintenanceStart?: pulumi.Input; /** * Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. */ @@ -417,6 +441,16 @@ export interface InstanceArgs { * Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). */ machineType: pulumi.Input; + /** + * Maintenance window end time. + * - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + * - The end time must be based on the start time backwards. + */ + maintenanceEnd?: pulumi.Input; + /** + * Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + */ + maintenanceStart?: pulumi.Input; /** * Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. */ diff --git a/sdk/nodejs/monitor/getTmpInstances.ts b/sdk/nodejs/monitor/getTmpInstances.ts new file mode 100644 index 000000000..5401214ab --- /dev/null +++ b/sdk/nodejs/monitor/getTmpInstances.ts @@ -0,0 +1,198 @@ +// *** 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 monitor tmp instances + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const tmpInstances = tencentcloud.Monitor.getTmpInstances({ + * instanceIds: ["prom-xxxxxx"], + * }); + * ``` + * + */ +export function getTmpInstances(args?: GetTmpInstancesArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Monitor/getTmpInstances:getTmpInstances", { + "instanceChargeType": args.instanceChargeType, + "instanceIds": args.instanceIds, + "instanceName": args.instanceName, + "instanceStatuses": args.instanceStatuses, + "ipv4Addresses": args.ipv4Addresses, + "resultOutputFile": args.resultOutputFile, + "tagFilters": args.tagFilters, + "zones": args.zones, + }, opts); +} + +/** + * A collection of arguments for invoking getTmpInstances. + */ +export interface GetTmpInstancesArgs { + /** + * Filter according to instance charge type. + * - 2: Prepaid; + * - 3: Postpaid by hour. + */ + instanceChargeType?: number; + /** + * Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + */ + instanceIds?: string[]; + /** + * Filter according to instance name. + */ + instanceName?: string; + /** + * Filter according to instance status. + * - 1: Creating; + * - 2: In operation; + * - 3: Abnormal; + * - 4: Reconstruction; + * - 5: Destruction; + * - 6: Stopped taking; + * - 8: Suspension of service due to arrears; + * - 9: Service has been suspended due to arrears. + */ + instanceStatuses?: number[]; + /** + * Filter according to ipv4 address. + */ + ipv4Addresses?: string[]; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + */ + tagFilters?: inputs.Monitor.GetTmpInstancesTagFilter[]; + /** + * Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + */ + zones?: string[]; +} + +/** + * A collection of values returned by getTmpInstances. + */ +export interface GetTmpInstancesResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Instance charge type. + * - 2: Prepaid; + * - 3: Postpaid by hour. + */ + readonly instanceChargeType?: number; + readonly instanceIds?: string[]; + /** + * Instance name. + */ + readonly instanceName?: string; + /** + * Instance details list. + */ + readonly instanceSets: outputs.Monitor.GetTmpInstancesInstanceSet[]; + /** + * Filter according to instance status. + * - 1: Creating; + * - 2: In operation; + * - 3: Abnormal; + * - 4: Reconstruction; + * - 5: Destruction; + * - 6: Stopped taking; + * - 8: Suspension of service due to arrears; + * - 9: Service has been suspended due to arrears. + */ + readonly instanceStatuses?: number[]; + /** + * IPV4 address. + */ + readonly ipv4Addresses?: string[]; + readonly resultOutputFile?: string; + readonly tagFilters?: outputs.Monitor.GetTmpInstancesTagFilter[]; + readonly zones?: string[]; +} +/** + * Use this data source to query detailed information of monitor tmp instances + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const tmpInstances = tencentcloud.Monitor.getTmpInstances({ + * instanceIds: ["prom-xxxxxx"], + * }); + * ``` + * + */ +export function getTmpInstancesOutput(args?: GetTmpInstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getTmpInstances(a, opts)) +} + +/** + * A collection of arguments for invoking getTmpInstances. + */ +export interface GetTmpInstancesOutputArgs { + /** + * Filter according to instance charge type. + * - 2: Prepaid; + * - 3: Postpaid by hour. + */ + instanceChargeType?: pulumi.Input; + /** + * Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + */ + instanceIds?: pulumi.Input[]>; + /** + * Filter according to instance name. + */ + instanceName?: pulumi.Input; + /** + * Filter according to instance status. + * - 1: Creating; + * - 2: In operation; + * - 3: Abnormal; + * - 4: Reconstruction; + * - 5: Destruction; + * - 6: Stopped taking; + * - 8: Suspension of service due to arrears; + * - 9: Service has been suspended due to arrears. + */ + instanceStatuses?: pulumi.Input[]>; + /** + * Filter according to ipv4 address. + */ + ipv4Addresses?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + */ + tagFilters?: pulumi.Input[]>; + /** + * Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + */ + zones?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/monitor/index.ts b/sdk/nodejs/monitor/index.ts index 4d39e1934..5c624b573 100644 --- a/sdk/nodejs/monitor/index.ts +++ b/sdk/nodejs/monitor/index.ts @@ -115,6 +115,11 @@ export const getStatisticData: typeof import("./getStatisticData").getStatisticD export const getStatisticDataOutput: typeof import("./getStatisticData").getStatisticDataOutput = null as any; utilities.lazyLoad(exports, ["getStatisticData","getStatisticDataOutput"], () => require("./getStatisticData")); +export { GetTmpInstancesArgs, GetTmpInstancesResult, GetTmpInstancesOutputArgs } from "./getTmpInstances"; +export const getTmpInstances: typeof import("./getTmpInstances").getTmpInstances = null as any; +export const getTmpInstancesOutput: typeof import("./getTmpInstances").getTmpInstancesOutput = null as any; +utilities.lazyLoad(exports, ["getTmpInstances","getTmpInstancesOutput"], () => require("./getTmpInstances")); + export { GetTmpRegionsArgs, GetTmpRegionsResult, GetTmpRegionsOutputArgs } from "./getTmpRegions"; export const getTmpRegions: typeof import("./getTmpRegions").getTmpRegions = null as any; export const getTmpRegionsOutput: typeof import("./getTmpRegions").getTmpRegionsOutput = null as any; diff --git a/sdk/nodejs/monitor/tmpAlertGroup.ts b/sdk/nodejs/monitor/tmpAlertGroup.ts index 0252b9d16..78d6fb553 100644 --- a/sdk/nodejs/monitor/tmpAlertGroup.ts +++ b/sdk/nodejs/monitor/tmpAlertGroup.ts @@ -16,26 +16,43 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const tmpAlertGroup = new tencentcloud.monitor.TmpAlertGroup("tmpAlertGroup", { - * ampReceivers: ["notice-om017kc2"], + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: availabilityZone, + * cidrBlock: "10.0.1.0/24", + * }); + * const exampleTmpInstance = new tencentcloud.monitor.TmpInstance("exampleTmpInstance", { + * instanceName: "tf-tmp-instance", + * vpcId: vpc.id, + * subnetId: subnet.id, + * dataRetentionTime: 30, + * zone: availabilityZone, + * tags: { + * createdBy: "terraform", + * }, + * }); + * const exampleTmpAlertGroup = new tencentcloud.monitor.TmpAlertGroup("exampleTmpAlertGroup", { + * groupName: "tf-example", + * instanceId: exampleTmpInstance.id, + * repeatInterval: "5m", * customReceiver: { * type: "amp", * }, - * groupName: "tf-test", - * instanceId: "prom-ip429jis", - * repeatInterval: "5m", * rules: [{ + * duration: "1m", + * expr: "up{job=\"prometheus-agent\"} != 1", + * ruleName: "Agent health check", + * state: 2, * annotations: { - * description: "Agent {{$labels.instance}} is deactivated, please pay attention!", * summary: "Agent health check", + * description: "Agent {{$labels.instance}} is deactivated, please pay attention!", * }, - * duration: "1m", - * expr: "up{job=\"prometheus-agent\"} != 1", * labels: { * severity: "critical", * }, - * ruleName: "Agent health check", - * state: 2, * }], * }); * ``` @@ -46,7 +63,7 @@ import * as utilities from "../utilities"; * monitor tmp_alert_group can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + * $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup example prom-34qkzwvs#alert-rfkkr6cw * ``` */ export class TmpAlertGroup extends pulumi.CustomResource { diff --git a/sdk/nodejs/mysql/clsLogAttachment.ts b/sdk/nodejs/mysql/clsLogAttachment.ts new file mode 100644 index 000000000..147e53308 --- /dev/null +++ b/sdk/nodejs/mysql/clsLogAttachment.ts @@ -0,0 +1,323 @@ +// *** 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 a mysql log to cls + * + * > **NOTE:** The CLS resource bound to resource `tencentcloud.Mysql.ClsLogAttachment` needs to be manually deleted. + * + * ## Example Usage + * + * ### Create Error Log to ClS + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: "ap-guangzhou-6", + * vpcId: vpc.id, + * cidrBlock: "10.0.0.0/16", + * isMulticast: false, + * }); + * // create security group + * const securityGroup = new tencentcloud.security.Group("securityGroup", {description: "mysql test"}); + * // create mysql instance + * const exampleInstance = new tencentcloud.mysql.Instance("exampleInstance", { + * internetService: 1, + * engineVersion: "5.7", + * chargeType: "POSTPAID", + * rootPassword: "PassWord123", + * slaveDeployMode: 0, + * availabilityZone: "ap-guangzhou-6", + * slaveSyncMode: 1, + * instanceName: "tf-example-mysql", + * memSize: 4000, + * volumeSize: 200, + * vpcId: vpc.id, + * subnetId: subnet.id, + * intranetPort: 3306, + * securityGroups: [securityGroup.id], + * tags: { + * name: "test", + * }, + * parameters: { + * character_set_server: "utf8", + * max_connections: "1000", + * }, + * }); + * // attachment cls log + * const exampleClsLogAttachment = new tencentcloud.mysql.ClsLogAttachment("exampleClsLogAttachment", { + * instanceId: exampleInstance.id, + * logType: "error", + * createLogSet: true, + * createLogTopic: true, + * logSet: "tf_log_set", + * logTopic: "tf_log_topic", + * period: 30, + * createIndex: true, + * clsRegion: "ap-guangzhou", + * }); + * ``` + * + * + * ### Create Slow Log to ClS + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.mysql.ClsLogAttachment("example", { + * instanceId: tencentcloud_mysql_instance.example.id, + * logType: "slowlog", + * logSet: "50d499a8-c4c0-4442-aa04-e8aa8a02437d", + * logTopic: "140d4d39-4307-45a8-9655-290f679b063d", + * }); + * ``` + * + * + * ## Import + * + * mysql log to cls can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment example cdb-8fk7id2l#slowlog + * ``` + */ +export class ClsLogAttachment extends pulumi.CustomResource { + /** + * Get an existing ClsLogAttachment 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?: ClsLogAttachmentState, opts?: pulumi.CustomResourceOptions): ClsLogAttachment { + return new ClsLogAttachment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment'; + + /** + * Returns true if the given object is an instance of ClsLogAttachment. 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 ClsLogAttachment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ClsLogAttachment.__pulumiType; + } + + /** + * Cls region. + */ + public readonly clsRegion!: pulumi.Output; + /** + * Whether to create index. + */ + public readonly createIndex!: pulumi.Output; + /** + * Whether to create log set. + */ + public readonly createLogSet!: pulumi.Output; + /** + * Whether to create log topic. + */ + public readonly createLogTopic!: pulumi.Output; + /** + * The id of instance. + */ + public readonly instanceId!: pulumi.Output; + /** + * If `createLogSet` is `true`, use log set name, Else use log set Id. + */ + public readonly logSet!: pulumi.Output; + /** + * Log set Id. + */ + public /*out*/ readonly logSetId!: pulumi.Output; + /** + * If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + */ + public readonly logTopic!: pulumi.Output; + /** + * Log topic Id. + */ + public /*out*/ readonly logTopicId!: pulumi.Output; + /** + * Log type. Support `error` or `slowlog`. + */ + public readonly logType!: pulumi.Output; + /** + * The validity period of the log theme is 30 days by default when not filled in. + */ + public readonly period!: pulumi.Output; + /** + * Log Status. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a ClsLogAttachment 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: ClsLogAttachmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ClsLogAttachmentArgs | ClsLogAttachmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ClsLogAttachmentState | undefined; + resourceInputs["clsRegion"] = state ? state.clsRegion : undefined; + resourceInputs["createIndex"] = state ? state.createIndex : undefined; + resourceInputs["createLogSet"] = state ? state.createLogSet : undefined; + resourceInputs["createLogTopic"] = state ? state.createLogTopic : undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["logSet"] = state ? state.logSet : undefined; + resourceInputs["logSetId"] = state ? state.logSetId : undefined; + resourceInputs["logTopic"] = state ? state.logTopic : undefined; + resourceInputs["logTopicId"] = state ? state.logTopicId : undefined; + resourceInputs["logType"] = state ? state.logType : undefined; + resourceInputs["period"] = state ? state.period : undefined; + resourceInputs["status"] = state ? state.status : undefined; + } else { + const args = argsOrState as ClsLogAttachmentArgs | undefined; + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if ((!args || args.logSet === undefined) && !opts.urn) { + throw new Error("Missing required property 'logSet'"); + } + if ((!args || args.logTopic === undefined) && !opts.urn) { + throw new Error("Missing required property 'logTopic'"); + } + if ((!args || args.logType === undefined) && !opts.urn) { + throw new Error("Missing required property 'logType'"); + } + resourceInputs["clsRegion"] = args ? args.clsRegion : undefined; + resourceInputs["createIndex"] = args ? args.createIndex : undefined; + resourceInputs["createLogSet"] = args ? args.createLogSet : undefined; + resourceInputs["createLogTopic"] = args ? args.createLogTopic : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["logSet"] = args ? args.logSet : undefined; + resourceInputs["logTopic"] = args ? args.logTopic : undefined; + resourceInputs["logType"] = args ? args.logType : undefined; + resourceInputs["period"] = args ? args.period : undefined; + resourceInputs["logSetId"] = undefined /*out*/; + resourceInputs["logTopicId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ClsLogAttachment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ClsLogAttachment resources. + */ +export interface ClsLogAttachmentState { + /** + * Cls region. + */ + clsRegion?: pulumi.Input; + /** + * Whether to create index. + */ + createIndex?: pulumi.Input; + /** + * Whether to create log set. + */ + createLogSet?: pulumi.Input; + /** + * Whether to create log topic. + */ + createLogTopic?: pulumi.Input; + /** + * The id of instance. + */ + instanceId?: pulumi.Input; + /** + * If `createLogSet` is `true`, use log set name, Else use log set Id. + */ + logSet?: pulumi.Input; + /** + * Log set Id. + */ + logSetId?: pulumi.Input; + /** + * If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + */ + logTopic?: pulumi.Input; + /** + * Log topic Id. + */ + logTopicId?: pulumi.Input; + /** + * Log type. Support `error` or `slowlog`. + */ + logType?: pulumi.Input; + /** + * The validity period of the log theme is 30 days by default when not filled in. + */ + period?: pulumi.Input; + /** + * Log Status. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ClsLogAttachment resource. + */ +export interface ClsLogAttachmentArgs { + /** + * Cls region. + */ + clsRegion?: pulumi.Input; + /** + * Whether to create index. + */ + createIndex?: pulumi.Input; + /** + * Whether to create log set. + */ + createLogSet?: pulumi.Input; + /** + * Whether to create log topic. + */ + createLogTopic?: pulumi.Input; + /** + * The id of instance. + */ + instanceId: pulumi.Input; + /** + * If `createLogSet` is `true`, use log set name, Else use log set Id. + */ + logSet: pulumi.Input; + /** + * If `createLogTopic` is `true`, use log topic name, Else use log topic Id. + */ + logTopic: pulumi.Input; + /** + * Log type. Support `error` or `slowlog`. + */ + logType: pulumi.Input; + /** + * The validity period of the log theme is 30 days by default when not filled in. + */ + period?: pulumi.Input; +} diff --git a/sdk/nodejs/mysql/index.ts b/sdk/nodejs/mysql/index.ts index bcfdcda21..7aab2be15 100644 --- a/sdk/nodejs/mysql/index.ts +++ b/sdk/nodejs/mysql/index.ts @@ -30,6 +30,11 @@ export type BackupPolicy = import("./backupPolicy").BackupPolicy; export const BackupPolicy: typeof import("./backupPolicy").BackupPolicy = null as any; utilities.lazyLoad(exports, ["BackupPolicy"], () => require("./backupPolicy")); +export { ClsLogAttachmentArgs, ClsLogAttachmentState } from "./clsLogAttachment"; +export type ClsLogAttachment = import("./clsLogAttachment").ClsLogAttachment; +export const ClsLogAttachment: typeof import("./clsLogAttachment").ClsLogAttachment = null as any; +utilities.lazyLoad(exports, ["ClsLogAttachment"], () => require("./clsLogAttachment")); + export { DatabaseArgs, DatabaseState } from "./database"; export type Database = import("./database").Database; export const Database: typeof import("./database").Database = null as any; @@ -305,6 +310,11 @@ export type SecurityGroupsAttachment = import("./securityGroupsAttachment").Secu export const SecurityGroupsAttachment: typeof import("./securityGroupsAttachment").SecurityGroupsAttachment = null as any; utilities.lazyLoad(exports, ["SecurityGroupsAttachment"], () => require("./securityGroupsAttachment")); +export { SslArgs, SslState } from "./ssl"; +export type Ssl = import("./ssl").Ssl; +export const Ssl: typeof import("./ssl").Ssl = null as any; +utilities.lazyLoad(exports, ["Ssl"], () => require("./ssl")); + export { SwitchForUpgradeArgs, SwitchForUpgradeState } from "./switchForUpgrade"; export type SwitchForUpgrade = import("./switchForUpgrade").SwitchForUpgrade; export const SwitchForUpgrade: typeof import("./switchForUpgrade").SwitchForUpgrade = null as any; @@ -345,6 +355,8 @@ const _module = { return new BackupEncryptionStatus(name, undefined, { urn }) case "tencentcloud:Mysql/backupPolicy:BackupPolicy": return new BackupPolicy(name, undefined, { urn }) + case "tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment": + return new ClsLogAttachment(name, undefined, { urn }) case "tencentcloud:Mysql/database:Database": return new Database(name, undefined, { urn }) case "tencentcloud:Mysql/dbImportJobOperation:DbImportJobOperation": @@ -399,6 +411,8 @@ const _module = { return new RollbackStop(name, undefined, { urn }) case "tencentcloud:Mysql/securityGroupsAttachment:SecurityGroupsAttachment": return new SecurityGroupsAttachment(name, undefined, { urn }) + case "tencentcloud:Mysql/ssl:Ssl": + return new Ssl(name, undefined, { urn }) case "tencentcloud:Mysql/switchForUpgrade:SwitchForUpgrade": return new SwitchForUpgrade(name, undefined, { urn }) case "tencentcloud:Mysql/switchMasterSlaveOperation:SwitchMasterSlaveOperation": @@ -419,6 +433,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/auditLogFile", _mod pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/backupDownloadRestriction", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/backupEncryptionStatus", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/backupPolicy", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/clsLogAttachment", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/database", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/dbImportJobOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/deployGroup", _module) @@ -446,6 +461,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/roStopReplication", pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/rollback", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/rollbackStop", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/securityGroupsAttachment", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/ssl", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/switchForUpgrade", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/switchMasterSlaveOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mysql/switchProxy", _module) diff --git a/sdk/nodejs/mysql/instance.ts b/sdk/nodejs/mysql/instance.ts index bfa2e67f7..208d64e5d 100644 --- a/sdk/nodejs/mysql/instance.ts +++ b/sdk/nodejs/mysql/instance.ts @@ -148,6 +148,10 @@ export class Instance extends pulumi.CustomResource { * Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. */ public readonly deviceType!: pulumi.Output; + /** + * Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + */ + public readonly engineType!: pulumi.Output; /** * The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. */ @@ -303,6 +307,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["chargeType"] = state ? state.chargeType : undefined; resourceInputs["cpu"] = state ? state.cpu : undefined; resourceInputs["deviceType"] = state ? state.deviceType : undefined; + resourceInputs["engineType"] = state ? state.engineType : undefined; resourceInputs["engineVersion"] = state ? state.engineVersion : undefined; resourceInputs["fastUpgrade"] = state ? state.fastUpgrade : undefined; resourceInputs["firstSlaveZone"] = state ? state.firstSlaveZone : undefined; @@ -352,6 +357,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["chargeType"] = args ? args.chargeType : undefined; resourceInputs["cpu"] = args ? args.cpu : undefined; resourceInputs["deviceType"] = args ? args.deviceType : undefined; + resourceInputs["engineType"] = args ? args.engineType : undefined; resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; resourceInputs["fastUpgrade"] = args ? args.fastUpgrade : undefined; resourceInputs["firstSlaveZone"] = args ? args.firstSlaveZone : undefined; @@ -417,6 +423,10 @@ export interface InstanceState { * Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. */ deviceType?: pulumi.Input; + /** + * Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + */ + engineType?: pulumi.Input; /** * The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. */ @@ -579,6 +589,10 @@ export interface InstanceArgs { * Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. */ deviceType?: pulumi.Input; + /** + * Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + */ + engineType?: pulumi.Input; /** * The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. */ diff --git a/sdk/nodejs/mysql/readonlyInstance.ts b/sdk/nodejs/mysql/readonlyInstance.ts index 5bb57db0e..65529c978 100644 --- a/sdk/nodejs/mysql/readonlyInstance.ts +++ b/sdk/nodejs/mysql/readonlyInstance.ts @@ -176,6 +176,10 @@ export class ReadonlyInstance extends pulumi.CustomResource { * Period of instance. NOTES: Only supported prepaid instance. */ public readonly prepaidPeriod!: pulumi.Output; + /** + * Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + */ + public readonly roGroupId!: pulumi.Output; /** * Security groups to use. */ @@ -247,6 +251,7 @@ export class ReadonlyInstance extends pulumi.CustomResource { resourceInputs["payType"] = state ? state.payType : undefined; resourceInputs["period"] = state ? state.period : undefined; resourceInputs["prepaidPeriod"] = state ? state.prepaidPeriod : undefined; + resourceInputs["roGroupId"] = state ? state.roGroupId : undefined; resourceInputs["securityGroups"] = state ? state.securityGroups : undefined; resourceInputs["slaveDeployMode"] = state ? state.slaveDeployMode : undefined; resourceInputs["status"] = state ? state.status : undefined; @@ -286,6 +291,7 @@ export class ReadonlyInstance extends pulumi.CustomResource { resourceInputs["payType"] = args ? args.payType : undefined; resourceInputs["period"] = args ? args.period : undefined; resourceInputs["prepaidPeriod"] = args ? args.prepaidPeriod : undefined; + resourceInputs["roGroupId"] = args ? args.roGroupId : undefined; resourceInputs["securityGroups"] = args ? args.securityGroups : undefined; resourceInputs["slaveDeployMode"] = args ? args.slaveDeployMode : undefined; resourceInputs["subnetId"] = args ? args.subnetId : undefined; @@ -380,6 +386,10 @@ export interface ReadonlyInstanceState { * Period of instance. NOTES: Only supported prepaid instance. */ prepaidPeriod?: pulumi.Input; + /** + * Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + */ + roGroupId?: pulumi.Input; /** * Security groups to use. */ @@ -490,6 +500,10 @@ export interface ReadonlyInstanceArgs { * Period of instance. NOTES: Only supported prepaid instance. */ prepaidPeriod?: pulumi.Input; + /** + * Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + */ + roGroupId?: pulumi.Input; /** * Security groups to use. */ diff --git a/sdk/nodejs/mysql/ssl.ts b/sdk/nodejs/mysql/ssl.ts new file mode 100644 index 000000000..1daa236a0 --- /dev/null +++ b/sdk/nodejs/mysql/ssl.ts @@ -0,0 +1,136 @@ +// *** 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 a mysql ssl + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const ssl = new tencentcloud.mysql.Ssl("ssl", { + * instanceId: "cdb-j5rprr8n", + * status: "OFF", + * }); + * ``` + * + * + * ## Import + * + * mysql ssl can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Mysql/ssl:Ssl ssl instanceId + * ``` + */ +export class Ssl extends pulumi.CustomResource { + /** + * Get an existing Ssl 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?: SslState, opts?: pulumi.CustomResourceOptions): Ssl { + return new Ssl(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Mysql/ssl:Ssl'; + + /** + * Returns true if the given object is an instance of Ssl. 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 Ssl { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Ssl.__pulumiType; + } + + /** + * Instance ID. Example value: cdb-c1nl9rpv. + */ + public readonly instanceId!: pulumi.Output; + /** + * Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + */ + public readonly status!: pulumi.Output; + /** + * The certificate download link. Example value: http://testdownload.url. + */ + public /*out*/ readonly url!: pulumi.Output; + + /** + * Create a Ssl 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: SslArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SslArgs | SslState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SslState | undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["url"] = state ? state.url : undefined; + } else { + const args = argsOrState as SslArgs | undefined; + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if ((!args || args.status === undefined) && !opts.urn) { + throw new Error("Missing required property 'status'"); + } + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["status"] = args ? args.status : undefined; + resourceInputs["url"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Ssl.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Ssl resources. + */ +export interface SslState { + /** + * Instance ID. Example value: cdb-c1nl9rpv. + */ + instanceId?: pulumi.Input; + /** + * Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + */ + status?: pulumi.Input; + /** + * The certificate download link. Example value: http://testdownload.url. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Ssl resource. + */ +export interface SslArgs { + /** + * Instance ID. Example value: cdb-c1nl9rpv. + */ + instanceId: pulumi.Input; + /** + * Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + */ + status: pulumi.Input; +} diff --git a/sdk/nodejs/organization/getServices.ts b/sdk/nodejs/organization/getServices.ts new file mode 100644 index 000000000..9f23aeca1 --- /dev/null +++ b/sdk/nodejs/organization/getServices.ts @@ -0,0 +1,122 @@ +// *** 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 organization services + * + * ## Example Usage + * + * ### Query all organization services + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const services = tencentcloud.Organization.getServices({}); + * ``` + * + * + * ### Query organization services by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const services = tencentcloud.Organization.getServices({ + * searchKey: "KeyWord", + * }); + * ``` + * + */ +export function getServices(args?: GetServicesArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Organization/getServices:getServices", { + "resultOutputFile": args.resultOutputFile, + "searchKey": args.searchKey, + }, opts); +} + +/** + * A collection of arguments for invoking getServices. + */ +export interface GetServicesArgs { + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Keyword for search by name. + */ + searchKey?: string; +} + +/** + * A collection of values returned by getServices. + */ +export interface GetServicesResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Organization service list. + */ + readonly items: outputs.Organization.GetServicesItem[]; + readonly resultOutputFile?: string; + readonly searchKey?: string; +} +/** + * Use this data source to query detailed information of organization services + * + * ## Example Usage + * + * ### Query all organization services + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const services = tencentcloud.Organization.getServices({}); + * ``` + * + * + * ### Query organization services by filter + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const services = tencentcloud.Organization.getServices({ + * searchKey: "KeyWord", + * }); + * ``` + * + */ +export function getServicesOutput(args?: GetServicesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getServices(a, opts)) +} + +/** + * A collection of arguments for invoking getServices. + */ +export interface GetServicesOutputArgs { + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Keyword for search by name. + */ + searchKey?: pulumi.Input; +} diff --git a/sdk/nodejs/organization/index.ts b/sdk/nodejs/organization/index.ts index 72eab7084..2d557c209 100644 --- a/sdk/nodejs/organization/index.ts +++ b/sdk/nodejs/organization/index.ts @@ -35,6 +35,11 @@ export const getOrgShareArea: typeof import("./getOrgShareArea").getOrgShareArea export const getOrgShareAreaOutput: typeof import("./getOrgShareArea").getOrgShareAreaOutput = null as any; utilities.lazyLoad(exports, ["getOrgShareArea","getOrgShareAreaOutput"], () => require("./getOrgShareArea")); +export { GetServicesArgs, GetServicesResult, GetServicesOutputArgs } from "./getServices"; +export const getServices: typeof import("./getServices").getServices = null as any; +export const getServicesOutput: typeof import("./getServices").getServicesOutput = null as any; +utilities.lazyLoad(exports, ["getServices","getServicesOutput"], () => require("./getServices")); + export { InstanceArgs, InstanceState } from "./instance"; export type Instance = import("./instance").Instance; export const Instance: typeof import("./instance").Instance = null as any; @@ -105,6 +110,11 @@ export type QuitOrganizationOperation = import("./quitOrganizationOperation").Qu export const QuitOrganizationOperation: typeof import("./quitOrganizationOperation").QuitOrganizationOperation = null as any; utilities.lazyLoad(exports, ["QuitOrganizationOperation"], () => require("./quitOrganizationOperation")); +export { ServiceAssignArgs, ServiceAssignState } from "./serviceAssign"; +export type ServiceAssign = import("./serviceAssign").ServiceAssign; +export const ServiceAssign: typeof import("./serviceAssign").ServiceAssign = null as any; +utilities.lazyLoad(exports, ["ServiceAssign"], () => require("./serviceAssign")); + const _module = { version: utilities.getVersion(), @@ -138,6 +148,8 @@ const _module = { return new PolicySubAccountAttachment(name, undefined, { urn }) case "tencentcloud:Organization/quitOrganizationOperation:QuitOrganizationOperation": return new QuitOrganizationOperation(name, undefined, { urn }) + case "tencentcloud:Organization/serviceAssign:ServiceAssign": + return new ServiceAssign(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -157,3 +169,4 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Organization/orgShareUnit pulumi.runtime.registerResourceModule("tencentcloud", "Organization/orgShareUnitMember", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Organization/policySubAccountAttachment", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Organization/quitOrganizationOperation", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Organization/serviceAssign", _module) diff --git a/sdk/nodejs/organization/instance.ts b/sdk/nodejs/organization/instance.ts index b0a7d4ebb..80d872452 100644 --- a/sdk/nodejs/organization/instance.ts +++ b/sdk/nodejs/organization/instance.ts @@ -120,6 +120,10 @@ export class Instance extends pulumi.CustomResource { * Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained. */ public /*out*/ readonly rootNodeId!: pulumi.Output; + /** + * Root node name. + */ + public readonly rootNodeName!: pulumi.Output; /** * Create a Instance resource with the given unique name, arguments, and options. @@ -150,8 +154,10 @@ export class Instance extends pulumi.CustomResource { resourceInputs["payName"] = state ? state.payName : undefined; resourceInputs["payUin"] = state ? state.payUin : undefined; resourceInputs["rootNodeId"] = state ? state.rootNodeId : undefined; + resourceInputs["rootNodeName"] = state ? state.rootNodeName : undefined; } else { const args = argsOrState as InstanceArgs | undefined; + resourceInputs["rootNodeName"] = args ? args.rootNodeName : undefined; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["hostUin"] = undefined /*out*/; resourceInputs["isAllowQuit"] = undefined /*out*/; @@ -242,10 +248,18 @@ export interface InstanceState { * Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained. */ rootNodeId?: pulumi.Input; + /** + * Root node name. + */ + rootNodeName?: pulumi.Input; } /** * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { + /** + * Root node name. + */ + rootNodeName?: pulumi.Input; } diff --git a/sdk/nodejs/organization/orgMember.ts b/sdk/nodejs/organization/orgMember.ts index 8b539e2e3..47fdbc342 100644 --- a/sdk/nodejs/organization/orgMember.ts +++ b/sdk/nodejs/organization/orgMember.ts @@ -122,6 +122,10 @@ export class OrgMember extends pulumi.CustomResource { * Notes. */ public readonly remark!: pulumi.Output; + /** + * Tag description list. + */ + public readonly tags!: pulumi.Output<{[key: string]: any} | undefined>; /** * Member update time. */ @@ -154,6 +158,7 @@ export class OrgMember extends pulumi.CustomResource { resourceInputs["policyType"] = state ? state.policyType : undefined; resourceInputs["recordId"] = state ? state.recordId : undefined; resourceInputs["remark"] = state ? state.remark : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["updateTime"] = state ? state.updateTime : undefined; } else { const args = argsOrState as OrgMemberArgs | undefined; @@ -173,6 +178,7 @@ export class OrgMember extends pulumi.CustomResource { resourceInputs["policyType"] = args ? args.policyType : undefined; resourceInputs["recordId"] = args ? args.recordId : undefined; resourceInputs["remark"] = args ? args.remark : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["isAllowQuit"] = undefined /*out*/; resourceInputs["memberType"] = undefined /*out*/; @@ -247,6 +253,10 @@ export interface OrgMemberState { * Notes. */ remark?: pulumi.Input; + /** + * Tag description list. + */ + tags?: pulumi.Input<{[key: string]: any}>; /** * Member update time. */ @@ -285,4 +295,8 @@ export interface OrgMemberArgs { * Notes. */ remark?: pulumi.Input; + /** + * Tag description list. + */ + tags?: pulumi.Input<{[key: string]: any}>; } diff --git a/sdk/nodejs/organization/orgNode.ts b/sdk/nodejs/organization/orgNode.ts index 7151d945c..4ceefbd99 100644 --- a/sdk/nodejs/organization/orgNode.ts +++ b/sdk/nodejs/organization/orgNode.ts @@ -73,6 +73,10 @@ export class OrgNode extends pulumi.CustomResource { * Notes. */ public readonly remark!: pulumi.Output; + /** + * Tag description list. + */ + public readonly tags!: pulumi.Output<{[key: string]: any} | undefined>; /** * Node update time. */ @@ -95,6 +99,7 @@ export class OrgNode extends pulumi.CustomResource { resourceInputs["name"] = state ? state.name : undefined; resourceInputs["parentNodeId"] = state ? state.parentNodeId : undefined; resourceInputs["remark"] = state ? state.remark : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["updateTime"] = state ? state.updateTime : undefined; } else { const args = argsOrState as OrgNodeArgs | undefined; @@ -104,6 +109,7 @@ export class OrgNode extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["parentNodeId"] = args ? args.parentNodeId : undefined; resourceInputs["remark"] = args ? args.remark : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["updateTime"] = undefined /*out*/; } @@ -132,6 +138,10 @@ export interface OrgNodeState { * Notes. */ remark?: pulumi.Input; + /** + * Tag description list. + */ + tags?: pulumi.Input<{[key: string]: any}>; /** * Node update time. */ @@ -154,4 +164,8 @@ export interface OrgNodeArgs { * Notes. */ remark?: pulumi.Input; + /** + * Tag description list. + */ + tags?: pulumi.Input<{[key: string]: any}>; } diff --git a/sdk/nodejs/organization/serviceAssign.ts b/sdk/nodejs/organization/serviceAssign.ts new file mode 100644 index 000000000..845679433 --- /dev/null +++ b/sdk/nodejs/organization/serviceAssign.ts @@ -0,0 +1,196 @@ +// *** 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 a organization service assign + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.organization.ServiceAssign("example", { + * managementScope: 1, + * memberUins: [ + * 100037235241, + * 100033738111, + * ], + * serviceId: 15, + * }); + * ``` + * + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const example = new tencentcloud.organization.ServiceAssign("example", { + * managementScope: 2, + * managementScopeNodeIds: [ + * 2024256, + * 2024259, + * ], + * managementScopeUins: [ + * 100019287759, + * 100020537485, + * ], + * memberUins: [ + * 100013415241, + * 100078908111, + * ], + * serviceId: 15, + * }); + * ``` + * + * + * ## Import + * + * organization service assign can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Organization/serviceAssign:ServiceAssign example 15 + * ``` + */ +export class ServiceAssign extends pulumi.CustomResource { + /** + * Get an existing ServiceAssign 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?: ServiceAssignState, opts?: pulumi.CustomResourceOptions): ServiceAssign { + return new ServiceAssign(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Organization/serviceAssign:ServiceAssign'; + + /** + * Returns true if the given object is an instance of ServiceAssign. 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 ServiceAssign { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ServiceAssign.__pulumiType; + } + + /** + * Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + */ + public readonly managementScope!: pulumi.Output; + /** + * ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + */ + public readonly managementScopeNodeIds!: pulumi.Output; + /** + * Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + */ + public readonly managementScopeUins!: pulumi.Output; + /** + * Uin list of the delegated admins, Including up to 20 items. + */ + public readonly memberUins!: pulumi.Output; + /** + * Organization service ID. + */ + public readonly serviceId!: pulumi.Output; + + /** + * Create a ServiceAssign 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: ServiceAssignArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ServiceAssignArgs | ServiceAssignState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ServiceAssignState | undefined; + resourceInputs["managementScope"] = state ? state.managementScope : undefined; + resourceInputs["managementScopeNodeIds"] = state ? state.managementScopeNodeIds : undefined; + resourceInputs["managementScopeUins"] = state ? state.managementScopeUins : undefined; + resourceInputs["memberUins"] = state ? state.memberUins : undefined; + resourceInputs["serviceId"] = state ? state.serviceId : undefined; + } else { + const args = argsOrState as ServiceAssignArgs | undefined; + if ((!args || args.memberUins === undefined) && !opts.urn) { + throw new Error("Missing required property 'memberUins'"); + } + if ((!args || args.serviceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'serviceId'"); + } + resourceInputs["managementScope"] = args ? args.managementScope : undefined; + resourceInputs["managementScopeNodeIds"] = args ? args.managementScopeNodeIds : undefined; + resourceInputs["managementScopeUins"] = args ? args.managementScopeUins : undefined; + resourceInputs["memberUins"] = args ? args.memberUins : undefined; + resourceInputs["serviceId"] = args ? args.serviceId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ServiceAssign.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ServiceAssign resources. + */ +export interface ServiceAssignState { + /** + * Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + */ + managementScope?: pulumi.Input; + /** + * ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + */ + managementScopeNodeIds?: pulumi.Input[]>; + /** + * Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + */ + managementScopeUins?: pulumi.Input[]>; + /** + * Uin list of the delegated admins, Including up to 20 items. + */ + memberUins?: pulumi.Input[]>; + /** + * Organization service ID. + */ + serviceId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ServiceAssign resource. + */ +export interface ServiceAssignArgs { + /** + * Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + */ + managementScope?: pulumi.Input; + /** + * ID list of the managed departments. This parameter is valid when `managementScope` is `2`. + */ + managementScopeNodeIds?: pulumi.Input[]>; + /** + * Uin list of the managed members. This parameter is valid when `managementScope` is `2`. + */ + managementScopeUins?: pulumi.Input[]>; + /** + * Uin list of the delegated admins, Including up to 20 items. + */ + memberUins: pulumi.Input[]>; + /** + * Organization service ID. + */ + serviceId: pulumi.Input; +} diff --git a/sdk/nodejs/postgresql/account.ts b/sdk/nodejs/postgresql/account.ts new file mode 100644 index 000000000..9208f1dc0 --- /dev/null +++ b/sdk/nodejs/postgresql/account.ts @@ -0,0 +1,225 @@ +// *** 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 a postgresql account + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * 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 + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create postgresql + * const exampleInstance = new tencentcloud.postgresql.Instance("exampleInstance", { + * availabilityZone: availabilityZone, + * chargeType: "POSTPAID_BY_HOUR", + * vpcId: vpc.id, + * subnetId: subnet.id, + * dbMajorVersion: "10", + * engineVersion: "10.23", + * rootUser: "root123", + * rootPassword: "Root123$", + * charset: "UTF8", + * projectId: 0, + * cpu: 1, + * memory: 2, + * storage: 10, + * tags: { + * test: "tf", + * }, + * }); + * // create account + * const exampleAccount = new tencentcloud.postgresql.Account("exampleAccount", { + * dbInstanceId: exampleInstance.id, + * userName: "tf_example", + * password: "Password@123", + * type: "normal", + * remark: "remark", + * lockStatus: false, + * }); + * ``` + * + * + * ## Import + * + * postgres account can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Postgresql/account:Account example postgres-3hk6b6tj#tf_example + * ``` + */ +export class Account extends pulumi.CustomResource { + /** + * Get an existing Account 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?: AccountState, opts?: pulumi.CustomResourceOptions): Account { + return new Account(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Postgresql/account:Account'; + + /** + * Returns true if the given object is an instance of Account. 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 Account { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Account.__pulumiType; + } + + /** + * Instance ID in the format of postgres-4wdeb0zv. + */ + public readonly dbInstanceId!: pulumi.Output; + /** + * whether lock account. true: locked; false: unlock. + */ + public readonly lockStatus!: pulumi.Output; + /** + * Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + */ + public readonly password!: pulumi.Output; + /** + * Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + */ + public readonly remark!: pulumi.Output; + /** + * The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + */ + public readonly type!: pulumi.Output; + /** + * Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + */ + public readonly userName!: pulumi.Output; + + /** + * Create a Account 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: AccountArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AccountArgs | AccountState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AccountState | undefined; + resourceInputs["dbInstanceId"] = state ? state.dbInstanceId : undefined; + resourceInputs["lockStatus"] = state ? state.lockStatus : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["remark"] = state ? state.remark : undefined; + resourceInputs["type"] = state ? state.type : undefined; + resourceInputs["userName"] = state ? state.userName : undefined; + } else { + const args = argsOrState as AccountArgs | undefined; + if ((!args || args.dbInstanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'dbInstanceId'"); + } + if ((!args || args.password === undefined) && !opts.urn) { + throw new Error("Missing required property 'password'"); + } + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + if ((!args || args.userName === undefined) && !opts.urn) { + throw new Error("Missing required property 'userName'"); + } + resourceInputs["dbInstanceId"] = args ? args.dbInstanceId : undefined; + resourceInputs["lockStatus"] = args ? args.lockStatus : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["remark"] = args ? args.remark : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["userName"] = args ? args.userName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(Account.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Account resources. + */ +export interface AccountState { + /** + * Instance ID in the format of postgres-4wdeb0zv. + */ + dbInstanceId?: pulumi.Input; + /** + * whether lock account. true: locked; false: unlock. + */ + lockStatus?: pulumi.Input; + /** + * Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + */ + password?: pulumi.Input; + /** + * Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + */ + remark?: pulumi.Input; + /** + * The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + */ + type?: pulumi.Input; + /** + * Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + */ + userName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Account resource. + */ +export interface AccountArgs { + /** + * Instance ID in the format of postgres-4wdeb0zv. + */ + dbInstanceId: pulumi.Input; + /** + * whether lock account. true: locked; false: unlock. + */ + lockStatus?: pulumi.Input; + /** + * Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + */ + password: pulumi.Input; + /** + * Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + */ + remark?: pulumi.Input; + /** + * The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pgTencentdbSuperuser role. + */ + type: pulumi.Input; + /** + * Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + */ + userName: pulumi.Input; +} diff --git a/sdk/nodejs/postgresql/accountPrivilegesOperation.ts b/sdk/nodejs/postgresql/accountPrivilegesOperation.ts new file mode 100644 index 000000000..25e70d21f --- /dev/null +++ b/sdk/nodejs/postgresql/accountPrivilegesOperation.ts @@ -0,0 +1,192 @@ +// *** 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 postgresql account privileges + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * 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 + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create postgresql + * const exampleInstance = new tencentcloud.postgresql.Instance("exampleInstance", { + * availabilityZone: availabilityZone, + * chargeType: "POSTPAID_BY_HOUR", + * vpcId: vpc.id, + * subnetId: subnet.id, + * dbMajorVersion: "10", + * engineVersion: "10.23", + * rootUser: "root123", + * rootPassword: "Root123$", + * charset: "UTF8", + * projectId: 0, + * cpu: 1, + * memory: 2, + * storage: 10, + * tags: { + * test: "tf", + * }, + * }); + * // create account + * const exampleAccount = new tencentcloud.postgresql.Account("exampleAccount", { + * dbInstanceId: exampleInstance.id, + * userName: "tf_example", + * password: "Password@123", + * type: "normal", + * remark: "remark", + * lockStatus: false, + * }); + * // create account privileges + * const exampleAccountPrivilegesOperation = new tencentcloud.postgresql.AccountPrivilegesOperation("exampleAccountPrivilegesOperation", { + * dbInstanceId: exampleInstance.id, + * userName: exampleAccount.userName, + * modifyPrivilegeSets: [{ + * databasePrivilege: { + * object: { + * objectName: "postgres", + * objectType: "database", + * }, + * privilegeSets: [ + * "CONNECT", + * "TEMPORARY", + * "CREATE", + * ], + * }, + * modifyType: "grantObject", + * isCascade: false, + * }], + * }); + * ``` + * + */ +export class AccountPrivilegesOperation extends pulumi.CustomResource { + /** + * Get an existing AccountPrivilegesOperation 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?: AccountPrivilegesOperationState, opts?: pulumi.CustomResourceOptions): AccountPrivilegesOperation { + return new AccountPrivilegesOperation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation'; + + /** + * Returns true if the given object is an instance of AccountPrivilegesOperation. 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 AccountPrivilegesOperation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AccountPrivilegesOperation.__pulumiType; + } + + /** + * Instance ID in the format of postgres-4wdeb0zv. + */ + public readonly dbInstanceId!: pulumi.Output; + /** + * Privileges to modify. Batch modification supported, up to 50 entries at a time. + */ + public readonly modifyPrivilegeSets!: pulumi.Output; + /** + * Instance username. + */ + public readonly userName!: pulumi.Output; + + /** + * Create a AccountPrivilegesOperation 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: AccountPrivilegesOperationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AccountPrivilegesOperationArgs | AccountPrivilegesOperationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AccountPrivilegesOperationState | undefined; + resourceInputs["dbInstanceId"] = state ? state.dbInstanceId : undefined; + resourceInputs["modifyPrivilegeSets"] = state ? state.modifyPrivilegeSets : undefined; + resourceInputs["userName"] = state ? state.userName : undefined; + } else { + const args = argsOrState as AccountPrivilegesOperationArgs | undefined; + if ((!args || args.dbInstanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'dbInstanceId'"); + } + if ((!args || args.modifyPrivilegeSets === undefined) && !opts.urn) { + throw new Error("Missing required property 'modifyPrivilegeSets'"); + } + if ((!args || args.userName === undefined) && !opts.urn) { + throw new Error("Missing required property 'userName'"); + } + resourceInputs["dbInstanceId"] = args ? args.dbInstanceId : undefined; + resourceInputs["modifyPrivilegeSets"] = args ? args.modifyPrivilegeSets : undefined; + resourceInputs["userName"] = args ? args.userName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AccountPrivilegesOperation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AccountPrivilegesOperation resources. + */ +export interface AccountPrivilegesOperationState { + /** + * Instance ID in the format of postgres-4wdeb0zv. + */ + dbInstanceId?: pulumi.Input; + /** + * Privileges to modify. Batch modification supported, up to 50 entries at a time. + */ + modifyPrivilegeSets?: pulumi.Input[]>; + /** + * Instance username. + */ + userName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AccountPrivilegesOperation resource. + */ +export interface AccountPrivilegesOperationArgs { + /** + * Instance ID in the format of postgres-4wdeb0zv. + */ + dbInstanceId: pulumi.Input; + /** + * Privileges to modify. Batch modification supported, up to 50 entries at a time. + */ + modifyPrivilegeSets: pulumi.Input[]>; + /** + * Instance username. + */ + userName: pulumi.Input; +} diff --git a/sdk/nodejs/postgresql/getAccountPrivileges.ts b/sdk/nodejs/postgresql/getAccountPrivileges.ts new file mode 100644 index 000000000..f7a44f6b5 --- /dev/null +++ b/sdk/nodejs/postgresql/getAccountPrivileges.ts @@ -0,0 +1,125 @@ +// *** 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 postgresql account privileges + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Postgresql.getAccountPrivileges({ + * databaseObjectSets: [{ + * objectName: "postgres", + * objectType: "database", + * }], + * dbInstanceId: "postgres-3hk6b6tj", + * userName: "tf_example", + * }); + * ``` + * + */ +export function getAccountPrivileges(args: GetAccountPrivilegesArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Postgresql/getAccountPrivileges:getAccountPrivileges", { + "databaseObjectSets": args.databaseObjectSets, + "dbInstanceId": args.dbInstanceId, + "resultOutputFile": args.resultOutputFile, + "userName": args.userName, + }, opts); +} + +/** + * A collection of arguments for invoking getAccountPrivileges. + */ +export interface GetAccountPrivilegesArgs { + /** + * Instance database object info. + */ + databaseObjectSets: inputs.Postgresql.GetAccountPrivilegesDatabaseObjectSet[]; + /** + * Instance ID. + */ + dbInstanceId: string; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Instance username. + */ + userName: string; +} + +/** + * A collection of values returned by getAccountPrivileges. + */ +export interface GetAccountPrivilegesResult { + readonly databaseObjectSets: outputs.Postgresql.GetAccountPrivilegesDatabaseObjectSet[]; + readonly dbInstanceId: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + */ + readonly privilegeSets: outputs.Postgresql.GetAccountPrivilegesPrivilegeSet[]; + readonly resultOutputFile?: string; + readonly userName: string; +} +/** + * Use this data source to query detailed information of postgresql account privileges + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Postgresql.getAccountPrivileges({ + * databaseObjectSets: [{ + * objectName: "postgres", + * objectType: "database", + * }], + * dbInstanceId: "postgres-3hk6b6tj", + * userName: "tf_example", + * }); + * ``` + * + */ +export function getAccountPrivilegesOutput(args: GetAccountPrivilegesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getAccountPrivileges(a, opts)) +} + +/** + * A collection of arguments for invoking getAccountPrivileges. + */ +export interface GetAccountPrivilegesOutputArgs { + /** + * Instance database object info. + */ + databaseObjectSets: pulumi.Input[]>; + /** + * Instance ID. + */ + dbInstanceId: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Instance username. + */ + userName: pulumi.Input; +} diff --git a/sdk/nodejs/postgresql/getDedicatedClusters.ts b/sdk/nodejs/postgresql/getDedicatedClusters.ts new file mode 100644 index 000000000..217ce8f68 --- /dev/null +++ b/sdk/nodejs/postgresql/getDedicatedClusters.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 Postgresql dedicated clusters + * + * ## Example Usage + * + * ### Query all instances + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Postgresql.getDedicatedClusters({}); + * ``` + * + * + * ### Query instances by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Postgresql.getDedicatedClusters({ + * filters: [{ + * name: "dedicated-cluster-id", + * values: ["cluster-262n63e8"], + * }], + * }); + * ``` + * + */ +export function getDedicatedClusters(args?: GetDedicatedClustersArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Postgresql/getDedicatedClusters:getDedicatedClusters", { + "filters": args.filters, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getDedicatedClusters. + */ +export interface GetDedicatedClustersArgs { + /** + * Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + */ + filters?: inputs.Postgresql.GetDedicatedClustersFilter[]; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getDedicatedClusters. + */ +export interface GetDedicatedClustersResult { + /** + * Dedicated cluster set info. + */ + readonly dedicatedClusterSets: outputs.Postgresql.GetDedicatedClustersDedicatedClusterSet[]; + readonly filters?: outputs.Postgresql.GetDedicatedClustersFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of Postgresql dedicated clusters + * + * ## Example Usage + * + * ### Query all instances + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Postgresql.getDedicatedClusters({}); + * ``` + * + * + * ### Query instances by filters + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const example = tencentcloud.Postgresql.getDedicatedClusters({ + * filters: [{ + * name: "dedicated-cluster-id", + * values: ["cluster-262n63e8"], + * }], + * }); + * ``` + * + */ +export function getDedicatedClustersOutput(args?: GetDedicatedClustersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDedicatedClusters(a, opts)) +} + +/** + * A collection of arguments for invoking getDedicatedClusters. + */ +export interface GetDedicatedClustersOutputArgs { + /** + * Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + */ + filters?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/postgresql/index.ts b/sdk/nodejs/postgresql/index.ts index efa355aad..e109e8197 100644 --- a/sdk/nodejs/postgresql/index.ts +++ b/sdk/nodejs/postgresql/index.ts @@ -5,6 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { AccountArgs, AccountState } from "./account"; +export type Account = import("./account").Account; +export const Account: typeof import("./account").Account = null as any; +utilities.lazyLoad(exports, ["Account"], () => require("./account")); + +export { AccountPrivilegesOperationArgs, AccountPrivilegesOperationState } from "./accountPrivilegesOperation"; +export type AccountPrivilegesOperation = import("./accountPrivilegesOperation").AccountPrivilegesOperation; +export const AccountPrivilegesOperation: typeof import("./accountPrivilegesOperation").AccountPrivilegesOperation = null as any; +utilities.lazyLoad(exports, ["AccountPrivilegesOperation"], () => require("./accountPrivilegesOperation")); + export { BackupDownloadRestrictionConfigArgs, BackupDownloadRestrictionConfigState } from "./backupDownloadRestrictionConfig"; export type BackupDownloadRestrictionConfig = import("./backupDownloadRestrictionConfig").BackupDownloadRestrictionConfig; export const BackupDownloadRestrictionConfig: typeof import("./backupDownloadRestrictionConfig").BackupDownloadRestrictionConfig = null as any; @@ -30,6 +40,11 @@ export type DisisolateDbInstanceOperation = import("./disisolateDbInstanceOperat export const DisisolateDbInstanceOperation: typeof import("./disisolateDbInstanceOperation").DisisolateDbInstanceOperation = null as any; utilities.lazyLoad(exports, ["DisisolateDbInstanceOperation"], () => require("./disisolateDbInstanceOperation")); +export { GetAccountPrivilegesArgs, GetAccountPrivilegesResult, GetAccountPrivilegesOutputArgs } from "./getAccountPrivileges"; +export const getAccountPrivileges: typeof import("./getAccountPrivileges").getAccountPrivileges = null as any; +export const getAccountPrivilegesOutput: typeof import("./getAccountPrivileges").getAccountPrivilegesOutput = null as any; +utilities.lazyLoad(exports, ["getAccountPrivileges","getAccountPrivilegesOutput"], () => require("./getAccountPrivileges")); + export { GetBackupDownloadUrlsArgs, GetBackupDownloadUrlsResult, GetBackupDownloadUrlsOutputArgs } from "./getBackupDownloadUrls"; export const getBackupDownloadUrls: typeof import("./getBackupDownloadUrls").getBackupDownloadUrls = null as any; export const getBackupDownloadUrlsOutput: typeof import("./getBackupDownloadUrls").getBackupDownloadUrlsOutput = null as any; @@ -50,6 +65,11 @@ export const getDbInstanceVersions: typeof import("./getDbInstanceVersions").get export const getDbInstanceVersionsOutput: typeof import("./getDbInstanceVersions").getDbInstanceVersionsOutput = null as any; utilities.lazyLoad(exports, ["getDbInstanceVersions","getDbInstanceVersionsOutput"], () => require("./getDbInstanceVersions")); +export { GetDedicatedClustersArgs, GetDedicatedClustersResult, GetDedicatedClustersOutputArgs } from "./getDedicatedClusters"; +export const getDedicatedClusters: typeof import("./getDedicatedClusters").getDedicatedClusters = null as any; +export const getDedicatedClustersOutput: typeof import("./getDedicatedClusters").getDedicatedClustersOutput = null as any; +utilities.lazyLoad(exports, ["getDedicatedClusters","getDedicatedClustersOutput"], () => require("./getDedicatedClusters")); + export { GetDefaultParametersArgs, GetDefaultParametersResult, GetDefaultParametersOutputArgs } from "./getDefaultParameters"; export const getDefaultParameters: typeof import("./getDefaultParameters").getDefaultParameters = null as any; export const getDefaultParametersOutput: typeof import("./getDefaultParameters").getDefaultParametersOutput = null as any; @@ -170,6 +190,10 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "tencentcloud:Postgresql/account:Account": + return new Account(name, undefined, { urn }) + case "tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation": + return new AccountPrivilegesOperation(name, undefined, { urn }) case "tencentcloud:Postgresql/backupDownloadRestrictionConfig:BackupDownloadRestrictionConfig": return new BackupDownloadRestrictionConfig(name, undefined, { urn }) case "tencentcloud:Postgresql/backupPlanConfig:BackupPlanConfig": @@ -211,6 +235,8 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/account", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/accountPrivilegesOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/backupDownloadRestrictionConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/backupPlanConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Postgresql/baseBackup", _module) diff --git a/sdk/nodejs/postgresql/instance.ts b/sdk/nodejs/postgresql/instance.ts index 22cbe2f95..2d4e961ab 100644 --- a/sdk/nodejs/postgresql/instance.ts +++ b/sdk/nodejs/postgresql/instance.ts @@ -14,6 +14,48 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Create a postgresql instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * 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 + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create postgresql + * const example = new tencentcloud.postgresql.Instance("example", { + * availabilityZone: availabilityZone, + * chargeType: "POSTPAID_BY_HOUR", + * vpcId: vpc.id, + * subnetId: subnet.id, + * dbMajorVersion: "10", + * engineVersion: "10.23", + * rootUser: "root123", + * rootPassword: "Root123$", + * charset: "UTF8", + * projectId: 0, + * cpu: 1, + * memory: 2, + * storage: 10, + * tags: { + * test: "tf", + * }, + * }); + * ``` + * + * + * ### Create a postgresql instance with delete protection + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -45,6 +87,7 @@ import * as utilities from "../utilities"; * cpu: 1, * memory: 2, * storage: 10, + * deleteProtection: true, * tags: { * test: "tf", * }, @@ -52,7 +95,7 @@ import * as utilities from "../utilities"; * ``` * * - * ### Create a multi available zone bucket + * ### Create a multi available zone postgresql instance * * * ```typescript @@ -101,7 +144,57 @@ import * as utilities from "../utilities"; * ``` * * - * ### create pgsql with kms key + * ### Create a multi available zone postgresql instance of CDC + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // 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", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create postgresql + * const example = new tencentcloud.postgresql.Instance("example", { + * availabilityZone: availabilityZone, + * chargeType: "POSTPAID_BY_HOUR", + * vpcId: vpc.id, + * subnetId: subnet.id, + * dbMajorVersion: "10", + * rootUser: "root123", + * rootPassword: "Root123$", + * charset: "UTF8", + * projectId: 0, + * memory: 2, + * cpu: 1, + * storage: 10, + * dbNodeSets: [ + * { + * role: "Primary", + * zone: availabilityZone, + * dedicatedClusterId: "cluster-262n63e8", + * }, + * { + * zone: availabilityZone, + * dedicatedClusterId: "cluster-262n63e8", + * }, + * ], + * tags: { + * CreateBy: "terraform", + * }, + * }); + * ``` + * + * + * ### Create pgsql with kms key * * * ```typescript @@ -142,7 +235,7 @@ import * as utilities from "../utilities"; * ``` * * - * ### upgrade kernel version + * ### Upgrade kernel version * * * ```typescript @@ -268,6 +361,10 @@ export class Instance extends pulumi.CustomResource { * Specify instance node info for disaster migration. */ public readonly dbNodeSets!: pulumi.Output; + /** + * Whether to enable instance deletion protection. Default: false. + */ + public readonly deleteProtection!: pulumi.Output; /** * 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`. */ @@ -390,6 +487,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["dbMajorVersion"] = state ? state.dbMajorVersion : undefined; resourceInputs["dbMajorVesion"] = state ? state.dbMajorVesion : undefined; resourceInputs["dbNodeSets"] = state ? state.dbNodeSets : undefined; + resourceInputs["deleteProtection"] = state ? state.deleteProtection : undefined; resourceInputs["engineVersion"] = state ? state.engineVersion : undefined; resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; resourceInputs["kmsRegion"] = state ? state.kmsRegion : undefined; @@ -445,6 +543,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["dbMajorVersion"] = args ? args.dbMajorVersion : undefined; resourceInputs["dbMajorVesion"] = args ? args.dbMajorVesion : undefined; resourceInputs["dbNodeSets"] = args ? args.dbNodeSets : undefined; + resourceInputs["deleteProtection"] = args ? args.deleteProtection : undefined; resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; resourceInputs["kmsRegion"] = args ? args.kmsRegion : undefined; @@ -532,6 +631,10 @@ export interface InstanceState { * Specify instance node info for disaster migration. */ dbNodeSets?: pulumi.Input[]>; + /** + * Whether to enable instance deletion protection. Default: false. + */ + deleteProtection?: pulumi.Input; /** * 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`. */ @@ -680,6 +783,10 @@ export interface InstanceArgs { * Specify instance node info for disaster migration. */ dbNodeSets?: pulumi.Input[]>; + /** + * Whether to enable instance deletion protection. Default: false. + */ + deleteProtection?: pulumi.Input; /** * 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`. */ diff --git a/sdk/nodejs/postgresql/readonlyInstance.ts b/sdk/nodejs/postgresql/readonlyInstance.ts index 7cce29100..8360203bf 100644 --- a/sdk/nodejs/postgresql/readonlyInstance.ts +++ b/sdk/nodejs/postgresql/readonlyInstance.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Create postgresql readonly instance + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -31,7 +33,7 @@ import * as utilities from "../utilities"; * chargeType: "POSTPAID_BY_HOUR", * vpcId: vpc.id, * subnetId: subnet.id, - * engineVersion: "10.4", + * dbMajorVersion: "10", * rootUser: "root123", * rootPassword: "Root123$", * charset: "UTF8", @@ -43,6 +45,7 @@ import * as utilities from "../utilities"; * test: "tf", * }, * }); + * // create postgresql readonly group * const exampleReadonlyGroup = new tencentcloud.postgresql.ReadonlyGroup("exampleReadonlyGroup", { * masterDbInstanceId: exampleInstance.id, * projectId: 0, @@ -62,12 +65,13 @@ import * as utilities from "../utilities"; * example: "test", * }, * }); + * // create postgresql readonly instance * const exampleReadonlyInstance = new tencentcloud.postgresql.ReadonlyInstance("exampleReadonlyInstance", { * readOnlyGroupId: exampleReadonlyGroup.id, * masterDbInstanceId: exampleInstance.id, * zone: availabilityZone, * autoRenewFlag: 0, - * dbVersion: "10.4", + * dbVersion: "10.23", * instanceChargeType: "POSTPAID_BY_HOUR", * memory: 4, * cpu: 2, @@ -81,12 +85,100 @@ import * as utilities from "../utilities"; * ``` * * + * ### Create postgresql readonly instance of CDC + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // 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", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create postgresql + * const exampleInstance = new tencentcloud.postgresql.Instance("exampleInstance", { + * availabilityZone: availabilityZone, + * chargeType: "POSTPAID_BY_HOUR", + * vpcId: vpc.id, + * subnetId: subnet.id, + * dbMajorVersion: "10", + * rootUser: "root123", + * rootPassword: "Root123$", + * charset: "UTF8", + * projectId: 0, + * memory: 2, + * cpu: 1, + * storage: 10, + * dbNodeSets: [ + * { + * role: "Primary", + * zone: availabilityZone, + * dedicatedClusterId: "cluster-262n63e8", + * }, + * { + * zone: availabilityZone, + * dedicatedClusterId: "cluster-262n63e8", + * }, + * ], + * tags: { + * CreateBy: "terraform", + * }, + * }); + * // create postgresql readonly group + * const exampleReadonlyGroup = new tencentcloud.postgresql.ReadonlyGroup("exampleReadonlyGroup", { + * masterDbInstanceId: exampleInstance.id, + * projectId: 0, + * vpcId: vpc.id, + * subnetId: subnet.id, + * replayLagEliminate: 1, + * replayLatencyEliminate: 1, + * maxReplayLag: 100, + * maxReplayLatency: 512, + * minDelayEliminateReserve: 1, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "sg desc.", + * projectId: 0, + * tags: { + * CreateBy: "terraform", + * }, + * }); + * // create postgresql readonly instance + * const exampleReadonlyInstance = new tencentcloud.postgresql.ReadonlyInstance("exampleReadonlyInstance", { + * readOnlyGroupId: exampleReadonlyGroup.id, + * masterDbInstanceId: exampleInstance.id, + * zone: availabilityZone, + * autoRenewFlag: 0, + * dbVersion: "10.23", + * instanceChargeType: "POSTPAID_BY_HOUR", + * memory: 4, + * cpu: 2, + * storage: 250, + * vpcId: vpc.id, + * subnetId: subnet.id, + * needSupportIpv6: 0, + * projectId: 0, + * dedicatedClusterId: "cluster-262n63e8", + * securityGroupsIds: [exampleGroup.id], + * }); + * ``` + * + * * ## Import * * postgresql readonly instance can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example instance_id + * $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example pgro-gih5m0ke * ``` */ export class ReadonlyInstance extends pulumi.CustomResource { @@ -137,6 +229,10 @@ export class ReadonlyInstance extends pulumi.CustomResource { * PostgreSQL kernel version, which must be the same as that of the primary instance. */ public readonly dbVersion!: pulumi.Output; + /** + * Dedicated cluster ID. + */ + public readonly dedicatedClusterId!: pulumi.Output; /** * instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). */ @@ -224,6 +320,7 @@ export class ReadonlyInstance extends pulumi.CustomResource { resourceInputs["cpu"] = state ? state.cpu : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["dbVersion"] = state ? state.dbVersion : undefined; + resourceInputs["dedicatedClusterId"] = state ? state.dedicatedClusterId : undefined; resourceInputs["instanceChargeType"] = state ? state.instanceChargeType : undefined; resourceInputs["instanceId"] = state ? state.instanceId : undefined; resourceInputs["masterDbInstanceId"] = state ? state.masterDbInstanceId : undefined; @@ -274,6 +371,7 @@ export class ReadonlyInstance extends pulumi.CustomResource { resourceInputs["autoVoucher"] = args ? args.autoVoucher : undefined; resourceInputs["cpu"] = args ? args.cpu : undefined; resourceInputs["dbVersion"] = args ? args.dbVersion : undefined; + resourceInputs["dedicatedClusterId"] = args ? args.dedicatedClusterId : undefined; resourceInputs["instanceChargeType"] = args ? args.instanceChargeType : undefined; resourceInputs["masterDbInstanceId"] = args ? args.masterDbInstanceId : undefined; resourceInputs["memory"] = args ? args.memory : undefined; @@ -322,6 +420,10 @@ export interface ReadonlyInstanceState { * PostgreSQL kernel version, which must be the same as that of the primary instance. */ dbVersion?: pulumi.Input; + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: pulumi.Input; /** * instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). */ @@ -412,6 +514,10 @@ export interface ReadonlyInstanceArgs { * PostgreSQL kernel version, which must be the same as that of the primary instance. */ dbVersion: pulumi.Input; + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: pulumi.Input; /** * instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). */ diff --git a/sdk/nodejs/privatedns/record.ts b/sdk/nodejs/privatedns/record.ts index ac89151ff..a268eb558 100644 --- a/sdk/nodejs/privatedns/record.ts +++ b/sdk/nodejs/privatedns/record.ts @@ -14,7 +14,9 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * + * // create vpc * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create private dns zone * const exampleZone = new tencentcloud.privatedns.Zone("exampleZone", { * domain: "domain.com", * remark: "remark.", @@ -28,6 +30,7 @@ import * as utilities from "../utilities"; * createdBy: "terraform", * }, * }); + * // create private dns record * const exampleRecord = new tencentcloud.privatedns.Record("exampleRecord", { * zoneId: exampleZone.id, * recordType: "A", @@ -81,7 +84,7 @@ export class Record extends pulumi.CustomResource { */ public readonly mx!: pulumi.Output; /** - * Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + * Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. */ public readonly recordType!: pulumi.Output; /** @@ -89,7 +92,7 @@ export class Record extends pulumi.CustomResource { */ public readonly recordValue!: pulumi.Output; /** - * Subdomain, such as "www", "m", and "@". + * Subdomain, such as `www`, `m`, and `@`. */ public readonly subDomain!: pulumi.Output; /** @@ -161,7 +164,7 @@ export interface RecordState { */ mx?: pulumi.Input; /** - * Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + * Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. */ recordType?: pulumi.Input; /** @@ -169,7 +172,7 @@ export interface RecordState { */ recordValue?: pulumi.Input; /** - * Subdomain, such as "www", "m", and "@". + * Subdomain, such as `www`, `m`, and `@`. */ subDomain?: pulumi.Input; /** @@ -195,7 +198,7 @@ export interface RecordArgs { */ mx?: pulumi.Input; /** - * Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + * Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. */ recordType: pulumi.Input; /** @@ -203,7 +206,7 @@ export interface RecordArgs { */ recordValue: pulumi.Input; /** - * Subdomain, such as "www", "m", and "@". + * Subdomain, such as `www`, `m`, and `@`. */ subDomain: pulumi.Input; /** diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 5bcecb889..c46b3297d 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -27,6 +27,15 @@ export class Provider extends pulumi.ProviderResource { return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType; } + /** + * The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + */ + public readonly camRoleName!: pulumi.Output; + /** + * The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + * `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + */ + public readonly cosDomain!: pulumi.Output; /** * The root domain of the API request, Default is `tencentcloudapi.com`. */ @@ -41,18 +50,16 @@ export class Provider extends pulumi.ProviderResource { */ public readonly protocol!: pulumi.Output; /** - * This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - * environment variables. The default input value is ap-guangzhou. + * This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + * default input value is ap-guangzhou. */ public readonly region!: pulumi.Output; /** - * This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - * environment variable. + * This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. */ public readonly secretId!: pulumi.Output; /** - * This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - * environment variable. + * This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. */ public readonly secretKey!: pulumi.Output; /** @@ -79,7 +86,12 @@ export class Provider extends pulumi.ProviderResource { opts = opts || {}; { resourceInputs["assumeRole"] = pulumi.output(args ? args.assumeRole : undefined).apply(JSON.stringify); + resourceInputs["assumeRoleWithSaml"] = pulumi.output(args ? args.assumeRoleWithSaml : undefined).apply(JSON.stringify); + resourceInputs["assumeRoleWithWebIdentity"] = pulumi.output(args ? args.assumeRoleWithWebIdentity : undefined).apply(JSON.stringify); + resourceInputs["camRoleName"] = args ? args.camRoleName : undefined; + resourceInputs["cosDomain"] = args ? args.cosDomain : undefined; resourceInputs["domain"] = args ? args.domain : undefined; + resourceInputs["enablePodOidc"] = pulumi.output(args ? args.enablePodOidc : undefined).apply(JSON.stringify); resourceInputs["profile"] = args ? args.profile : undefined; resourceInputs["protocol"] = args ? args.protocol : undefined; resourceInputs["region"] = (args ? args.region : undefined) ?? utilities.getEnv("TENCENTCLOUD_REGION"); @@ -103,10 +115,33 @@ export interface ProviderArgs { * The `assume_role` block. If provided, terraform will attempt to assume this role using the supplied credentials. */ assumeRole?: pulumi.Input; + /** + * The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied + * credentials. + */ + assumeRoleWithSaml?: pulumi.Input; + /** + * The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied + * credentials. + */ + assumeRoleWithWebIdentity?: pulumi.Input; + /** + * The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + */ + camRoleName?: pulumi.Input; + /** + * The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + * `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + */ + cosDomain?: pulumi.Input; /** * The root domain of the API request, Default is `tencentcloudapi.com`. */ domain?: pulumi.Input; + /** + * Whether to enable pod oidc. + */ + enablePodOidc?: pulumi.Input; /** * The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment * variable. If not set, the default profile created with `tccli configure` will be used. @@ -117,18 +152,16 @@ export interface ProviderArgs { */ protocol?: pulumi.Input; /** - * This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - * environment variables. The default input value is ap-guangzhou. + * This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + * default input value is ap-guangzhou. */ region?: pulumi.Input; /** - * This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - * environment variable. + * This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. */ secretId?: pulumi.Input; /** - * This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - * environment variable. + * This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. */ secretKey?: pulumi.Input; /** diff --git a/sdk/nodejs/redis/getClusters.ts b/sdk/nodejs/redis/getClusters.ts new file mode 100644 index 000000000..4ea125d0f --- /dev/null +++ b/sdk/nodejs/redis/getClusters.ts @@ -0,0 +1,216 @@ +// *** 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 redis clusters + * + * ## Example Usage + * + * ### Query all instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const clusters = tencentcloud.Redis.getClusters({}); + * ``` + * + * + * ### Also Support the following query conditions + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const clusters = tencentcloud.Redis.getClusters({ + * autoRenewFlags: [ + * 0, + * 1, + * 2, + * ], + * clusterName: "crs-cdc-9nyfki8h", + * dedicatedClusterId: "cluster-0astoh6a", + * projectIds: [ + * 0, + * 1, + * ], + * redisClusterIds: ["crs-cdc-9nyfki8h"], + * statuses: [ + * 0, + * 1, + * 2, + * ], + * }); + * ``` + * + */ +export function getClusters(args?: GetClustersArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Redis/getClusters:getClusters", { + "autoRenewFlags": args.autoRenewFlags, + "clusterName": args.clusterName, + "dedicatedClusterId": args.dedicatedClusterId, + "projectIds": args.projectIds, + "redisClusterIds": args.redisClusterIds, + "resultOutputFile": args.resultOutputFile, + "statuses": args.statuses, + }, opts); +} + +/** + * A collection of arguments for invoking getClusters. + */ +export interface GetClustersArgs { + /** + * Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + */ + autoRenewFlags?: number[]; + /** + * Cluster name. + */ + clusterName?: string; + /** + * Dedicated cluster Id. + */ + dedicatedClusterId?: string; + /** + * Project Ids. + */ + projectIds?: number[]; + /** + * Redis Cluster Ids. + */ + redisClusterIds?: string[]; + /** + * Used to save results. + */ + resultOutputFile?: string; + /** + * Cluster status: 1- In process, 2- Running, 3- Isolated. + */ + statuses?: number[]; +} + +/** + * A collection of values returned by getClusters. + */ +export interface GetClustersResult { + /** + * Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + */ + readonly autoRenewFlags?: number[]; + /** + * Cluster name. + */ + readonly clusterName?: string; + /** + * Dedicated cluster Id. + */ + readonly dedicatedClusterId?: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly projectIds?: number[]; + readonly redisClusterIds?: string[]; + /** + * . + */ + readonly resources: outputs.Redis.GetClustersResource[]; + readonly resultOutputFile?: string; + /** + * Cluster status: 1- In process, 2- Running, 3- Isolated. + */ + readonly statuses?: number[]; +} +/** + * Use this data source to query detailed information of redis clusters + * + * ## Example Usage + * + * ### Query all instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const clusters = tencentcloud.Redis.getClusters({}); + * ``` + * + * + * ### Also Support the following query conditions + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const clusters = tencentcloud.Redis.getClusters({ + * autoRenewFlags: [ + * 0, + * 1, + * 2, + * ], + * clusterName: "crs-cdc-9nyfki8h", + * dedicatedClusterId: "cluster-0astoh6a", + * projectIds: [ + * 0, + * 1, + * ], + * redisClusterIds: ["crs-cdc-9nyfki8h"], + * statuses: [ + * 0, + * 1, + * 2, + * ], + * }); + * ``` + * + */ +export function getClustersOutput(args?: GetClustersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getClusters(a, opts)) +} + +/** + * A collection of arguments for invoking getClusters. + */ +export interface GetClustersOutputArgs { + /** + * Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + */ + autoRenewFlags?: pulumi.Input[]>; + /** + * Cluster name. + */ + clusterName?: pulumi.Input; + /** + * Dedicated cluster Id. + */ + dedicatedClusterId?: pulumi.Input; + /** + * Project Ids. + */ + projectIds?: pulumi.Input[]>; + /** + * Redis Cluster Ids. + */ + redisClusterIds?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; + /** + * Cluster status: 1- In process, 2- Running, 3- Isolated. + */ + statuses?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/redis/index.ts b/sdk/nodejs/redis/index.ts index 3056f260f..f62336c91 100644 --- a/sdk/nodejs/redis/index.ts +++ b/sdk/nodejs/redis/index.ts @@ -45,6 +45,11 @@ export const getBackupDownloadInfo: typeof import("./getBackupDownloadInfo").get export const getBackupDownloadInfoOutput: typeof import("./getBackupDownloadInfo").getBackupDownloadInfoOutput = null as any; utilities.lazyLoad(exports, ["getBackupDownloadInfo","getBackupDownloadInfoOutput"], () => require("./getBackupDownloadInfo")); +export { GetClustersArgs, GetClustersResult, GetClustersOutputArgs } from "./getClusters"; +export const getClusters: typeof import("./getClusters").getClusters = null as any; +export const getClustersOutput: typeof import("./getClusters").getClustersOutput = null as any; +utilities.lazyLoad(exports, ["getClusters","getClustersOutput"], () => require("./getClusters")); + export { GetInstanceNodeInfoArgs, GetInstanceNodeInfoResult, GetInstanceNodeInfoOutputArgs } from "./getInstanceNodeInfo"; export const getInstanceNodeInfo: typeof import("./getInstanceNodeInfo").getInstanceNodeInfo = null as any; export const getInstanceNodeInfoOutput: typeof import("./getInstanceNodeInfo").getInstanceNodeInfoOutput = null as any; @@ -85,6 +90,11 @@ export type Instance = import("./instance").Instance; export const Instance: typeof import("./instance").Instance = null as any; utilities.lazyLoad(exports, ["Instance"], () => require("./instance")); +export { LogDeliveryArgs, LogDeliveryState } from "./logDelivery"; +export type LogDelivery = import("./logDelivery").LogDelivery; +export const LogDelivery: typeof import("./logDelivery").LogDelivery = null as any; +utilities.lazyLoad(exports, ["LogDelivery"], () => require("./logDelivery")); + export { MaintenanceWindowArgs, MaintenanceWindowState } from "./maintenanceWindow"; export type MaintenanceWindow = import("./maintenanceWindow").MaintenanceWindow; export const MaintenanceWindow: typeof import("./maintenanceWindow").MaintenanceWindow = null as any; @@ -174,6 +184,8 @@ const _module = { return new ConnectionConfig(name, undefined, { urn }) case "tencentcloud:Redis/instance:Instance": return new Instance(name, undefined, { urn }) + case "tencentcloud:Redis/logDelivery:LogDelivery": + return new LogDelivery(name, undefined, { urn }) case "tencentcloud:Redis/maintenanceWindow:MaintenanceWindow": return new MaintenanceWindow(name, undefined, { urn }) case "tencentcloud:Redis/param:Param": @@ -214,6 +226,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Redis/backupOperation", _ pulumi.runtime.registerResourceModule("tencentcloud", "Redis/clearInstanceOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Redis/connectionConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Redis/instance", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Redis/logDelivery", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Redis/maintenanceWindow", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Redis/param", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Redis/paramTemplate", _module) diff --git a/sdk/nodejs/redis/instance.ts b/sdk/nodejs/redis/instance.ts index e93eacad3..303af6288 100644 --- a/sdk/nodejs/redis/instance.ts +++ b/sdk/nodejs/redis/instance.ts @@ -32,10 +32,10 @@ import * as utilities from "../utilities"; * availabilityZone: zone.then(zone => zone.lists?.[0]?.zone), * cidrBlock: "10.0.1.0/24", * }); - * const foo = new tencentcloud.redis.Instance("foo", { + * const example = new tencentcloud.redis.Instance("example", { * availabilityZone: zone.then(zone => zone.lists?.[0]?.zone), * typeId: zone.then(zone => zone.lists?.[0]?.typeId), - * password: "test12345789", + * password: "Password@123", * memSize: 8192, * redisShardNum: zone.then(zone => zone.lists?.[0]?.redisShardNums?.[0]), * redisReplicasNum: zone.then(zone => zone.lists?.[0]?.redisReplicasNums?.[0]), @@ -46,12 +46,49 @@ import * as utilities from "../utilities"; * ``` * * + * ### Create a CDC scenario instance + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const cdcId = config.get("cdcId") || "cluster-xxxx"; + * const clusters = tencentcloud.Redis.getClusters({ + * dedicatedClusterId: cdcId, + * }); + * export const name = clusters.then(clusters => clusters.resources?.[0]?.redisClusterId); + * const zone = tencentcloud.Redis.getZoneConfig({ + * typeId: 7, + * region: "ap-guangzhou", + * }); + * const subnets = tencentcloud.Vpc.getSubnets({ + * cdcId: cdcId, + * }); + * const example = new tencentcloud.redis.Instance("example", { + * availabilityZone: zone.then(zone => zone.lists?.[0]?.zone), + * typeId: zone.then(zone => zone.lists?.[0]?.typeId), + * password: "Password@123", + * memSize: 8192, + * redisShardNum: zone.then(zone => zone.lists?.[0]?.redisShardNums?.[0]), + * redisReplicasNum: zone.then(zone => zone.lists?.[0]?.redisReplicasNums?.[0]), + * port: 6379, + * vpcId: subnets.then(subnets => subnets.instanceLists?.[0]?.vpcId), + * subnetId: subnets.then(subnets => subnets.instanceLists?.[0]?.subnetId), + * productVersion: "cdc", + * redisClusterId: clusters.then(clusters => clusters.resources?.[0]?.redisClusterId), + * }); + * ``` + * + * * ## Import * * Redis instance can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Redis/instance:Instance redislab redis-id + * $ pulumi import tencentcloud:Redis/instance:Instance example crs-iu22tdrf * ``` */ export class Instance extends pulumi.CustomResource { @@ -98,6 +135,10 @@ export class Instance extends pulumi.CustomResource { * The time when the instance was created. */ public /*out*/ readonly createTime!: pulumi.Output; + /** + * Dedicated Cluster ID. + */ + public /*out*/ readonly dedicatedClusterId!: pulumi.Output; /** * Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. */ @@ -142,6 +183,10 @@ export class Instance extends pulumi.CustomResource { * The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. */ public readonly prepaidPeriod!: pulumi.Output; + /** + * Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + */ + public readonly productVersion!: pulumi.Output; /** * Specifies which project the instance should belong to. */ @@ -150,6 +195,10 @@ export class Instance extends pulumi.CustomResource { * Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. */ public readonly recycle!: pulumi.Output; + /** + * Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + */ + public readonly redisClusterId!: pulumi.Output; /** * The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. */ @@ -218,6 +267,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["availabilityZone"] = state ? state.availabilityZone : undefined; resourceInputs["chargeType"] = state ? state.chargeType : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; + resourceInputs["dedicatedClusterId"] = state ? state.dedicatedClusterId : undefined; resourceInputs["forceDelete"] = state ? state.forceDelete : undefined; resourceInputs["ip"] = state ? state.ip : undefined; resourceInputs["memSize"] = state ? state.memSize : undefined; @@ -229,8 +279,10 @@ export class Instance extends pulumi.CustomResource { resourceInputs["password"] = state ? state.password : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["prepaidPeriod"] = state ? state.prepaidPeriod : undefined; + resourceInputs["productVersion"] = state ? state.productVersion : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; resourceInputs["recycle"] = state ? state.recycle : undefined; + resourceInputs["redisClusterId"] = state ? state.redisClusterId : undefined; resourceInputs["redisReplicasNum"] = state ? state.redisReplicasNum : undefined; resourceInputs["redisShardNum"] = state ? state.redisShardNum : undefined; resourceInputs["replicaZoneIds"] = state ? state.replicaZoneIds : undefined; @@ -264,8 +316,10 @@ export class Instance extends pulumi.CustomResource { resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; resourceInputs["port"] = args ? args.port : undefined; resourceInputs["prepaidPeriod"] = args ? args.prepaidPeriod : undefined; + resourceInputs["productVersion"] = args ? args.productVersion : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["recycle"] = args ? args.recycle : undefined; + resourceInputs["redisClusterId"] = args ? args.redisClusterId : undefined; resourceInputs["redisReplicasNum"] = args ? args.redisReplicasNum : undefined; resourceInputs["redisShardNum"] = args ? args.redisShardNum : undefined; resourceInputs["replicaZoneIds"] = args ? args.replicaZoneIds : undefined; @@ -278,6 +332,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["waitSwitch"] = args ? args.waitSwitch : undefined; resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["dedicatedClusterId"] = undefined /*out*/; resourceInputs["nodeInfos"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } @@ -308,6 +363,10 @@ export interface InstanceState { * The time when the instance was created. */ createTime?: pulumi.Input; + /** + * Dedicated Cluster ID. + */ + dedicatedClusterId?: pulumi.Input; /** * Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. */ @@ -352,6 +411,10 @@ export interface InstanceState { * The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. */ prepaidPeriod?: pulumi.Input; + /** + * Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + */ + productVersion?: pulumi.Input; /** * Specifies which project the instance should belong to. */ @@ -360,6 +423,10 @@ export interface InstanceState { * Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. */ recycle?: pulumi.Input; + /** + * Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + */ + redisClusterId?: pulumi.Input; /** * The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. */ @@ -468,6 +535,10 @@ export interface InstanceArgs { * The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when chargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. */ prepaidPeriod?: pulumi.Input; + /** + * Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + */ + productVersion?: pulumi.Input; /** * Specifies which project the instance should belong to. */ @@ -476,6 +547,10 @@ export interface InstanceArgs { * Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. */ recycle?: pulumi.Input; + /** + * Exclusive cluster ID. When the `productVersion` is set to `cdc`, this parameter must be set. + */ + redisClusterId?: pulumi.Input; /** * The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replicaZoneIds`, Non-multi-AZ does not require `replicaZoneIds`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. */ diff --git a/sdk/nodejs/redis/logDelivery.ts b/sdk/nodejs/redis/logDelivery.ts new file mode 100644 index 000000000..774ea7498 --- /dev/null +++ b/sdk/nodejs/redis/logDelivery.ts @@ -0,0 +1,248 @@ +// *** 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 Redis instance log delivery land set its attributes. + * + * > **NOTE:** When you use an existing cls logset and topic to enable logging, there is no need to set parameters such + * as `period`, `createIndex`, `logRegion`, etc. + * + * ## Example Usage + * + * ### Use cls logset and topic which existed + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const delivery = new tencentcloud.redis.LogDelivery("delivery", { + * instanceId: "crs-dmjj8en7", + * logsetId: "cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + * topicId: "5c2333e9-0bab-41fd-9f75-c602b3f9545f", + * }); + * ``` + * + * + * ### Use exist cls logset and create new topic + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const delivery = new tencentcloud.redis.LogDelivery("delivery", { + * createIndex: true, + * instanceId: "crs-dmjj8en7", + * logsetId: "cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + * period: 20, + * topicName: "test13", + * }); + * ``` + * + * + * ### Create new cls logset and topic + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const delivery = new tencentcloud.redis.LogDelivery("delivery", { + * createIndex: true, + * instanceId: "crs-dmjj8en7", + * logRegion: "ap-guangzhou", + * logsetName: "test", + * period: 20, + * topicName: "test", + * }); + * ``` + * + * + * ## Import + * + * Redis log delivery can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Redis/logDelivery:LogDelivery delivery crs-dmjj8en7 + * ``` + */ +export class LogDelivery extends pulumi.CustomResource { + /** + * Get an existing LogDelivery 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?: LogDeliveryState, opts?: pulumi.CustomResourceOptions): LogDelivery { + return new LogDelivery(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Redis/logDelivery:LogDelivery'; + + /** + * Returns true if the given object is an instance of LogDelivery. 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 LogDelivery { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LogDelivery.__pulumiType; + } + + /** + * Whether to create an index when creating a log topic. + */ + public readonly createIndex!: pulumi.Output; + /** + * Instance ID. + */ + public readonly instanceId!: pulumi.Output; + /** + * The region where the log set is located; if not specified, the region where the instance is located will be used by default. + */ + public readonly logRegion!: pulumi.Output; + /** + * The ID of the log set being delivered. + */ + public readonly logsetId!: pulumi.Output; + /** + * Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + */ + public readonly logsetName!: pulumi.Output; + /** + * Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + */ + public readonly period!: pulumi.Output; + /** + * The ID of the topic being delivered. + */ + public readonly topicId!: pulumi.Output; + /** + * Log topic name, required when TopicId is empty, a new log topic will be automatically created. + */ + public readonly topicName!: pulumi.Output; + + /** + * Create a LogDelivery 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: LogDeliveryArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LogDeliveryArgs | LogDeliveryState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LogDeliveryState | undefined; + resourceInputs["createIndex"] = state ? state.createIndex : undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["logRegion"] = state ? state.logRegion : undefined; + resourceInputs["logsetId"] = state ? state.logsetId : undefined; + resourceInputs["logsetName"] = state ? state.logsetName : undefined; + resourceInputs["period"] = state ? state.period : undefined; + resourceInputs["topicId"] = state ? state.topicId : undefined; + resourceInputs["topicName"] = state ? state.topicName : undefined; + } else { + const args = argsOrState as LogDeliveryArgs | undefined; + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + resourceInputs["createIndex"] = args ? args.createIndex : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["logRegion"] = args ? args.logRegion : undefined; + resourceInputs["logsetId"] = args ? args.logsetId : undefined; + resourceInputs["logsetName"] = args ? args.logsetName : undefined; + resourceInputs["period"] = args ? args.period : undefined; + resourceInputs["topicId"] = args ? args.topicId : undefined; + resourceInputs["topicName"] = args ? args.topicName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LogDelivery.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LogDelivery resources. + */ +export interface LogDeliveryState { + /** + * Whether to create an index when creating a log topic. + */ + createIndex?: pulumi.Input; + /** + * Instance ID. + */ + instanceId?: pulumi.Input; + /** + * The region where the log set is located; if not specified, the region where the instance is located will be used by default. + */ + logRegion?: pulumi.Input; + /** + * The ID of the log set being delivered. + */ + logsetId?: pulumi.Input; + /** + * Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + */ + logsetName?: pulumi.Input; + /** + * Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + */ + period?: pulumi.Input; + /** + * The ID of the topic being delivered. + */ + topicId?: pulumi.Input; + /** + * Log topic name, required when TopicId is empty, a new log topic will be automatically created. + */ + topicName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a LogDelivery resource. + */ +export interface LogDeliveryArgs { + /** + * Whether to create an index when creating a log topic. + */ + createIndex?: pulumi.Input; + /** + * Instance ID. + */ + instanceId: pulumi.Input; + /** + * The region where the log set is located; if not specified, the region where the instance is located will be used by default. + */ + logRegion?: pulumi.Input; + /** + * The ID of the log set being delivered. + */ + logsetId?: pulumi.Input; + /** + * Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + */ + logsetName?: pulumi.Input; + /** + * Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + */ + period?: pulumi.Input; + /** + * The ID of the topic being delivered. + */ + topicId?: pulumi.Input; + /** + * Log topic name, required when TopicId is empty, a new log topic will be automatically created. + */ + topicName?: pulumi.Input; +} diff --git a/sdk/nodejs/route/tableEntry.ts b/sdk/nodejs/route/tableEntry.ts index 4a1e9017c..ac6b2c341 100644 --- a/sdk/nodejs/route/tableEntry.ts +++ b/sdk/nodejs/route/tableEntry.ts @@ -15,22 +15,27 @@ import * as utilities from "../utilities"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * * const config = new pulumi.Config(); - * const availabilityZone = config.get("availabilityZone") || "na-siliconvalley-1"; - * const fooInstance = new tencentcloud.vpc.Instance("fooInstance", {cidrBlock: "10.0.0.0/16"}); - * const fooTable = new tencentcloud.route.Table("fooTable", {vpcId: fooInstance.id}); - * const fooSubnet_instanceInstance = new tencentcloud.subnet.Instance("fooSubnet/instanceInstance", { - * vpcId: fooInstance.id, + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-4"; + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create route table + * const exampleTable = new tencentcloud.route.Table("exampleTable", {vpcId: vpc.id}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, * cidrBlock: "10.0.12.0/24", * availabilityZone: availabilityZone, - * routeTableId: fooTable.id, + * routeTableId: exampleTable.id, * }); - * const instance = new tencentcloud.route.TableEntry("instance", { - * routeTableId: fooTable.id, + * // create route table entry + * const exampleTableEntry = new tencentcloud.route.TableEntry("exampleTableEntry", { + * routeTableId: exampleTable.id, * destinationCidrBlock: "10.4.4.0/24", * nextType: "EIP", * nextHub: "0", - * description: "ci-test-route-table-entry", + * description: "describe", * }); + * export const itemId = exampleTableEntry.routeItemId; * ``` * * @@ -39,7 +44,7 @@ import * as utilities from "../utilities"; * Route table entry can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Route/tableEntry:TableEntry foo 83517.rtb-mlhpg09u + * $ pulumi import tencentcloud:Route/tableEntry:TableEntry example 3065857.rtb-b050fg94 * ``` */ export class TableEntry extends pulumi.CustomResource { @@ -90,6 +95,10 @@ export class TableEntry extends pulumi.CustomResource { * Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`. */ public readonly nextType!: pulumi.Output; + /** + * ID of route table entry. + */ + public /*out*/ readonly routeItemId!: pulumi.Output; /** * ID of routing table to which this entry belongs. */ @@ -113,6 +122,7 @@ export class TableEntry extends pulumi.CustomResource { resourceInputs["disabled"] = state ? state.disabled : undefined; resourceInputs["nextHub"] = state ? state.nextHub : undefined; resourceInputs["nextType"] = state ? state.nextType : undefined; + resourceInputs["routeItemId"] = state ? state.routeItemId : undefined; resourceInputs["routeTableId"] = state ? state.routeTableId : undefined; } else { const args = argsOrState as TableEntryArgs | undefined; @@ -134,6 +144,7 @@ export class TableEntry extends pulumi.CustomResource { resourceInputs["nextHub"] = args ? args.nextHub : undefined; resourceInputs["nextType"] = args ? args.nextType : undefined; resourceInputs["routeTableId"] = args ? args.routeTableId : undefined; + resourceInputs["routeItemId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(TableEntry.__pulumiType, name, resourceInputs, opts); @@ -164,6 +175,10 @@ export interface TableEntryState { * Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`. */ nextType?: pulumi.Input; + /** + * ID of route table entry. + */ + routeItemId?: pulumi.Input; /** * ID of routing table to which this entry belongs. */ diff --git a/sdk/nodejs/rum/project.ts b/sdk/nodejs/rum/project.ts index e1664fe9b..708e8671b 100644 --- a/sdk/nodejs/rum/project.ts +++ b/sdk/nodejs/rum/project.ts @@ -14,14 +14,24 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const project = new tencentcloud.rum.Project("project", { - * desc: "projectDesc-1", - * enableUrlGroup: 0, - * instanceId: "rum-pasZKEI3RLgakj", + * const exampleTawInstance = new tencentcloud.rum.TawInstance("exampleTawInstance", { + * areaId: 1, + * chargeType: 1, + * dataRetentionDays: 30, + * instanceName: "tf-example", + * instanceDesc: "desc.", + * tags: { + * createdBy: "terraform", + * }, + * }); + * const exampleProject = new tencentcloud.rum.Project("exampleProject", { + * instanceId: exampleTawInstance.id, * rate: "100", - * repo: "", + * enableUrlGroup: 0, * type: "web", + * repo: "https://github.com/xxx", * url: "iac-tf.com", + * desc: "desc.", * }); * ``` * @@ -31,7 +41,7 @@ import * as utilities from "../utilities"; * rum project can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Rum/project:Project project project_id + * $ pulumi import tencentcloud:Rum/project:Project example 139422 * ``` */ export class Project extends pulumi.CustomResource { @@ -63,7 +73,7 @@ export class Project extends pulumi.CustomResource { } /** - * Creata Time. + * Create Time. */ public /*out*/ readonly createTime!: pulumi.Output; /** @@ -191,7 +201,7 @@ export class Project extends pulumi.CustomResource { */ export interface ProjectState { /** - * Creata Time. + * Create Time. */ createTime?: pulumi.Input; /** diff --git a/sdk/nodejs/rum/tawInstance.ts b/sdk/nodejs/rum/tawInstance.ts index 4ea3d31e4..bf7d2d250 100644 --- a/sdk/nodejs/rum/tawInstance.ts +++ b/sdk/nodejs/rum/tawInstance.ts @@ -14,12 +14,12 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const tawInstance = new tencentcloud.rum.TawInstance("tawInstance", { + * const example = new tencentcloud.rum.TawInstance("example", { * areaId: 1, * chargeType: 1, * dataRetentionDays: 30, - * instanceDesc: "instanceDesc-1", - * instanceName: "instanceName-1", + * instanceDesc: "desc.", + * instanceName: "tf-example", * tags: { * createdBy: "terraform", * }, @@ -32,7 +32,7 @@ import * as utilities from "../utilities"; * rum taw_instance can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Rum/tawInstance:TawInstance taw_instance tawInstance_id + * $ pulumi import tencentcloud:Rum/tawInstance:TawInstance example rum-WYsjMaiGOVXBeJ * ``` */ export class TawInstance extends pulumi.CustomResource { diff --git a/sdk/nodejs/subnet/instance.ts b/sdk/nodejs/subnet/instance.ts index 7136544bb..80d3f4c6a 100644 --- a/sdk/nodejs/subnet/instance.ts +++ b/sdk/nodejs/subnet/instance.ts @@ -7,12 +7,14 @@ import * as utilities from "../utilities"; /** * Provide a resource to create a VPC subnet. * + * ## Example Usage + * * ## Import * * Vpc subnet instance can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Subnet/instance:Instance test subnet_id + * $ pulumi import tencentcloud:Subnet/instance:Instance subnet subnet-b8j03v0c * ``` */ export class Instance extends pulumi.CustomResource { @@ -51,6 +53,10 @@ export class Instance extends pulumi.CustomResource { * The number of available IPs. */ public /*out*/ readonly availableIpCount!: pulumi.Output; + /** + * ID of CDC instance. + */ + public readonly cdcId!: pulumi.Output; /** * A network address block of the subnet. */ @@ -99,6 +105,7 @@ export class Instance extends pulumi.CustomResource { const state = argsOrState as InstanceState | undefined; resourceInputs["availabilityZone"] = state ? state.availabilityZone : undefined; resourceInputs["availableIpCount"] = state ? state.availableIpCount : undefined; + resourceInputs["cdcId"] = state ? state.cdcId : undefined; resourceInputs["cidrBlock"] = state ? state.cidrBlock : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["isDefault"] = state ? state.isDefault : undefined; @@ -119,6 +126,7 @@ export class Instance extends pulumi.CustomResource { throw new Error("Missing required property 'vpcId'"); } resourceInputs["availabilityZone"] = args ? args.availabilityZone : undefined; + resourceInputs["cdcId"] = args ? args.cdcId : undefined; resourceInputs["cidrBlock"] = args ? args.cidrBlock : undefined; resourceInputs["isMulticast"] = args ? args.isMulticast : undefined; resourceInputs["name"] = args ? args.name : undefined; @@ -146,6 +154,10 @@ export interface InstanceState { * The number of available IPs. */ availableIpCount?: pulumi.Input; + /** + * ID of CDC instance. + */ + cdcId?: pulumi.Input; /** * A network address block of the subnet. */ @@ -188,6 +200,10 @@ export interface InstanceArgs { * The availability zone within which the subnet should be created. */ availabilityZone: pulumi.Input; + /** + * ID of CDC instance. + */ + cdcId?: pulumi.Input; /** * A network address block of the subnet. */ diff --git a/sdk/nodejs/teo/accelerationDomain.ts b/sdk/nodejs/teo/accelerationDomain.ts index d7c3623ab..2e772194c 100644 --- a/sdk/nodejs/teo/accelerationDomain.ts +++ b/sdk/nodejs/teo/accelerationDomain.ts @@ -32,7 +32,7 @@ import * as utilities from "../utilities"; * teo acceleration_domain can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain acceleration_domain_id + * $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain zone_id#domain_name * ``` */ export class AccelerationDomain extends pulumi.CustomResource { diff --git a/sdk/nodejs/teo/certificateConfig.ts b/sdk/nodejs/teo/certificateConfig.ts index 315687425..8a48d6191 100644 --- a/sdk/nodejs/teo/certificateConfig.ts +++ b/sdk/nodejs/teo/certificateConfig.ts @@ -47,7 +47,7 @@ import * as utilities from "../utilities"; * teo certificate can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host#cert_id + * $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host * ``` */ export class CertificateConfig extends pulumi.CustomResource { diff --git a/sdk/nodejs/thpc/index.ts b/sdk/nodejs/thpc/index.ts new file mode 100644 index 000000000..a11b3af23 --- /dev/null +++ b/sdk/nodejs/thpc/index.ts @@ -0,0 +1,25 @@ +// *** 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"; + +// Export members: +export { WorkspacesArgs, WorkspacesState } from "./workspaces"; +export type Workspaces = import("./workspaces").Workspaces; +export const Workspaces: typeof import("./workspaces").Workspaces = null as any; +utilities.lazyLoad(exports, ["Workspaces"], () => require("./workspaces")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "tencentcloud:Thpc/workspaces:Workspaces": + return new Workspaces(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("tencentcloud", "Thpc/workspaces", _module) diff --git a/sdk/nodejs/thpc/workspaces.ts b/sdk/nodejs/thpc/workspaces.ts new file mode 100644 index 000000000..020aec05c --- /dev/null +++ b/sdk/nodejs/thpc/workspaces.ts @@ -0,0 +1,543 @@ +// *** 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 THPC workspaces + * + * > **Note:** If spaceChargeType is UNDERWRITE, Not currently supported for deletion. + * + * ## Example Usage + * + * ### Create a PREPAID THPC workspaces + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-nanjing-1"; + * const images = tencentcloud.Images.getInstance({ + * imageTypes: ["PUBLIC_IMAGE"], + * osName: "TencentOS Server 3.1 (TK4) UEFI", + * }); + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "security group desc.", + * tags: { + * createBy: "Terraform", + * }, + * }); + * // create thpc workspaces + * const exampleWorkspaces = new tencentcloud.thpc.Workspaces("exampleWorkspaces", { + * spaceName: "tf-example", + * spaceChargeType: "PREPAID", + * spaceType: "96A.96XLARGE2304", + * hpcClusterId: "hpc-l9anqcbl", + * imageId: images.then(images => images.images?.[0]?.imageId), + * securityGroupIds: [exampleGroup.id], + * placement: { + * zone: availabilityZone, + * projectId: 0, + * }, + * spaceChargePrepaid: { + * period: 1, + * renewFlag: "NOTIFY_AND_AUTO_RENEW", + * }, + * systemDisk: { + * diskSize: 100, + * diskType: "CLOUD_HSSD", + * }, + * dataDisks: [{ + * diskSize: 200, + * diskType: "CLOUD_HSSD", + * encrypt: false, + * }], + * virtualPrivateCloud: { + * vpcId: vpc.id, + * subnetId: subnet.id, + * asVpcGateway: false, + * ipv6AddressCount: 0, + * }, + * internetAccessible: { + * internetChargeType: "TRAFFIC_POSTPAID_BY_HOUR", + * internetMaxBandwidthOut: 200, + * publicIpAssigned: true, + * }, + * loginSettings: { + * password: "Password@123", + * }, + * enhancedService: { + * securityService: { + * enabled: true, + * }, + * monitorService: { + * enabled: true, + * }, + * automationService: { + * enabled: true, + * }, + * }, + * }); + * ``` + * + * + * ### Create a UNDERWRITE THPC workspaces + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-nanjing-1"; + * const images = tencentcloud.Images.getInstance({ + * imageTypes: ["PUBLIC_IMAGE"], + * osName: "TencentOS Server 3.1 (TK4) UEFI", + * }); + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "172.16.0.0/16"}); + * // create subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * availabilityZone: availabilityZone, + * vpcId: vpc.id, + * cidrBlock: "172.16.0.0/24", + * isMulticast: false, + * }); + * // create security group + * const exampleGroup = new tencentcloud.security.Group("exampleGroup", { + * description: "security group desc.", + * tags: { + * createBy: "Terraform", + * }, + * }); + * // create thpc workspaces + * const exampleWorkspaces = new tencentcloud.thpc.Workspaces("exampleWorkspaces", { + * spaceName: "tf-example", + * spaceChargeType: "UNDERWRITE", + * spaceType: "96A.96XLARGE2304", + * hpcClusterId: "hpc-l9anqcbl", + * imageId: images.then(images => images.images?.[0]?.imageId), + * securityGroupIds: [exampleGroup.id], + * placement: { + * zone: availabilityZone, + * projectId: 0, + * }, + * spaceChargePrepaid: { + * period: 12, + * renewFlag: "NOTIFY_AND_AUTO_RENEW", + * }, + * systemDisk: { + * diskSize: 100, + * diskType: "CLOUD_HSSD", + * }, + * dataDisks: [{ + * diskSize: 200, + * diskType: "CLOUD_HSSD", + * encrypt: false, + * }], + * virtualPrivateCloud: { + * vpcId: vpc.id, + * subnetId: subnet.id, + * asVpcGateway: false, + * ipv6AddressCount: 0, + * privateIpAddresses: ["172.16.0.2"], + * }, + * internetAccessible: { + * internetChargeType: "BANDWIDTH_PREPAID", + * internetMaxBandwidthOut: 200, + * publicIpAssigned: true, + * }, + * loginSettings: { + * keyIds: ["skey-qxjpz7uj"], + * }, + * enhancedService: { + * securityService: { + * enabled: true, + * }, + * monitorService: { + * enabled: true, + * }, + * automationService: { + * enabled: true, + * }, + * }, + * }); + * ``` + * + * + * ## Import + * + * THPC workspaces can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Thpc/workspaces:Workspaces example wks-gwg3ygz1 + * ``` + */ +export class Workspaces extends pulumi.CustomResource { + /** + * Get an existing Workspaces 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?: WorkspacesState, opts?: pulumi.CustomResourceOptions): Workspaces { + return new Workspaces(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Thpc/workspaces:Workspaces'; + + /** + * Returns true if the given object is an instance of Workspaces. 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 Workspaces { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Workspaces.__pulumiType; + } + + /** + * CAM role name authorized to access. + */ + public readonly camRoleName!: pulumi.Output; + /** + * A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + */ + public readonly clientToken!: pulumi.Output; + /** + * Workspace data disk information. + */ + public readonly dataDisks!: pulumi.Output; + /** + * Placement Group ID. + */ + public readonly disasterRecoverGroupId!: pulumi.Output; + /** + * Enhanced Services. + */ + public readonly enhancedService!: pulumi.Output; + /** + * The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + */ + public readonly hostName!: pulumi.Output; + /** + * Hyper Computing Cluster ID. + */ + public readonly hpcClusterId!: pulumi.Output; + /** + * Image ID. + */ + public readonly imageId!: pulumi.Output; + /** + * Public network bandwidth settings. + */ + public readonly internetAccessible!: pulumi.Output; + /** + * Workspace Login Settings. + */ + public readonly loginSettings!: pulumi.Output; + /** + * The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + */ + public readonly placement!: pulumi.Output; + /** + * CVM instance ID. + */ + public /*out*/ readonly resourceId!: pulumi.Output; + /** + * Workspace Security Group. + */ + public readonly securityGroupIds!: pulumi.Output; + /** + * Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + */ + public readonly spaceChargePrepaid!: pulumi.Output; + /** + * Workspace billing type. + */ + public readonly spaceChargeType!: pulumi.Output; + /** + * Workspace Display Name. + */ + public readonly spaceName!: pulumi.Output; + /** + * Workspace specifications. + */ + public readonly spaceType!: pulumi.Output; + /** + * Workspace system disk information. + */ + public readonly systemDisk!: pulumi.Output; + /** + * Tag Description List. + */ + public readonly tagSpecifications!: pulumi.Output; + /** + * User Data for Workspace. + */ + public readonly userData!: pulumi.Output; + /** + * VPC related information. + */ + public readonly virtualPrivateCloud!: pulumi.Output; + + /** + * Create a Workspaces 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?: WorkspacesArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: WorkspacesArgs | WorkspacesState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as WorkspacesState | undefined; + resourceInputs["camRoleName"] = state ? state.camRoleName : undefined; + resourceInputs["clientToken"] = state ? state.clientToken : undefined; + resourceInputs["dataDisks"] = state ? state.dataDisks : undefined; + resourceInputs["disasterRecoverGroupId"] = state ? state.disasterRecoverGroupId : undefined; + resourceInputs["enhancedService"] = state ? state.enhancedService : undefined; + resourceInputs["hostName"] = state ? state.hostName : undefined; + resourceInputs["hpcClusterId"] = state ? state.hpcClusterId : undefined; + resourceInputs["imageId"] = state ? state.imageId : undefined; + resourceInputs["internetAccessible"] = state ? state.internetAccessible : undefined; + resourceInputs["loginSettings"] = state ? state.loginSettings : undefined; + resourceInputs["placement"] = state ? state.placement : undefined; + resourceInputs["resourceId"] = state ? state.resourceId : undefined; + resourceInputs["securityGroupIds"] = state ? state.securityGroupIds : undefined; + resourceInputs["spaceChargePrepaid"] = state ? state.spaceChargePrepaid : undefined; + resourceInputs["spaceChargeType"] = state ? state.spaceChargeType : undefined; + resourceInputs["spaceName"] = state ? state.spaceName : undefined; + resourceInputs["spaceType"] = state ? state.spaceType : undefined; + resourceInputs["systemDisk"] = state ? state.systemDisk : undefined; + resourceInputs["tagSpecifications"] = state ? state.tagSpecifications : undefined; + resourceInputs["userData"] = state ? state.userData : undefined; + resourceInputs["virtualPrivateCloud"] = state ? state.virtualPrivateCloud : undefined; + } else { + const args = argsOrState as WorkspacesArgs | undefined; + resourceInputs["camRoleName"] = args ? args.camRoleName : undefined; + resourceInputs["clientToken"] = args ? args.clientToken : undefined; + resourceInputs["dataDisks"] = args ? args.dataDisks : undefined; + resourceInputs["disasterRecoverGroupId"] = args ? args.disasterRecoverGroupId : undefined; + resourceInputs["enhancedService"] = args ? args.enhancedService : undefined; + resourceInputs["hostName"] = args ? args.hostName : undefined; + resourceInputs["hpcClusterId"] = args ? args.hpcClusterId : undefined; + resourceInputs["imageId"] = args ? args.imageId : undefined; + resourceInputs["internetAccessible"] = args ? args.internetAccessible : undefined; + resourceInputs["loginSettings"] = args ? args.loginSettings : undefined; + resourceInputs["placement"] = args ? args.placement : undefined; + resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined; + resourceInputs["spaceChargePrepaid"] = args ? args.spaceChargePrepaid : undefined; + resourceInputs["spaceChargeType"] = args ? args.spaceChargeType : undefined; + resourceInputs["spaceName"] = args ? args.spaceName : undefined; + resourceInputs["spaceType"] = args ? args.spaceType : undefined; + resourceInputs["systemDisk"] = args ? args.systemDisk : undefined; + resourceInputs["tagSpecifications"] = args ? args.tagSpecifications : undefined; + resourceInputs["userData"] = args ? args.userData : undefined; + resourceInputs["virtualPrivateCloud"] = args ? args.virtualPrivateCloud : undefined; + resourceInputs["resourceId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Workspaces.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Workspaces resources. + */ +export interface WorkspacesState { + /** + * CAM role name authorized to access. + */ + camRoleName?: pulumi.Input; + /** + * A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + */ + clientToken?: pulumi.Input; + /** + * Workspace data disk information. + */ + dataDisks?: pulumi.Input[]>; + /** + * Placement Group ID. + */ + disasterRecoverGroupId?: pulumi.Input; + /** + * Enhanced Services. + */ + enhancedService?: pulumi.Input; + /** + * The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + */ + hostName?: pulumi.Input; + /** + * Hyper Computing Cluster ID. + */ + hpcClusterId?: pulumi.Input; + /** + * Image ID. + */ + imageId?: pulumi.Input; + /** + * Public network bandwidth settings. + */ + internetAccessible?: pulumi.Input; + /** + * Workspace Login Settings. + */ + loginSettings?: pulumi.Input; + /** + * The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + */ + placement?: pulumi.Input; + /** + * CVM instance ID. + */ + resourceId?: pulumi.Input; + /** + * Workspace Security Group. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + */ + spaceChargePrepaid?: pulumi.Input; + /** + * Workspace billing type. + */ + spaceChargeType?: pulumi.Input; + /** + * Workspace Display Name. + */ + spaceName?: pulumi.Input; + /** + * Workspace specifications. + */ + spaceType?: pulumi.Input; + /** + * Workspace system disk information. + */ + systemDisk?: pulumi.Input; + /** + * Tag Description List. + */ + tagSpecifications?: pulumi.Input[]>; + /** + * User Data for Workspace. + */ + userData?: pulumi.Input; + /** + * VPC related information. + */ + virtualPrivateCloud?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Workspaces resource. + */ +export interface WorkspacesArgs { + /** + * CAM role name authorized to access. + */ + camRoleName?: pulumi.Input; + /** + * A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + */ + clientToken?: pulumi.Input; + /** + * Workspace data disk information. + */ + dataDisks?: pulumi.Input[]>; + /** + * Placement Group ID. + */ + disasterRecoverGroupId?: pulumi.Input; + /** + * Enhanced Services. + */ + enhancedService?: pulumi.Input; + /** + * The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + */ + hostName?: pulumi.Input; + /** + * Hyper Computing Cluster ID. + */ + hpcClusterId?: pulumi.Input; + /** + * Image ID. + */ + imageId?: pulumi.Input; + /** + * Public network bandwidth settings. + */ + internetAccessible?: pulumi.Input; + /** + * Workspace Login Settings. + */ + loginSettings?: pulumi.Input; + /** + * The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + */ + placement?: pulumi.Input; + /** + * Workspace Security Group. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + */ + spaceChargePrepaid?: pulumi.Input; + /** + * Workspace billing type. + */ + spaceChargeType?: pulumi.Input; + /** + * Workspace Display Name. + */ + spaceName?: pulumi.Input; + /** + * Workspace specifications. + */ + spaceType?: pulumi.Input; + /** + * Workspace system disk information. + */ + systemDisk?: pulumi.Input; + /** + * Tag Description List. + */ + tagSpecifications?: pulumi.Input[]>; + /** + * User Data for Workspace. + */ + userData?: pulumi.Input; + /** + * VPC related information. + */ + virtualPrivateCloud?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index c7a87057b..65db4f0fe 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -103,9 +103,11 @@ "as/scalingGroupStatus.ts", "as/scalingPolicy.ts", "as/schedule.ts", + "as/startInstanceRefresh.ts", "as/startInstances.ts", "as/stopInstances.ts", "audit/getCosRegions.ts", + "audit/getEvents.ts", "audit/getKeyAlias.ts", "audit/index.ts", "audit/track.ts", @@ -114,6 +116,8 @@ "availability/getRegions.ts", "availability/getZonesByProduct.ts", "availability/index.ts", + "batch/applyAccountBaselines.ts", + "batch/index.ts", "bi/datasource.ts", "bi/datasourceCloud.ts", "bi/embedIntervalApply.ts", @@ -191,13 +195,25 @@ "ccn/getCrossBorderFlowMonitor.ts", "ccn/getCrossBorderRegionBandwidthLimits.ts", "ccn/getInstances.ts", + "ccn/getRoutes.ts", "ccn/getTenantInstances.ts", "ccn/index.ts", "ccn/instance.ts", "ccn/instancesAcceptAttach.ts", "ccn/instancesRejectAttach.ts", "ccn/instancesResetAttach.ts", + "ccn/routeTable.ts", + "ccn/routeTableAssociateInstanceConfig.ts", + "ccn/routeTableBroadcastPolicies.ts", + "ccn/routeTableInputPolicies.ts", + "ccn/routeTableSelectionPolicies.ts", "ccn/routes.ts", + "cdc/dedicatedCluster.ts", + "cdc/getDedicatedClusterHosts.ts", + "cdc/getDedicatedClusterInstanceTypes.ts", + "cdc/getDedicatedClusterOrders.ts", + "cdc/index.ts", + "cdc/site.ts", "cdh/getInstances.ts", "cdh/index.ts", "cdh/instance.ts", @@ -207,6 +223,10 @@ "cdn/index.ts", "cdn/urlPurge.ts", "cdn/urlPush.ts", + "cdwdoris/getInstances.ts", + "cdwdoris/index.ts", + "cdwdoris/instance.ts", + "cdwdoris/workloadGroup.ts", "cdwpg/index.ts", "cdwpg/instance.ts", "cfs/accessGroup.ts", @@ -366,6 +386,7 @@ "cls/cosShipper.ts", "cls/dataTransform.ts", "cls/export.ts", + "cls/getLogsets.ts", "cls/getMachineGroupConfigs.ts", "cls/getMachines.ts", "cls/getShipperTasks.ts", @@ -834,6 +855,16 @@ "ha/index.ts", "ha/vip.ts", "ha/vipEipAttachment.ts", + "identity/centerExternalSamlIdentityProvider.ts", + "identity/centerGroup.ts", + "identity/centerRoleAssignment.ts", + "identity/centerRoleConfiguration.ts", + "identity/centerRoleConfigurationPermissionCustomPolicyAttachment.ts", + "identity/centerRoleConfigurationPermissionPolicyAttachment.ts", + "identity/centerUser.ts", + "identity/centerUserGroupAttachment.ts", + "identity/centerUserSyncProvisioning.ts", + "identity/index.ts", "image/getInstance.ts", "image/index.ts", "image/instance.ts", @@ -847,6 +878,8 @@ "instances/getInstance.ts", "instances/getSet.ts", "instances/index.ts", + "invite/index.ts", + "invite/organizationMemberOperation.ts", "ipv6/addressBandwidth.ts", "ipv6/index.ts", "key/getPairs.ts", @@ -869,6 +902,7 @@ "kms/whiteBoxKey.ts", "kubernetes/addon.ts", "kubernetes/addonAttachment.ts", + "kubernetes/addonConfig.ts", "kubernetes/authAttachment.ts", "kubernetes/backupStorageLocation.ts", "kubernetes/cluster.ts", @@ -884,7 +918,9 @@ "kubernetes/getClusterNativeNodePools.ts", "kubernetes/getClusterNodePools.ts", "kubernetes/getClusters.ts", + "kubernetes/healthCheckPolicy.ts", "kubernetes/index.ts", + "kubernetes/logConfig.ts", "kubernetes/nativeNodePool.ts", "kubernetes/nodePool.ts", "kubernetes/scaleWorker.ts", @@ -921,6 +957,9 @@ "lighthouse/snapshot.ts", "lighthouse/startInstance.ts", "lighthouse/stopInstance.ts", + "lite/getHbaseInstances.ts", + "lite/hbaseInstance.ts", + "lite/index.ts", "mariadb/account.ts", "mariadb/accountPrivileges.ts", "mariadb/backupTime.ts", @@ -998,6 +1037,7 @@ "monitor/getProductEvent.ts", "monitor/getProductNamespace.ts", "monitor/getStatisticData.ts", + "monitor/getTmpInstances.ts", "monitor/getTmpRegions.ts", "monitor/grafanaDnsConfig.ts", "monitor/grafanaEnvConfig.ts", @@ -1067,6 +1107,7 @@ "mysql/backupDownloadRestriction.ts", "mysql/backupEncryptionStatus.ts", "mysql/backupPolicy.ts", + "mysql/clsLogAttachment.ts", "mysql/database.ts", "mysql/dbImportJobOperation.ts", "mysql/deployGroup.ts", @@ -1123,6 +1164,7 @@ "mysql/rollback.ts", "mysql/rollbackStop.ts", "mysql/securityGroupsAttachment.ts", + "mysql/ssl.ts", "mysql/switchForUpgrade.ts", "mysql/switchMasterSlaveOperation.ts", "mysql/switchProxy.ts", @@ -1163,6 +1205,7 @@ "organization/getOrgFinancialByMonth.ts", "organization/getOrgFinancialByProduct.ts", "organization/getOrgShareArea.ts", + "organization/getServices.ts", "organization/index.ts", "organization/instance.ts", "organization/orgIdentity.ts", @@ -1178,18 +1221,23 @@ "organization/orgShareUnitMember.ts", "organization/policySubAccountAttachment.ts", "organization/quitOrganizationOperation.ts", + "organization/serviceAssign.ts", "placement/getGroups.ts", "placement/group.ts", "placement/index.ts", + "postgresql/account.ts", + "postgresql/accountPrivilegesOperation.ts", "postgresql/backupDownloadRestrictionConfig.ts", "postgresql/backupPlanConfig.ts", "postgresql/baseBackup.ts", "postgresql/deleteLogBackupOperation.ts", "postgresql/disisolateDbInstanceOperation.ts", + "postgresql/getAccountPrivileges.ts", "postgresql/getBackupDownloadUrls.ts", "postgresql/getBaseBackups.ts", "postgresql/getDbInstanceClasses.ts", "postgresql/getDbInstanceVersions.ts", + "postgresql/getDedicatedClusters.ts", "postgresql/getDefaultParameters.ts", "postgresql/getInstances.ts", "postgresql/getLogBackups.ts", @@ -1250,6 +1298,7 @@ "redis/connectionConfig.ts", "redis/getBackup.ts", "redis/getBackupDownloadInfo.ts", + "redis/getClusters.ts", "redis/getInstanceNodeInfo.ts", "redis/getInstanceShards.ts", "redis/getInstanceTaskList.ts", @@ -1259,6 +1308,7 @@ "redis/getZoneConfig.ts", "redis/index.ts", "redis/instance.ts", + "redis/logDelivery.ts", "redis/maintenanceWindow.ts", "redis/param.ts", "redis/paramTemplate.ts", @@ -1604,6 +1654,8 @@ "teo/ruleEngine.ts", "teo/zone.ts", "teo/zoneSetting.ts", + "thpc/index.ts", + "thpc/workspaces.ts", "trocket/index.ts", "trocket/rocketmqConsumerGroup.ts", "trocket/rocketmqInstance.ts", @@ -1765,6 +1817,7 @@ "vpc/peerConnectAcceptOperation.ts", "vpc/peerConnectManager.ts", "vpc/peerConnectRejectOperation.ts", + "vpc/privateNatGateway.ts", "vpc/resumeSnapshotInstance.ts", "vpc/snapshotPolicy.ts", "vpc/snapshotPolicyAttachment.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 766c1c4ab..c84194756 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -23,6 +23,48 @@ export interface ProviderAssumeRole { */ sessionName: pulumi.Input; } + +export interface ProviderAssumeRoleWithSaml { + /** + * Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + */ + principalArn: pulumi.Input; + /** + * The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + */ + roleArn: pulumi.Input; + /** + * SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + */ + samlAssertion: pulumi.Input; + /** + * The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + */ + sessionDuration: pulumi.Input; + /** + * The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + */ + sessionName: pulumi.Input; +} + +export interface ProviderAssumeRoleWithWebIdentity { + /** + * The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + */ + roleArn: pulumi.Input; + /** + * The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + */ + sessionDuration: pulumi.Input; + /** + * The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + */ + sessionName: pulumi.Input; + /** + * OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + */ + webIdentityToken: pulumi.Input; +} export namespace Address { } @@ -951,6 +993,17 @@ export namespace As { values: pulumi.Input[]>; } + export interface LifecycleHookLifecycleCommand { + /** + * Remote command ID. It is required to execute a command. + */ + commandId: pulumi.Input; + /** + * Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + */ + parameters?: pulumi.Input; + } + export interface LoadBalancerForwardLoadBalancer { /** * Application load balancer listener ID. @@ -1055,9 +1108,57 @@ export namespace As { */ weight: pulumi.Input; } + + export interface StartInstanceRefreshRefreshSettings { + /** + * Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + */ + checkInstanceTargetHealth?: pulumi.Input; + /** + * Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + */ + rollingUpdateSettings: pulumi.Input; + } + + export interface StartInstanceRefreshRefreshSettingsRollingUpdateSettings { + /** + * Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + */ + batchNumber: pulumi.Input; + /** + * Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + */ + batchPause?: pulumi.Input; + } } export namespace Audit { + export interface GetEventsLookupAttribute { + /** + * Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + attributeKey: string; + /** + * Value of `AttributeValue` + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + attributeValue?: string; + } + + export interface GetEventsLookupAttributeArgs { + /** + * Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + attributeKey: pulumi.Input; + /** + * Value of `AttributeValue` + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + attributeValue?: pulumi.Input; + } + export interface TrackStorage { /** * Track Storage name:- when StorageType is `cls`, StorageName is cls topicId- when StorageType is `cos`, StorageName is cos bucket name that does not contain `-APPID`. @@ -1084,6 +1185,19 @@ export namespace Audits { export namespace Availability { } +export namespace Batch { + export interface ApplyAccountBaselinesBaselineConfigItem { + /** + * Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + */ + configuration?: pulumi.Input; + /** + * A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + */ + identifier?: pulumi.Input; + } +} + export namespace Bi { export interface DatasourceCloudServiceType { /** @@ -1203,6 +1317,28 @@ export namespace Ccn { values: pulumi.Input[]>; } + export interface GetRoutesFilter { + /** + * Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + */ + name: string; + /** + * Filter value of the field. + */ + values: string[]; + } + + export interface GetRoutesFilterArgs { + /** + * Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + */ + name: pulumi.Input; + /** + * Filter value of the field. + */ + values: pulumi.Input[]>; + } + export interface InstancesAcceptAttachInstance { /** * Description. @@ -1271,6 +1407,122 @@ export namespace Ccn { */ routeTableId?: pulumi.Input; } + + export interface RouteTableAssociateInstanceConfigInstance { + /** + * Instances ID. + */ + instanceId: pulumi.Input; + /** + * Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + */ + instanceType: pulumi.Input; + } + + export interface RouteTableBroadcastPoliciesPolicy { + /** + * Routing behavior, `accept` allows, `drop` rejects. + */ + action: pulumi.Input; + /** + * propagation conditions. + */ + broadcastConditions: pulumi.Input[]>; + /** + * Policy description. + */ + description: pulumi.Input; + /** + * Routing conditions. + */ + routeConditions: pulumi.Input[]>; + } + + export interface RouteTableBroadcastPoliciesPolicyBroadcastCondition { + /** + * Matching mode, `1` precise matching, `0` fuzzy matching. + */ + matchPattern: pulumi.Input; + /** + * condition type. + */ + name: pulumi.Input; + /** + * List of conditional values. + */ + values: pulumi.Input[]>; + } + + export interface RouteTableBroadcastPoliciesPolicyRouteCondition { + /** + * Matching mode, `1` precise matching, `0` fuzzy matching. + */ + matchPattern: pulumi.Input; + /** + * condition type. + */ + name: pulumi.Input; + /** + * List of conditional values. + */ + values: pulumi.Input[]>; + } + + export interface RouteTableInputPoliciesPolicy { + /** + * Routing behavior, `accept` allows, `drop` rejects. + */ + action: pulumi.Input; + /** + * Policy description. + */ + description: pulumi.Input; + /** + * Routing conditions. + */ + routeConditions: pulumi.Input[]>; + } + + export interface RouteTableInputPoliciesPolicyRouteCondition { + /** + * Matching mode, `1` precise matching, `0` fuzzy matching. + */ + matchPattern: pulumi.Input; + /** + * condition type. + */ + name: pulumi.Input; + /** + * List of conditional values. + */ + values: pulumi.Input[]>; + } + + export interface RouteTableSelectionPoliciesSelectionPolicy { + /** + * description. + */ + description: pulumi.Input; + /** + * Instance ID. + */ + instanceId: pulumi.Input; + /** + * Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + */ + instanceType: pulumi.Input; + /** + * route table ID. + */ + routeTableId: pulumi.Input; + /** + * Source CIDR. + */ + sourceCidrBlock: pulumi.Input; + } +} + +export namespace Cdc { } export namespace Cdh { @@ -1929,7 +2181,7 @@ export namespace Cdn { */ backupOriginLists?: pulumi.Input[]>; /** - * Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + * Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name. */ backupOriginType?: pulumi.Input; /** @@ -1949,7 +2201,7 @@ export namespace Cdn { */ originPullProtocol?: pulumi.Input; /** - * Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ipIpv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + * Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `thirdParty`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipDomain`: IP addresses and domain names (only available to beta users), `ipDomainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipv6Domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domainDomainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ipIpv6Domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ipDomainDomainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6DomainDomainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ipIpv6DomainDomainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. */ originType: pulumi.Input; /** @@ -2003,6 +2255,29 @@ export namespace Cdn { switch: pulumi.Input; } + export interface DomainOthersPrivateAccess { + /** + * Access ID. + */ + accessKey?: pulumi.Input; + /** + * Bucket. + */ + bucket?: pulumi.Input; + /** + * Region. + */ + region?: pulumi.Input; + /** + * Key. + */ + secretKey?: pulumi.Input; + /** + * Configuration switch, available values: `on`, `off` (default). + */ + switch: pulumi.Input; + } + export interface DomainPostMaxSize { /** * Maximum size in MB, value range is `[1, 200]`. @@ -2263,6 +2538,136 @@ export namespace Cdn { } } +export namespace Cdwdoris { + export interface GetInstancesSearchTag { + /** + * 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + */ + allValue?: number; + /** + * Tag key. + */ + tagKey?: string; + /** + * Tag value. + */ + tagValue?: string; + } + + export interface GetInstancesSearchTagArgs { + /** + * 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + */ + allValue?: pulumi.Input; + /** + * Tag key. + */ + tagKey?: pulumi.Input; + /** + * Tag value. + */ + tagValue?: pulumi.Input; + } + + export interface InstanceBeSpec { + /** + * Quantities. + */ + count: pulumi.Input; + /** + * Cloud disk size. + */ + diskSize: pulumi.Input; + /** + * Specification name. + */ + specName: pulumi.Input; + } + + export interface InstanceChargeProperties { + /** + * Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + */ + chargeType?: pulumi.Input; + /** + * Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + */ + renewFlag?: pulumi.Input; + /** + * Billing duration Note: This field may return null, indicating that no valid values can be obtained. + */ + timeSpan?: pulumi.Input; + /** + * Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + */ + timeUnit?: pulumi.Input; + } + + export interface InstanceFeSpec { + /** + * Quantities. + */ + count: pulumi.Input; + /** + * Cloud disk size. + */ + diskSize: pulumi.Input; + /** + * Specification name. + */ + specName: pulumi.Input; + } + + export interface InstanceTag { + /** + * Tag key. + */ + tagKey: pulumi.Input; + /** + * Tag value. + */ + tagValue: pulumi.Input; + } + + export interface InstanceUserMultiZoneInfos { + /** + * Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + */ + subnetId?: pulumi.Input; + /** + * The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + */ + subnetIpNum?: pulumi.Input; + /** + * Availability zone Note: This field may return null, indicating that no valid values can be obtained. + */ + zone?: pulumi.Input; + } + + export interface WorkloadGroupWorkloadGroup { + /** + * Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + */ + cpuHardLimit?: pulumi.Input; + /** + * CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + */ + cpuShare?: pulumi.Input; + /** + * Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + */ + enableMemoryOverCommit?: pulumi.Input; + /** + * Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + */ + memoryLimit?: pulumi.Input; + /** + * Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + */ + workloadGroupName?: pulumi.Input; + } +} + export namespace Cdwpg { export interface InstanceChargeProperties { /** @@ -8110,15 +8515,37 @@ export namespace Cls { export interface DataTransformDstResource { /** - * alias. + * Alias. */ alias: pulumi.Input; /** - * dst topic id. + * Dst topic ID. */ topicId: pulumi.Input; } + export interface GetLogsetsFilter { + /** + * Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + */ + key: string; + /** + * The values that need to be filtered. + */ + values: string[]; + } + + export interface GetLogsetsFilterArgs { + /** + * Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + */ + key: pulumi.Input; + /** + * The values that need to be filtered. + */ + values: pulumi.Input[]>; + } + export interface IndexRule { /** * The key value index is automatically configured. If it is empty, it means that the function is not enabled. @@ -8349,6 +8776,39 @@ export namespace Cls { */ topicId: pulumi.Input; } + + export interface TopicExtends { + /** + * Log topic authentication free configuration information. + */ + anonymousAccess?: pulumi.Input; + } + + export interface TopicExtendsAnonymousAccess { + /** + * Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + */ + conditions?: pulumi.Input[]>; + /** + * Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + */ + operations?: pulumi.Input[]>; + } + + export interface TopicExtendsAnonymousAccessCondition { + /** + * Condition attribute, currently only VpcID is supported. + */ + attributes?: pulumi.Input; + /** + * The value of the corresponding conditional attribute. + */ + conditionValue?: pulumi.Input; + /** + * Conditional rule, 1: equal, 2: not equal. + */ + rule?: pulumi.Input; + } } export namespace Cos { @@ -9566,7 +10026,9 @@ export namespace Cvm { */ hostIds?: pulumi.Input[]>; /** - * Specify the host machine ip. + * It has been deprecated from version 1.81.108. Specify the host machine ip. + * + * @deprecated It has been deprecated from version 1.81.108. */ hostIps?: pulumi.Input[]>; /** @@ -13504,6 +13966,17 @@ export namespace Elasticsearch { jobZhName?: pulumi.Input; } + export interface InstanceCosBackup { + /** + * Automatic backup execution time (accurate to the hour), e.g. `22:00`. + */ + backupTime: pulumi.Input; + /** + * Whether to enable automatic backup of cos. + */ + isAutoBackup: pulumi.Input; + } + export interface InstanceEsAcl { /** * Blacklist of kibana access. @@ -13532,7 +14005,7 @@ export namespace Elasticsearch { */ diskSize?: pulumi.Input; /** - * Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + * Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. */ diskType?: pulumi.Input; /** @@ -13988,6 +14461,10 @@ export namespace Instance { * Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true. */ deleteWithInstance?: pulumi.Input; + /** + * Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + */ + deleteWithInstancePrepaid?: pulumi.Input; /** * Decides whether the disk is encrypted. Default is `false`. */ @@ -14002,6 +14479,30 @@ export namespace Instance { export namespace Instances { } +export namespace Invite { + export interface OrganizationMemberOperationAuthFile { + /** + * File name. + */ + name: pulumi.Input; + /** + * File path. + */ + url: pulumi.Input; + } + + export interface OrganizationMemberOperationTag { + /** + * Tag key. + */ + tagKey: pulumi.Input; + /** + * Tag value. + */ + tagValue: pulumi.Input; + } +} + export namespace Key { } @@ -14041,7 +14542,9 @@ export namespace Kubernetes { */ gpuArgs?: pulumi.Input; /** - * Indicate to schedule the adding node or not. Default is true. + * This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + * + * @deprecated This argument was deprecated, use `unschedulable` instead. */ isSchedule?: pulumi.Input; /** @@ -14118,11 +14621,15 @@ export namespace Kubernetes { */ desiredPodNum?: pulumi.Input; /** - * Docker graph path. Default is `/var/lib/docker`. + * This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ dockerGraphPath?: pulumi.Input; /** - * Custom parameter information related to the node. This is a white-list parameter. + * This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ extraArgs?: pulumi.Input[]>; /** @@ -14130,19 +14637,27 @@ export namespace Kubernetes { */ gpuArgs?: pulumi.Input; /** - * Indicate to schedule the adding node or not. Default is true. + * This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + * + * @deprecated This argument was deprecated, use `unschedulable` instead. */ isSchedule?: pulumi.Input; /** - * Mount target. Default is not mounting. + * This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ mountTarget?: pulumi.Input; /** - * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + * This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ preStartUserScript?: pulumi.Input; /** - * Base64-encoded User Data text, the length limit is 16KB. + * This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ userData?: pulumi.Input; } @@ -14752,6 +15267,21 @@ export namespace Kubernetes { values: pulumi.Input[]>; } + export interface HealthCheckPolicyRule { + /** + * Enable repair or not. + */ + autoRepairEnabled: pulumi.Input; + /** + * Enable detection of this project or not. + */ + enabled: pulumi.Input; + /** + * Health check rule details. + */ + name: pulumi.Input; + } + export interface NativeNodePoolAnnotation { /** * Name in the map table. @@ -15060,6 +15590,10 @@ export namespace Kubernetes { * Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. */ instanceName?: pulumi.Input; + /** + * Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + */ + instanceNameStyle?: pulumi.Input; /** * Specified types of CVM instance. */ @@ -15248,6 +15782,10 @@ export namespace Kubernetes { * Indicate whether to auto format and mount or not. Default is `false`. */ autoFormatAndMount?: pulumi.Input; + /** + * The name of the device or partition to mount. + */ + diskPartition?: pulumi.Input; /** * Volume of disk in GB. Default is `0`. */ @@ -15307,7 +15845,7 @@ export namespace Kubernetes { */ count?: pulumi.Input; /** - * Configurations of data disk. + * Configurations of cvm data disk. */ dataDisks?: pulumi.Input[]>; /** @@ -15403,10 +15941,14 @@ export namespace Kubernetes { export interface ScaleWorkerWorkerConfigDataDisk { /** * Indicate whether to auto format and mount or not. Default is `false`. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ autoFormatAndMount?: pulumi.Input; /** * The name of the device or partition to mount. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ diskPartition?: pulumi.Input; /** @@ -15423,6 +15965,8 @@ export namespace Kubernetes { encrypt?: pulumi.Input; /** * File system, e.g. `ext3/ext4/xfs`. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ fileSystem?: pulumi.Input; /** @@ -15431,6 +15975,8 @@ export namespace Kubernetes { kmsKeyId?: pulumi.Input; /** * Mount target. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ mountTarget?: pulumi.Input; /** @@ -15759,30 +16305,91 @@ export namespace Lighthouse { /** * Current instance expiration time. Such as 2018-01-01 00:00:00. Specifying this parameter can align the expiration time of the instance attached to the disk. One of this parameter and Period must be specified, and cannot be specified at the same time. */ - curInstanceDeadline?: pulumi.Input; + curInstanceDeadline?: pulumi.Input; + /** + * Renewal period. + */ + period?: pulumi.Input; + /** + * Automatic renewal falg. Value:NOTIFY_AND_AUTO_RENEW: Notice expires and auto-renews.NOTIFY_AND_MANUAL_RENEW: Notification expires without automatic renewal, users need to manually renew.DISABLE_NOTIFY_AND_AUTO_RENEW: No automatic renewal and no notification.Default: NOTIFY_AND_MANUAL_RENEW. If this parameter is specified as NOTIFY_AND_AUTO_RENEW, the disk will be automatically renewed monthly when the account balance is sufficient. + */ + renewFlag?: pulumi.Input; + /** + * newly purchased unit. Default: m. + */ + timeUnit?: pulumi.Input; + } + + export interface RenewInstanceInstanceChargePrepaid { + /** + * The duration of purchasing an instance. Unit is month. Valid values are (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60). + */ + period: pulumi.Input; + /** + * Automatic renewal logo. Values: + */ + renewFlag?: pulumi.Input; + } +} + +export namespace Lite { + export interface GetHbaseInstancesFilter { + /** + * Field name. + */ + name: string; + /** + * Filter field value. + */ + values: string[]; + } + + export interface GetHbaseInstancesFilterArgs { + /** + * Field name. + */ + name: pulumi.Input; + /** + * Filter field value. + */ + values: pulumi.Input[]>; + } + + export interface HbaseInstanceTag { + /** + * Tag key. + */ + tagKey?: pulumi.Input; + /** + * Tag value. + */ + tagValue?: pulumi.Input; + } + + export interface HbaseInstanceZoneSetting { /** - * Renewal period. + * Number of nodes. */ - period?: pulumi.Input; + nodeNum: pulumi.Input; /** - * Automatic renewal falg. Value:NOTIFY_AND_AUTO_RENEW: Notice expires and auto-renews.NOTIFY_AND_MANUAL_RENEW: Notification expires without automatic renewal, users need to manually renew.DISABLE_NOTIFY_AND_AUTO_RENEW: No automatic renewal and no notification.Default: NOTIFY_AND_MANUAL_RENEW. If this parameter is specified as NOTIFY_AND_AUTO_RENEW, the disk will be automatically renewed monthly when the account balance is sufficient. + * Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. */ - renewFlag?: pulumi.Input; + vpcSettings: pulumi.Input; /** - * newly purchased unit. Default: m. + * The availability zone to which the instance belongs, such as ap-guangzhou-1. */ - timeUnit?: pulumi.Input; + zone: pulumi.Input; } - export interface RenewInstanceInstanceChargePrepaid { + export interface HbaseInstanceZoneSettingVpcSettings { /** - * The duration of purchasing an instance. Unit is month. Valid values are (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60). + * Subnet ID. */ - period: pulumi.Input; + subnetId: pulumi.Input; /** - * Automatic renewal logo. Values: + * VPC ID. */ - renewFlag?: pulumi.Input; + vpcId: pulumi.Input; } } @@ -16457,6 +17064,28 @@ export namespace Monitor { values: pulumi.Input[]>; } + export interface GetTmpInstancesTagFilter { + /** + * The key of the tag. + */ + key: string; + /** + * The value of the tag. + */ + value: string; + } + + export interface GetTmpInstancesTagFilterArgs { + /** + * The key of the tag. + */ + key: pulumi.Input; + /** + * The value of the tag. + */ + value: pulumi.Input; + } + export interface GrafanaSsoAccountRole { /** * Grafana organization id string. @@ -24621,6 +25250,101 @@ export namespace Placement { } export namespace Postgresql { + export interface AccountPrivilegesOperationModifyPrivilegeSet { + /** + * Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + */ + databasePrivilege?: pulumi.Input; + /** + * Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + */ + isCascade?: pulumi.Input; + /** + * Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + */ + modifyType?: pulumi.Input; + } + + export interface AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { + /** + * Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + */ + object?: pulumi.Input; + /** + * Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + */ + privilegeSets?: pulumi.Input[]>; + } + + export interface AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + /** + * Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + */ + databaseName?: pulumi.Input; + /** + * Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectName: pulumi.Input; + /** + * Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectType: pulumi.Input; + /** + * Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + */ + schemaName?: pulumi.Input; + /** + * Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + */ + tableName?: pulumi.Input; + } + + export interface GetAccountPrivilegesDatabaseObjectSet { + /** + * Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + */ + databaseName?: string; + /** + * Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + */ + objectName: string; + /** + * Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectType: string; + /** + * Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + */ + schemaName?: string; + /** + * Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + */ + tableName?: string; + } + + export interface GetAccountPrivilegesDatabaseObjectSetArgs { + /** + * Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + */ + databaseName?: pulumi.Input; + /** + * Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + */ + objectName: pulumi.Input; + /** + * Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectType: pulumi.Input; + /** + * Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + */ + schemaName?: pulumi.Input; + /** + * Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + */ + tableName?: pulumi.Input; + } + export interface GetBackupDownloadUrlsBackupDownloadRestriction { /** * Whether IP is allowed. Valid values: `ALLOW` (allow), `DENY` (deny). @@ -24689,6 +25413,28 @@ export namespace Postgresql { values?: pulumi.Input[]>; } + export interface GetDedicatedClustersFilter { + /** + * Filter name. + */ + name?: string; + /** + * Filter values. + */ + values?: string[]; + } + + export interface GetDedicatedClustersFilterArgs { + /** + * Filter name. + */ + name?: pulumi.Input; + /** + * Filter values. + */ + values?: pulumi.Input[]>; + } + export interface GetLogBackupsFilter { /** * Filter name. @@ -24775,6 +25521,10 @@ export namespace Postgresql { } export interface InstanceDbNodeSet { + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: pulumi.Input; /** * Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. */ @@ -29052,6 +29802,191 @@ export namespace Teo { } } +export namespace Thpc { + export interface WorkspacesDataDisk { + /** + * Sudden performance. PS: During testing. + */ + burstPerformance?: pulumi.Input; + /** + * Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + */ + deleteWithInstance?: pulumi.Input; + /** + * Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + */ + diskId?: pulumi.Input; + /** + * Size of the data disk, and unit is GB. + */ + diskSize?: pulumi.Input; + /** + * Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + */ + diskType?: pulumi.Input; + /** + * Decides whether the disk is encrypted. Default is `false`. + */ + encrypt?: pulumi.Input; + /** + * Kms key ID. + */ + kmsKeyId?: pulumi.Input; + /** + * Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + */ + snapshotId?: pulumi.Input; + /** + * Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + */ + throughputPerformance?: pulumi.Input; + } + + export interface WorkspacesEnhancedService { + /** + * Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + */ + automationService?: pulumi.Input; + /** + * Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + */ + monitorService?: pulumi.Input; + /** + * Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + */ + securityService?: pulumi.Input; + } + + export interface WorkspacesEnhancedServiceAutomationService { + /** + * Whether to enable. + */ + enabled?: pulumi.Input; + } + + export interface WorkspacesEnhancedServiceMonitorService { + /** + * Whether to enable. + */ + enabled?: pulumi.Input; + } + + export interface WorkspacesEnhancedServiceSecurityService { + /** + * Whether to enable. + */ + enabled?: pulumi.Input; + } + + export interface WorkspacesInternetAccessible { + /** + * Bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + */ + bandwidthPackageId?: pulumi.Input; + /** + * Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocatePublicIp` is false. + */ + internetChargeType?: pulumi.Input; + /** + * Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocatePublicIp` is false. + */ + internetMaxBandwidthOut?: pulumi.Input; + /** + * Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + */ + publicIpAssigned?: pulumi.Input; + } + + export interface WorkspacesLoginSettings { + /** + * The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + */ + keyIds?: pulumi.Input[]>; + /** + * Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + */ + password?: pulumi.Input; + } + + export interface WorkspacesPlacement { + /** + * The project the instance belongs to, default to 0. + */ + projectId?: pulumi.Input; + /** + * The available zone for the CVM instance. + */ + zone: pulumi.Input; + } + + export interface WorkspacesSpaceChargePrepaid { + /** + * 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`, `48`, `60`. + */ + period?: pulumi.Input; + /** + * 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`. + */ + renewFlag?: pulumi.Input; + } + + export interface WorkspacesSystemDisk { + /** + * Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + */ + diskId?: pulumi.Input; + /** + * Size of the system disk. unit is GB, Default is 50GB. + */ + diskSize?: pulumi.Input; + /** + * 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + */ + diskType?: pulumi.Input; + } + + export interface WorkspacesTagSpecification { + /** + * tags. + */ + tags: pulumi.Input[]>; + } + + export interface WorkspacesTagSpecificationTag { + /** + * Tag key. + */ + key: pulumi.Input; + /** + * Tag value. + */ + value: pulumi.Input; + } + + export interface WorkspacesVirtualPrivateCloud { + /** + * Is it used as a public network gateway. + */ + asVpcGateway?: pulumi.Input; + /** + * IPV6 address count. + */ + ipv6AddressCount?: pulumi.Input; + /** + * Array of private ip address. + */ + privateIpAddresses?: pulumi.Input[]>; + /** + * The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + */ + subnetId: pulumi.Input; + /** + * The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + */ + vpcId: pulumi.Input; + } +} + export namespace Trocket { export interface RocketmqInstanceIpRule { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 824526e3a..2dafb29b1 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2868,6 +2868,10 @@ export namespace As { * Base64-encoded User Data text. */ userData: string; + /** + * Version Number. + */ + versionNumber: number; } export interface GetScalingConfigsConfigurationListDataDisk { @@ -3053,6 +3057,17 @@ export namespace As { threshold: number; } + export interface LifecycleHookLifecycleCommand { + /** + * Remote command ID. It is required to execute a command. + */ + commandId: string; + /** + * Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + */ + parameters?: string; + } + export interface LoadBalancerForwardLoadBalancer { /** * Application load balancer listener ID. @@ -3158,6 +3173,28 @@ export namespace As { weight: number; } + export interface StartInstanceRefreshRefreshSettings { + /** + * Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + */ + checkInstanceTargetHealth?: boolean; + /** + * Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + */ + rollingUpdateSettings: outputs.As.StartInstanceRefreshRefreshSettingsRollingUpdateSettings; + } + + export interface StartInstanceRefreshRefreshSettingsRollingUpdateSettings { + /** + * Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + */ + batchNumber: number; + /** + * Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + */ + batchPause?: string; + } + } export namespace Audit { @@ -3172,6 +3209,104 @@ export namespace Audit { cosRegionName: string; } + export interface GetEventsEvent { + /** + * Root account ID. + */ + accountId?: number; + /** + * Log details. + */ + cloudAuditEvent?: string; + /** + * Authentication error code. + */ + errorCode?: number; + /** + * Log ID. + */ + eventId?: string; + /** + * Event name. + */ + eventName?: string; + /** + * Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field). + */ + eventNameCn?: string; + /** + * Event region. + */ + eventRegion?: string; + /** + * Request source. + */ + eventSource?: string; + /** + * Event Time. + */ + eventTime?: string; + /** + * IP location. + */ + location?: string; + /** + * Request ID. + */ + requestId?: string; + /** + * Resource region. + */ + resourceRegion?: string; + /** + * Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field). + */ + resourceTypeCn?: string; + /** + * Resource pair. + */ + resources?: outputs.Audit.GetEventsEventResources; + /** + * Certificate ID + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + secretId?: string; + /** + * Source IP + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + sourceIpAddress?: string; + /** + * Username. + */ + username?: string; + } + + export interface GetEventsEventResources { + /** + * Resource name + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + resourceName?: string; + /** + * Resource type. + */ + resourceType?: string; + } + + export interface GetEventsLookupAttribute { + /** + * Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + attributeKey: string; + /** + * Value of `AttributeValue` + * Note: `null` may be returned for this field, indicating that no valid values can be obtained. + */ + attributeValue?: string; + } + export interface GetKeyAliasAuditKeyAliasList { /** * Key alias. @@ -3267,6 +3402,20 @@ export namespace Availability { } +export namespace Batch { + export interface ApplyAccountBaselinesBaselineConfigItem { + /** + * Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + */ + configuration?: string; + /** + * A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + */ + identifier?: string; + } + +} + export namespace Bi { export interface DatasourceCloudServiceType { /** @@ -4129,13 +4278,17 @@ export namespace Cbs { */ availabilityZone: string; /** - * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). */ chargeType: string; /** * Creation time of CBS. */ createTime: string; + /** + * Exclusive cluster id. + */ + dedicatedClusterId: string; /** * Indicates whether CBS is encrypted. */ @@ -4196,13 +4349,17 @@ export namespace Cbs { */ availabilityZone: string; /** - * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + * List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). */ chargeType: string; /** * Creation time of CBS. */ createTime: string; + /** + * Exclusive cluster id. + */ + dedicatedClusterId: string; /** * Indicates whether CBS is encrypted. */ @@ -4433,6 +4590,72 @@ export namespace Ccn { state: string; } + export interface GetRoutesFilter { + /** + * Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + */ + name: string; + /** + * Filter value of the field. + */ + values: string[]; + } + + export interface GetRoutesRouteList { + /** + * Destination. + */ + destinationCidrBlock: string; + /** + * Is routing enabled. + */ + enabled: boolean; + /** + * Extension status of routing. + */ + extraState: string; + /** + * Next hop extension name (associated instance extension name). + */ + instanceExtraName: string; + /** + * Next jump (associated instance ID). + */ + instanceId: string; + /** + * Next jump (associated instance name). + */ + instanceName: string; + /** + * Next jump (associated instance region). + */ + instanceRegion: string; + /** + * Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. + */ + instanceType: string; + /** + * The UIN (root account) to which the associated instance belongs. + */ + instanceUin: string; + /** + * Is it dynamic routing. + */ + isBgp: boolean; + /** + * route ID. + */ + routeId: string; + /** + * Routing priority. + */ + routePriority: number; + /** + * update time. + */ + updateTime: string; + } + export interface InstancesAcceptAttachInstance { /** * Description. @@ -4502,6 +4725,394 @@ export namespace Ccn { routeTableId?: string; } + export interface RouteTableAssociateInstanceConfigInstance { + /** + * Instances ID. + */ + instanceId: string; + /** + * Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + */ + instanceType: string; + } + + export interface RouteTableBroadcastPoliciesPolicy { + /** + * Routing behavior, `accept` allows, `drop` rejects. + */ + action: string; + /** + * propagation conditions. + */ + broadcastConditions: outputs.Ccn.RouteTableBroadcastPoliciesPolicyBroadcastCondition[]; + /** + * Policy description. + */ + description: string; + /** + * Routing conditions. + */ + routeConditions: outputs.Ccn.RouteTableBroadcastPoliciesPolicyRouteCondition[]; + } + + export interface RouteTableBroadcastPoliciesPolicyBroadcastCondition { + /** + * Matching mode, `1` precise matching, `0` fuzzy matching. + */ + matchPattern: number; + /** + * condition type. + */ + name: string; + /** + * List of conditional values. + */ + values: string[]; + } + + export interface RouteTableBroadcastPoliciesPolicyRouteCondition { + /** + * Matching mode, `1` precise matching, `0` fuzzy matching. + */ + matchPattern: number; + /** + * condition type. + */ + name: string; + /** + * List of conditional values. + */ + values: string[]; + } + + export interface RouteTableInputPoliciesPolicy { + /** + * Routing behavior, `accept` allows, `drop` rejects. + */ + action: string; + /** + * Policy description. + */ + description: string; + /** + * Routing conditions. + */ + routeConditions: outputs.Ccn.RouteTableInputPoliciesPolicyRouteCondition[]; + } + + export interface RouteTableInputPoliciesPolicyRouteCondition { + /** + * Matching mode, `1` precise matching, `0` fuzzy matching. + */ + matchPattern: number; + /** + * condition type. + */ + name: string; + /** + * List of conditional values. + */ + values: string[]; + } + + export interface RouteTableSelectionPoliciesSelectionPolicy { + /** + * description. + */ + description: string; + /** + * Instance ID. + */ + instanceId: string; + /** + * Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + */ + instanceType: string; + /** + * route table ID. + */ + routeTableId: string; + /** + * Source CIDR. + */ + sourceCidrBlock: string; + } + +} + +export namespace Cdc { + export interface GetDedicatedClusterHostsHostInfoSet { + /** + * Dedicated Cluster Host CPU Available Count. + */ + cpuAvailable: number; + /** + * Dedicated Cluster Host CPU Total Count. + */ + cpuTotal: number; + /** + * Dedicated Cluster Host Expire Time. + */ + expireTime: string; + /** + * Dedicated Cluster Host ID. + */ + hostId: string; + /** + * Dedicated Cluster Host Ip (Deprecated). + */ + hostIp: string; + /** + * Dedicated Cluster Host Status. + */ + hostStatus: string; + /** + * Dedicated Cluster Host Type. + */ + hostType: string; + /** + * Dedicated Cluster Host Memory Available Count (GB). + */ + memAvailable: number; + /** + * Dedicated Cluster Host Memory Total Count (GB). + */ + memTotal: number; + /** + * Dedicated Cluster Host Run Time. + */ + runTime: string; + /** + * Dedicated Cluster Service Type. + */ + serviceType: string; + } + + export interface GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSet { + /** + * Instance CPU. + */ + cpu: number; + /** + * Instance CPU Type. + */ + cpuType: string; + /** + * Instance Fpga. + */ + fpga: number; + /** + * Instance GPU. + */ + gpu: number; + /** + * Instance Bandwidth. + */ + instanceBandwidth: number; + /** + * Instance Family. + */ + instanceFamily: string; + /** + * Instance Pps. + */ + instancePps: number; + /** + * Instance Type. + */ + instanceType: string; + /** + * Instance Memory. + */ + memory: number; + /** + * Instance Type. + */ + networkCard: number; + /** + * Instance Remark. + */ + remark: string; + /** + * Instance Status. + */ + status: string; + /** + * Instance Storage Block Amount. + */ + storageBlockAmount: number; + /** + * Instance Type Name. + */ + typeName: string; + /** + * Zone Name. + */ + zone: string; + } + + export interface GetDedicatedClusterOrdersDedicatedClusterOrderSet { + /** + * Dedicated Cluster Order Action Type. + */ + action: string; + /** + * Dedicated Cluster CPU. + */ + cpu: number; + /** + * Dedicated Cluster Order Create time. + */ + createTime: string; + /** + * Dedicated Cluster ID. + */ + dedicatedClusterId: string; + /** + * Dedicated Cluster Order ID. + */ + dedicatedClusterOrderId: string; + /** + * Dedicated Cluster Order Item List. + */ + dedicatedClusterOrderItems: outputs.Cdc.GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem[]; + /** + * Dedicated Cluster Type ID. + */ + dedicatedClusterTypeId: string; + /** + * Dedicated Cluster GPU. + */ + gpu: number; + /** + * Dedicated Cluster Memory. + */ + mem: number; + /** + * Dedicated Cluster Order Status. + */ + orderStatus: string; + /** + * Dedicated Cluster Order Type. + */ + orderType: string; + /** + * Dedicated Cluster Order Pay Status. + */ + payStatus: number; + /** + * Dedicated Cluster Order Pay Type. + */ + payType: string; + /** + * Dedicated Cluster Supported PowerDraw. + */ + powerDraw: number; + /** + * Dedicated Cluster Supported Instance Family. + */ + supportedInstanceFamilies: string[]; + /** + * Dedicated Cluster Storage Type. + */ + supportedStorageTypes: string[]; + /** + * Dedicated Cluster Supported Uplink Speed. + */ + supportedUplinkSpeeds: number[]; + /** + * Dedicated Cluster Order Pay Time Span. + */ + timeSpan: number; + /** + * Dedicated Cluster Order Pay Time Unit. + */ + timeUnit: string; + /** + * Dedicated Cluster Supported Weight. + */ + weight: number; + } + + export interface GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItem { + /** + * Dedicated Cluster Compute Format. + */ + computeFormat: string; + /** + * Dedicated Cluster SubOrder Count. + */ + count: number; + /** + * Dedicated Cluster Order Create time. + */ + createTime: string; + /** + * Dedicated Cluster Type ID. + */ + dedicatedClusterTypeId: string; + /** + * Dedicated Cluster Type Description. + */ + description: string; + /** + * Dedicated Cluster Type Name. + */ + name: string; + /** + * Dedicated Cluster Supported PowerDraw. + */ + powerDraw: number; + /** + * Dedicated Cluster SubOrder ID. + */ + subOrderId: string; + /** + * Dedicated Cluster SubOrder Pay Status. + */ + subOrderPayStatus: number; + /** + * Dedicated Cluster Order Status. + */ + subOrderStatus: string; + /** + * Dedicated Cluster Supported Instance Family. + */ + supportedInstanceFamilies: string[]; + /** + * Dedicated Cluster Storage Type. + */ + supportedStorageTypes: string[]; + /** + * Dedicated Cluster Supported Uplink Speed. + */ + supportedUplinkSpeeds: number[]; + /** + * Dedicated Cluster Total CPU. + */ + totalCpu: number; + /** + * Dedicated Cluster Total GPU. + */ + totalGpu: number; + /** + * Dedicated Cluster Total Memory. + */ + totalMem: number; + /** + * Dedicated Cluster Type Family. + */ + typeFamily: string; + /** + * Dedicated Cluster Type Name. + */ + typeName: string; + /** + * Dedicated Cluster Supported Weight. + */ + weight: number; + } + } export namespace Cdh { @@ -5247,7 +5858,7 @@ export namespace Cdn { */ backupOriginLists?: string[]; /** - * Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + * Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name. */ backupOriginType?: string; /** @@ -5267,7 +5878,7 @@ export namespace Cdn { */ originPullProtocol?: string; /** - * Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ipIpv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + * Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `thirdParty`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ipIpv6`: Multiple IPv4 addresses and one IPv6 address, `ipDomain`: IP addresses and domain names (only available to beta users), `ipDomainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6Domain`: Multiple IPv6 addresses and one domain name, `ipv6Domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domainDomainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ipIpv6Domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ipIpv6Domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ipDomainDomainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6DomainDomainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ipIpv6DomainDomainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. */ originType: string; /** @@ -5321,6 +5932,29 @@ export namespace Cdn { switch: string; } + export interface DomainOthersPrivateAccess { + /** + * Access ID. + */ + accessKey?: string; + /** + * Bucket. + */ + bucket?: string; + /** + * Region. + */ + region?: string; + /** + * Key. + */ + secretKey?: string; + /** + * Configuration switch, available values: `on`, `off` (default). + */ + switch: string; + } + export interface DomainPostMaxSize { /** * Maximum size in MB, value range is `[1, 200]`. @@ -5784,6 +6418,476 @@ export namespace Cdn { } +export namespace Cdwdoris { + export interface GetInstancesInstancesList { + /** + * Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained. + */ + accessInfo: string; + /** + * Bound security group information. Note: This field may return null, indicating that no valid values can be obtained. + */ + bindSGs: string[]; + /** + * Minor versions. Note: This field may return null, indicating that no valid values can be obtained. + */ + buildVersion: string; + /** + * cbs. Note: This field may return null, indicating that no valid values can be obtained. + */ + canAttachCbs: boolean; + /** + * Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained. + */ + caseSensitive: number; + /** + * Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained. + */ + characteristics: string[]; + /** + * Logset ID. Note: This field may return null, indicating that no valid values can be obtained. + */ + clsLogSetId: string; + /** + * Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained. + */ + clsTopicId: string; + /** + * Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained. + */ + components: string; + /** + * COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained. + */ + coolDownBucket: string; + /** + * Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained. + */ + coreSummary: outputs.Cdwdoris.GetInstancesInstancesListCoreSummary; + /** + * COS bucket. Note: This field may return null, indicating that no valid values can be obtained. + */ + cosBucketName: string; + /** + * Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained. + */ + cosMoveFactor: number; + /** + * Creation time. Note: This field may return null, indicating that no valid values can be obtained. + */ + createTime: string; + /** + * Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained. + */ + eip: string; + /** + * Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained. + */ + enableCoolDown: number; + /** + * Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained. + */ + enableMultiZones: boolean; + /** + * Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained. + */ + enableXmlConfig: number; + /** + * Expiration time. Note: This field may return null, indicating that no valid values can be obtained. + */ + expireTime: string; + /** + * Error process description information. Note: This field may return null, indicating that no valid values can be obtained. + */ + flowMsg: string; + /** + * The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained. + */ + graceShutdownWaitSeconds: string; + /** + * High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained. + */ + ha: string; + /** + * High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained. + */ + haType: number; + /** + * Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained. + */ + hasClsTopic: boolean; + /** + * Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained. + */ + id: number; + /** + * Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained. + */ + instanceId: string; + /** + * Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained. + */ + instanceName: string; + /** + * Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained. + */ + isWhiteSGs: boolean; + /** + * external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained. + */ + kind: string; + /** + * Data node description information. Note: This field may return null, indicating that no valid values can be obtained. + */ + masterSummary: outputs.Cdwdoris.GetInstancesInstancesListMasterSummary; + /** + * Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained. + */ + monitor: string; + /** + * Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained. + */ + payMode: string; + /** + * Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained. + */ + region: string; + /** + * Region. Note: This field may return null, indicating that no valid values can be obtained. + */ + regionDesc: string; + /** + * Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained. + */ + regionId: number; + /** + * Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained. + */ + renewFlag: boolean; + /** + * Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained. + */ + restartTimeout: string; + /** + * Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained. + */ + status: string; + /** + * Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained. + */ + statusDesc: string; + /** + * Subnet name. Note: This field may return null, indicating that no valid values can be obtained. + */ + subnetId: string; + /** + * Tag list. Note: This field may return null, indicating that no valid values can be obtained. + */ + tags: outputs.Cdwdoris.GetInstancesInstancesListTag[]; + /** + * User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained. + */ + userNetworkInfos: string; + /** + * Version. Note: This field may return null, indicating that no valid values can be obtained. + */ + version: string; + /** + * VPC name. Note: This field may return null, indicating that no valid values can be obtained. + */ + vpcId: string; + /** + * Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained. + */ + zone: string; + /** + * Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained. + */ + zoneDesc: string; + } + + export interface GetInstancesInstancesListCoreSummary { + /** + * Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + */ + attachCbsSpec: outputs.Cdwdoris.GetInstancesInstancesListCoreSummaryAttachCbsSpec; + /** + * Number of CPU cores, in counts. + */ + core: number; + /** + * Disk size, in GB. + */ + disk: number; + /** + * Disk size. Note: This field may return null, indicating that no valid values can be obtained. + */ + diskCount: number; + /** + * Disk description. + */ + diskDesc: string; + /** + * Disk type. + */ + diskType: string; + /** + * Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + */ + encrypt: number; + /** + * Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + */ + maxDiskSize: number; + /** + * Memory size, in GB. + */ + memory: number; + /** + * Number of nodes. + */ + nodeSize: number; + /** + * Model, such as S1. + */ + spec: string; + /** + * Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + */ + specCore: number; + /** + * Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + */ + specMemory: number; + /** + * Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + */ + subProductType: string; + } + + export interface GetInstancesInstancesListCoreSummaryAttachCbsSpec { + /** + * Total number of disks. + */ + diskCount?: number; + /** + * Description. + */ + diskDesc?: string; + /** + * Disk capacity, in GB. + */ + diskSize?: number; + /** + * Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + */ + diskType?: string; + } + + export interface GetInstancesInstancesListMasterSummary { + /** + * Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + */ + attachCbsSpec: outputs.Cdwdoris.GetInstancesInstancesListMasterSummaryAttachCbsSpec; + /** + * Number of CPU cores, in counts. + */ + core: number; + /** + * Disk size, in GB. + */ + disk: number; + /** + * Disk size. Note: This field may return null, indicating that no valid values can be obtained. + */ + diskCount: number; + /** + * Disk description. + */ + diskDesc: string; + /** + * Disk type. + */ + diskType: string; + /** + * Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + */ + encrypt: number; + /** + * Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + */ + maxDiskSize: number; + /** + * Memory size, in GB. + */ + memory: number; + /** + * Number of nodes. + */ + nodeSize: number; + /** + * Model, such as S1. + */ + spec: string; + /** + * Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + */ + specCore: number; + /** + * Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + */ + specMemory: number; + /** + * Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + */ + subProductType: string; + } + + export interface GetInstancesInstancesListMasterSummaryAttachCbsSpec { + /** + * Total number of disks. + */ + diskCount?: number; + /** + * Description. + */ + diskDesc?: string; + /** + * Disk capacity, in GB. + */ + diskSize?: number; + /** + * Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + */ + diskType?: string; + } + + export interface GetInstancesInstancesListTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + + export interface GetInstancesSearchTag { + /** + * 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + */ + allValue?: number; + /** + * Tag key. + */ + tagKey?: string; + /** + * Tag value. + */ + tagValue?: string; + } + + export interface InstanceBeSpec { + /** + * Quantities. + */ + count: number; + /** + * Cloud disk size. + */ + diskSize: number; + /** + * Specification name. + */ + specName: string; + } + + export interface InstanceChargeProperties { + /** + * Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + */ + chargeType?: string; + /** + * Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + */ + renewFlag?: number; + /** + * Billing duration Note: This field may return null, indicating that no valid values can be obtained. + */ + timeSpan?: number; + /** + * Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + */ + timeUnit?: string; + } + + export interface InstanceFeSpec { + /** + * Quantities. + */ + count: number; + /** + * Cloud disk size. + */ + diskSize: number; + /** + * Specification name. + */ + specName: string; + } + + export interface InstanceTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + + export interface InstanceUserMultiZoneInfos { + /** + * Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + */ + subnetId?: string; + /** + * The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + */ + subnetIpNum?: number; + /** + * Availability zone Note: This field may return null, indicating that no valid values can be obtained. + */ + zone?: string; + } + + export interface WorkloadGroupWorkloadGroup { + /** + * Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + */ + cpuHardLimit?: string; + /** + * CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + */ + cpuShare?: number; + /** + * Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + */ + enableMemoryOverCommit?: boolean; + /** + * Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + */ + memoryLimit?: number; + /** + * Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + */ + workloadGroupName?: string; + } + +} + export namespace Cdwpg { export interface InstanceChargeProperties { /** @@ -15605,6 +16709,10 @@ export namespace Clb { * The virtual service address table of the CLB. */ clbVips: string[]; + /** + * ID of the cluster. + */ + clusterId: string; /** * Create time of the CLB. */ @@ -17610,15 +18718,68 @@ export namespace Cls { export interface DataTransformDstResource { /** - * alias. + * Alias. */ alias: string; /** - * dst topic id. + * Dst topic ID. */ topicId: string; } + export interface GetLogsetsFilter { + /** + * Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + */ + key: string; + /** + * The values that need to be filtered. + */ + values: string[]; + } + + export interface GetLogsetsLogset { + /** + * Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE. + */ + assumerName: string; + /** + * Create time. + */ + createTime: string; + /** + * Logset Id. + */ + logsetId: string; + /** + * Logset name. + */ + logsetName: string; + /** + * If `assumerName` is not empty, it indicates the service role that created the log set. + */ + roleName: string; + /** + * Tags. + */ + tags: outputs.Cls.GetLogsetsLogsetTag[]; + /** + * Topic count. + */ + topicCount: number; + } + + export interface GetLogsetsLogsetTag { + /** + * Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + */ + key: string; + /** + * Tag value. + */ + value: string; + } + export interface GetMachineGroupConfigsConfig { /** * scrape config id. @@ -18079,6 +19240,39 @@ export namespace Cls { topicId: string; } + export interface TopicExtends { + /** + * Log topic authentication free configuration information. + */ + anonymousAccess?: outputs.Cls.TopicExtendsAnonymousAccess; + } + + export interface TopicExtendsAnonymousAccess { + /** + * Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + */ + conditions?: outputs.Cls.TopicExtendsAnonymousAccessCondition[]; + /** + * Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + */ + operations?: string[]; + } + + export interface TopicExtendsAnonymousAccessCondition { + /** + * Condition attribute, currently only VpcID is supported. + */ + attributes?: string; + /** + * The value of the corresponding conditional attribute. + */ + conditionValue?: string; + /** + * Conditional rule, 1: equal, 2: not equal. + */ + rule?: number; + } + } export namespace Cos { @@ -18436,7 +19630,7 @@ export namespace Cos { /** * A unique identifier for the rule. It can be up to 255 characters. */ - id?: string; + id: string; /** * Specifies when non current object versions shall expire. */ @@ -20090,7 +21284,9 @@ export namespace Cvm { */ hostIds: string[]; /** - * IPs of the hosts to create CVMs. + * (**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs. + * + * @deprecated It has been deprecated from version 1.81.108. */ hostIps: string[]; /** @@ -20423,7 +21619,9 @@ export namespace Cvm { */ hostIds?: string[]; /** - * Specify the host machine ip. + * It has been deprecated from version 1.81.108. Specify the host machine ip. + * + * @deprecated It has been deprecated from version 1.81.108. */ hostIps?: string[]; /** @@ -32565,6 +33763,17 @@ export namespace Elasticsearch { zone: string; } + export interface InstanceCosBackup { + /** + * Automatic backup execution time (accurate to the hour), e.g. `22:00`. + */ + backupTime: string; + /** + * Whether to enable automatic backup of cos. + */ + isAutoBackup: boolean; + } + export interface InstanceEsAcl { /** * Blacklist of kibana access. @@ -32593,7 +33802,7 @@ export namespace Elasticsearch { */ diskSize?: number; /** - * Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + * Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. */ diskType?: string; /** @@ -33277,6 +34486,10 @@ export namespace Eni { export namespace Enis { export interface GetInstanceEni { + /** + * CDC instance ID. + */ + cdcId: string; /** * Creation time of the ENI. */ @@ -35003,6 +36216,10 @@ export namespace Instance { * Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true. */ deleteWithInstance?: boolean; + /** + * Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + */ + deleteWithInstancePrepaid?: boolean; /** * Decides whether the disk is encrypted. Default is `false`. */ @@ -35041,6 +36258,10 @@ export namespace Instances { * An information list of data disk. Each element contains the following attributes: */ dataDisks: outputs.Instances.GetInstanceInstanceListDataDisk[]; + /** + * Exclusive cluster id. + */ + dedicatedClusterId: string; /** * Expired time of the instance. */ @@ -35125,6 +36346,10 @@ export namespace Instances { * Tags of the instance. */ tags: {[key: string]: any}; + /** + * Globally unique ID of the instance. + */ + uuid: string; /** * ID of the vpc to be queried. */ @@ -35282,6 +36507,31 @@ export namespace Instances { } +export namespace Invite { + export interface OrganizationMemberOperationAuthFile { + /** + * File name. + */ + name: string; + /** + * File path. + */ + url: string; + } + + export interface OrganizationMemberOperationTag { + /** + * Tag key. + */ + tagKey: string; + /** + * Tag value. + */ + tagValue: string; + } + +} + export namespace Key { export interface GetPairsKeyPairList { /** @@ -35557,7 +36807,9 @@ export namespace Kubernetes { */ gpuArgs?: outputs.Kubernetes.ClusterAttachmentWorkerConfigGpuArgs; /** - * Indicate to schedule the adding node or not. Default is true. + * This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + * + * @deprecated This argument was deprecated, use `unschedulable` instead. */ isSchedule?: boolean; /** @@ -35634,11 +36886,15 @@ export namespace Kubernetes { */ desiredPodNum?: number; /** - * Docker graph path. Default is `/var/lib/docker`. + * This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ dockerGraphPath?: string; /** - * Custom parameter information related to the node. This is a white-list parameter. + * This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ extraArgs?: string[]; /** @@ -35646,19 +36902,27 @@ export namespace Kubernetes { */ gpuArgs?: outputs.Kubernetes.ClusterAttachmentWorkerConfigOverridesGpuArgs; /** - * Indicate to schedule the adding node or not. Default is true. + * This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + * + * @deprecated This argument was deprecated, use `unschedulable` instead. */ isSchedule?: boolean; /** - * Mount target. Default is not mounting. + * This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ mountTarget?: string; /** - * Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + * This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ preStartUserScript?: string; /** - * Base64-encoded User Data text, the length limit is 16KB. + * This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. + * + * @deprecated This argument was no longer supported by TencentCloud TKE. */ userData?: string; } @@ -37175,6 +38439,10 @@ export namespace Kubernetes { } export interface GetClustersList { + /** + * CDC ID. + */ + cdcId: string; /** * The certificate used for access. */ @@ -37365,6 +38633,21 @@ export namespace Kubernetes { lanIp: string; } + export interface HealthCheckPolicyRule { + /** + * Enable repair or not. + */ + autoRepairEnabled: boolean; + /** + * Enable detection of this project or not. + */ + enabled: boolean; + /** + * Health check rule details. + */ + name: string; + } + export interface NativeNodePoolAnnotation { /** * Name in the map table. @@ -37673,6 +38956,10 @@ export namespace Kubernetes { * Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. */ instanceName: string; + /** + * Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + */ + instanceNameStyle: string; /** * Specified types of CVM instance. */ @@ -37861,6 +39148,10 @@ export namespace Kubernetes { * Indicate whether to auto format and mount or not. Default is `false`. */ autoFormatAndMount?: boolean; + /** + * The name of the device or partition to mount. + */ + diskPartition?: string; /** * Volume of disk in GB. Default is `0`. */ @@ -37920,7 +39211,7 @@ export namespace Kubernetes { */ count?: number; /** - * Configurations of data disk. + * Configurations of cvm data disk. */ dataDisks?: outputs.Kubernetes.ScaleWorkerWorkerConfigDataDisk[]; /** @@ -38016,10 +39307,14 @@ export namespace Kubernetes { export interface ScaleWorkerWorkerConfigDataDisk { /** * Indicate whether to auto format and mount or not. Default is `false`. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ autoFormatAndMount?: boolean; /** * The name of the device or partition to mount. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ diskPartition?: string; /** @@ -38036,6 +39331,8 @@ export namespace Kubernetes { encrypt?: boolean; /** * File system, e.g. `ext3/ext4/xfs`. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ fileSystem?: string; /** @@ -38044,6 +39341,8 @@ export namespace Kubernetes { kmsKeyId?: string; /** * Mount target. + * + * @deprecated This argument was deprecated, use `dataDisk` instead. */ mountTarget?: string; /** @@ -39080,6 +40379,157 @@ export namespace Lighthouse { } +export namespace Lite { + export interface GetHbaseInstancesFilter { + /** + * Field name. + */ + name: string; + /** + * Filter field value. + */ + values: string[]; + } + + export interface GetHbaseInstancesInstanceList { + /** + * Creation time. + */ + addTime: string; + /** + * User APP ID. + */ + appId: number; + /** + * Cluster Instance String ID. + */ + clusterId: string; + /** + * Cluster Instance name. + */ + clusterName: string; + /** + * Cluster Instance Digital ID. + */ + id: number; + /** + * Cluster charging type. 0 means charging by volume, 1 means annual and monthly. + */ + payMode: number; + /** + * Region ID. + */ + regionId: number; + /** + * Status code, please refer to the StatusDesc. + */ + status: number; + /** + * State description. + */ + statusDesc: string; + /** + * Subnet ID. + */ + subnetId: number; + /** + * List of tags. + */ + tags: outputs.Lite.GetHbaseInstancesInstanceListTag[]; + /** + * VPC ID. + */ + vpcId: number; + /** + * Primary Availability Zone Name. + */ + zone: string; + /** + * Primary Availability Zone ID. + */ + zoneId: number; + /** + * Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50. + */ + zoneSettings: outputs.Lite.GetHbaseInstancesInstanceListZoneSetting[]; + } + + export interface GetHbaseInstancesInstanceListTag { + /** + * Tag key. + */ + tagKey?: string; + /** + * Tag value. + */ + tagValue?: string; + } + + export interface GetHbaseInstancesInstanceListZoneSetting { + /** + * Number of nodes. + */ + nodeNum: number; + /** + * Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + */ + vpcSettings: outputs.Lite.GetHbaseInstancesInstanceListZoneSettingVpcSetting[]; + /** + * Primary Availability Zone Name. + */ + zone: string; + } + + export interface GetHbaseInstancesInstanceListZoneSettingVpcSetting { + /** + * Subnet ID. + */ + subnetId: string; + /** + * VPC ID. + */ + vpcId: string; + } + + export interface HbaseInstanceTag { + /** + * Tag key. + */ + tagKey?: string; + /** + * Tag value. + */ + tagValue?: string; + } + + export interface HbaseInstanceZoneSetting { + /** + * Number of nodes. + */ + nodeNum: number; + /** + * Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + */ + vpcSettings: outputs.Lite.HbaseInstanceZoneSettingVpcSettings; + /** + * The availability zone to which the instance belongs, such as ap-guangzhou-1. + */ + zone: string; + } + + export interface HbaseInstanceZoneSettingVpcSettings { + /** + * Subnet ID. + */ + subnetId: string; + /** + * VPC ID. + */ + vpcId: string; + } + +} + export namespace Mariadb { export interface AccountPrivilegesAccounts { /** @@ -43116,6 +44566,211 @@ export namespace Monitor { value: number; } + export interface GetTmpInstancesInstanceSet { + /** + * Alert rule limit. + */ + alertRuleLimit: number; + /** + * Prometheus http api root address. + */ + apiRootPath: string; + /** + * Token required for data writing. + */ + authToken: string; + /** + * Automatic renewal flag. + * - 0: No automatic renewal; + * - 1: Enable automatic renewal; + * - 2: Automatic renewal is prohibited; + * - -1: Invalid. + */ + autoRenewFlag: number; + /** + * Charge status. + * - 1: Normal; + * - 2: Expires; + * - 3: Destruction; + * - 4: Allocation; + * - 5: Allocation failed. + */ + chargeStatus: number; + /** + * Created_at. + */ + createdAt: string; + /** + * Data retention time. + */ + dataRetentionTime: number; + /** + * Whether to enable grafana. + * - 0: closed; + * - 1: open. + */ + enableGrafana: number; + /** + * Expires for purchased instances. + */ + expireTime: string; + /** + * Binding grafana instance id. + */ + grafanaInstanceId: string; + /** + * Grafana IP whitelist list. + */ + grafanaIpWhiteList: string; + /** + * Grafana status. + * - 1: Creating; + * - 2: In operation; + * - 3: Abnormal; + * - 4: Rebooting; + * - 5: Destruction; + * - 6: Shutdown; + * - 7: Deleted. + */ + grafanaStatus: number; + /** + * Grafana panel url. + */ + grafanaUrl: string; + /** + * Authorization information for the instance. + */ + grants: outputs.Monitor.GetTmpInstancesInstanceSetGrant[]; + /** + * Filter according to instance charge type. + * - 2: Prepaid; + * - 3: Postpaid by hour. + */ + instanceChargeType: number; + /** + * Instance id. + */ + instanceId: string; + /** + * Filter according to instance name. + */ + instanceName: string; + /** + * Filter according to instance status. + * - 1: Creating; + * - 2: In operation; + * - 3: Abnormal; + * - 4: Reconstruction; + * - 5: Destruction; + * - 6: Stopped taking; + * - 8: Suspension of service due to arrears; + * - 9: Service has been suspended due to arrears. + */ + instanceStatus: number; + /** + * Filter according to ipv4 address. + */ + ipv4Address: string; + /** + * Whether it is about to expire. + * - 0: No; + * - 1: Expiring soon. + */ + isNearExpire: number; + /** + * Migration status. + * - 0: Not in migration; + * + - 1: Migrating, original instance; + * + - 2: Migrating, target instance. + */ + migrationType: number; + /** + * Proxy address. + */ + proxyAddress: string; + /** + * Pre-aggregation rule limitations. + */ + recordingRuleLimit: number; + /** + * Region id. + */ + regionId: number; + /** + * Address of prometheus remote write. + */ + remoteWrite: string; + /** + * Specification name. + */ + specName: string; + /** + * Subnet id. + */ + subnetId: string; + /** + * List of tags associated with the instance. + */ + tagSpecifications: outputs.Monitor.GetTmpInstancesInstanceSetTagSpecification[]; + /** + * VPC id. + */ + vpcId: string; + /** + * Zone. + */ + zone: string; + } + + export interface GetTmpInstancesInstanceSetGrant { + /** + * Whether you have permission to manage the agent (1=yes, 2=no). + */ + hasAgentManage: number; + /** + * Whether to display API and other information (1=yes, 2=no). + */ + hasApiOperation: number; + /** + * Whether you have charging operation authority (1=yes, 2=no). + */ + hasChargeOperation: number; + /** + * Whether the status of Grafana can be modified (1=yes, 2=no). + */ + hasGrafanaStatusChange: number; + /** + * Whether you have permission to manage TKE integration (1=yes, 2=no). + */ + hasTkeManage: number; + /** + * Whether to display VPC information (1=yes, 2=no). + */ + hasVpcDisplay: number; + } + + export interface GetTmpInstancesInstanceSetTagSpecification { + /** + * The key of the tag. + */ + key: string; + /** + * The value of the tag. + */ + value: string; + } + + export interface GetTmpInstancesTagFilter { + /** + * The key of the tag. + */ + key: string; + /** + * The value of the tag. + */ + value: string; + } + export interface GetTmpRegionsRegionSet { /** * Region area. @@ -55210,6 +56865,62 @@ export namespace Organization { name: string; } + export interface GetServicesItem { + /** + * Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + */ + canAssignCount: number; + /** + * Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained. + */ + consoleUrl: string; + /** + * Organization service description. Note: This field may return null, indicating that no valid values can be obtained. + */ + description: string; + /** + * Help documentation. Note: This field may return null, indicating that no valid values can be obtained. + */ + document: string; + /** + * Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained. + */ + grantStatus: string; + /** + * Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + */ + isAssign: number; + /** + * Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no). + * Note: This field may return null, indicating that no valid values can be obtained. + */ + isSetManagementScope: number; + /** + * Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + */ + isUsageStatus: number; + /** + * Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + */ + memberNum: string; + /** + * Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained. + */ + product: string; + /** + * Organization service product name. Note: This field may return null, indicating that no valid values can be obtained. + */ + productName: string; + /** + * Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + */ + serviceGrant: number; + /** + * Organization service ID. Note: This field may return null, indicating that no valid values can be obtained. + */ + serviceId: number; + } + export interface InstanceOrgPermission { /** * Permissions ID. @@ -55295,6 +57006,112 @@ export namespace Placement { } export namespace Postgresql { + export interface AccountPrivilegesOperationModifyPrivilegeSet { + /** + * Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + */ + databasePrivilege?: outputs.Postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege; + /** + * Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + */ + isCascade?: boolean; + /** + * Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + */ + modifyType?: string; + } + + export interface AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege { + /** + * Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + */ + object?: outputs.Postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject; + /** + * Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + */ + privilegeSets?: string[]; + } + + export interface AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject { + /** + * Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + */ + databaseName?: string; + /** + * Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectName: string; + /** + * Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectType: string; + /** + * Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + */ + schemaName?: string; + /** + * Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + */ + tableName?: string; + } + + export interface GetAccountPrivilegesDatabaseObjectSet { + /** + * Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + */ + databaseName?: string; + /** + * Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + */ + objectName: string; + /** + * Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectType: string; + /** + * Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + */ + schemaName?: string; + /** + * Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + */ + tableName?: string; + } + + export interface GetAccountPrivilegesPrivilegeSet { + /** + * Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + */ + objects: outputs.Postgresql.GetAccountPrivilegesPrivilegeSetObject[]; + /** + * Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + */ + privilegeSets: string[]; + } + + export interface GetAccountPrivilegesPrivilegeSetObject { + /** + * Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + */ + databaseName: string; + /** + * Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + */ + objectName: string; + /** + * Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + */ + objectType: string; + /** + * Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + */ + schemaName: string; + /** + * Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + */ + tableName: string; + } + export interface GetBackupDownloadUrlsBackupDownloadRestriction { /** * Whether IP is allowed. Valid values: `ALLOW` (allow), `DENY` (deny). @@ -55430,6 +57247,64 @@ export namespace Postgresql { supportedFeatureNames: string[]; } + export interface GetDedicatedClustersDedicatedClusterSet { + /** + * Number of available CPUs. + */ + cpuAvailable?: number; + /** + * Cpu total. + */ + cpuTotal?: number; + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: string; + /** + * Disk availability. + */ + diskAvailable?: number; + /** + * Total number of disks. + */ + diskTotal?: number; + /** + * Instance count. + */ + instanceCount?: number; + /** + * Available Memory. + */ + memAvailable?: number; + /** + * Total amount of memory. + */ + memTotal?: number; + /** + * Filter name. + */ + name?: string; + /** + * Disaster recovery cluster. + */ + standbyDedicatedClusterSets?: string[]; + /** + * Zone. + */ + zone?: string; + } + + export interface GetDedicatedClustersFilter { + /** + * Filter name. + */ + name?: string; + /** + * Filter values. + */ + values?: string[]; + } + export interface GetDefaultParametersParamInfoSet { /** * Whether it is a key parameter. Valid values: `true` (yes, and modifying it may affect instance performance), `false` (no)Note: this field may return `null`, indicating that no valid values can be obtained. @@ -56285,6 +58160,10 @@ export namespace Postgresql { } export interface InstanceDbNodeSet { + /** + * Dedicated cluster ID. + */ + dedicatedClusterId?: string; /** * Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. */ @@ -58558,6 +60437,95 @@ export namespace Redis { vpcLists: string[]; } + export interface GetClustersResource { + /** + * User's Appid. + */ + appId: number; + /** + * Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + */ + autoRenewFlag: number; + /** + * Basic Control Resource Package. + */ + baseBundles: outputs.Redis.GetClustersResourceBaseBundle[]; + /** + * Cluster name. + */ + clusterName: string; + /** + * Dedicated cluster Id. + */ + dedicatedClusterId: string; + /** + * Instance expiration time. + */ + endTime: string; + /** + * Billing mode, 1-annual and monthly package, 0-quantity based billing. + */ + payMode: number; + /** + * Project Id. + */ + projectId: number; + /** + * Redis Cluster Id. + */ + redisClusterId: string; + /** + * Region Id. + */ + regionId: number; + /** + * List of Resource Packages. + */ + resourceBundles: outputs.Redis.GetClustersResourceResourceBundle[]; + /** + * Instance create time. + */ + startTime: string; + /** + * Cluster status: 1- In process, 2- Running, 3- Isolated. + */ + status: number; + /** + * zone Id. + */ + zoneId: number; + } + + export interface GetClustersResourceBaseBundle { + /** + * Saleable memory, unit: GB. + */ + availableMemory: number; + /** + * Resource bundle count. + */ + count: number; + /** + * Resource bundle name. + */ + resourceBundleName: string; + } + + export interface GetClustersResourceResourceBundle { + /** + * Saleable memory, unit: GB. + */ + availableMemory: number; + /** + * Resource bundle count. + */ + count: number; + /** + * Resource bundle name. + */ + resourceBundleName: string; + } + export interface GetInstanceNodeInfoProxy { /** * Node ID. @@ -61749,6 +63717,10 @@ export namespace Ssl { * Order ID returned. */ orderId: string; + /** + * Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained. + */ + ownerUin: string; /** * Certificate authority. */ @@ -61769,6 +63741,10 @@ export namespace Ssl { * Type of the SSL certificate to be queried. Available values includes: `CA` and `SVR`. */ type: string; + /** + * Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained. + */ + validityPeriod: string; } export interface GetCertificatesCertificateDvAuth { @@ -67588,6 +69564,192 @@ export namespace Teo { } +export namespace Thpc { + export interface WorkspacesDataDisk { + /** + * Sudden performance. PS: During testing. + */ + burstPerformance?: boolean; + /** + * Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + */ + deleteWithInstance?: boolean; + /** + * Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + */ + diskId: string; + /** + * Size of the data disk, and unit is GB. + */ + diskSize?: number; + /** + * Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + */ + diskType?: string; + /** + * Decides whether the disk is encrypted. Default is `false`. + */ + encrypt?: boolean; + /** + * Kms key ID. + */ + kmsKeyId?: string; + /** + * Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + */ + snapshotId?: string; + /** + * Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + */ + throughputPerformance?: number; + } + + export interface WorkspacesEnhancedService { + /** + * Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + */ + automationService?: outputs.Thpc.WorkspacesEnhancedServiceAutomationService; + /** + * Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + */ + monitorService?: outputs.Thpc.WorkspacesEnhancedServiceMonitorService; + /** + * Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + */ + securityService?: outputs.Thpc.WorkspacesEnhancedServiceSecurityService; + } + + export interface WorkspacesEnhancedServiceAutomationService { + /** + * Whether to enable. + */ + enabled?: boolean; + } + + export interface WorkspacesEnhancedServiceMonitorService { + /** + * Whether to enable. + */ + enabled?: boolean; + } + + export interface WorkspacesEnhancedServiceSecurityService { + /** + * Whether to enable. + */ + enabled?: boolean; + } + + export interface WorkspacesInternetAccessible { + /** + * Bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + */ + bandwidthPackageId?: string; + /** + * Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocatePublicIp` is false. + */ + internetChargeType?: string; + /** + * Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocatePublicIp` is false. + */ + internetMaxBandwidthOut: number; + /** + * Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + */ + publicIpAssigned: boolean; + } + + export interface WorkspacesLoginSettings { + /** + * The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + */ + keyIds?: string[]; + /** + * Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + */ + password?: string; + } + + export interface WorkspacesPlacement { + /** + * The project the instance belongs to, default to 0. + */ + projectId?: number; + /** + * The available zone for the CVM instance. + */ + zone: string; + } + + export interface WorkspacesSpaceChargePrepaid { + /** + * 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`, `48`, `60`. + */ + period?: number; + /** + * 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`. + */ + renewFlag?: string; + } + + export interface WorkspacesSystemDisk { + /** + * Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + */ + diskId: string; + /** + * Size of the system disk. unit is GB, Default is 50GB. + */ + diskSize: number; + /** + * 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + */ + diskType?: string; + } + + export interface WorkspacesTagSpecification { + /** + * tags. + */ + tags: outputs.Thpc.WorkspacesTagSpecificationTag[]; + } + + export interface WorkspacesTagSpecificationTag { + /** + * Tag key. + */ + key: string; + /** + * Tag value. + */ + value: string; + } + + export interface WorkspacesVirtualPrivateCloud { + /** + * Is it used as a public network gateway. + */ + asVpcGateway?: boolean; + /** + * IPV6 address count. + */ + ipv6AddressCount?: number; + /** + * Array of private ip address. + */ + privateIpAddresses: string[]; + /** + * The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + */ + subnetId: string; + /** + * The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + */ + vpcId: string; + } + +} + export namespace Trocket { export interface RocketmqInstanceIpRule { /** @@ -74376,6 +76538,10 @@ export namespace Vpc { * The number of available IPs. */ availableIpCount: number; + /** + * ID of CDC instance. + */ + cdcId: string; /** * Filter subnet with this CIDR. */ @@ -77235,4 +79401,46 @@ export namespace config { sessionName: string; } + export interface AssumeRoleWithSaml { + /** + * Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + */ + principalArn: string; + /** + * The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + */ + roleArn: string; + /** + * SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + */ + samlAssertion: string; + /** + * The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + */ + sessionDuration: number; + /** + * The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + */ + sessionName: string; + } + + export interface AssumeRoleWithWebIdentity { + /** + * The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + */ + roleArn: string; + /** + * The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + */ + sessionDuration: number; + /** + * The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + */ + sessionName: string; + /** + * OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + */ + webIdentityToken: string; + } + } diff --git a/sdk/nodejs/vpc/endPoint.ts b/sdk/nodejs/vpc/endPoint.ts index 46ad583af..831d1cd49 100644 --- a/sdk/nodejs/vpc/endPoint.ts +++ b/sdk/nodejs/vpc/endPoint.ts @@ -65,6 +65,10 @@ export class EndPoint extends pulumi.CustomResource { return obj['__pulumiType'] === EndPoint.__pulumiType; } + /** + * CDC instance ID. + */ + public /*out*/ readonly cdcId!: pulumi.Output; /** * Create Time. */ @@ -115,6 +119,7 @@ export class EndPoint extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as EndPointState | undefined; + resourceInputs["cdcId"] = state ? state.cdcId : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["endPointName"] = state ? state.endPointName : undefined; resourceInputs["endPointOwner"] = state ? state.endPointOwner : undefined; @@ -144,6 +149,7 @@ export class EndPoint extends pulumi.CustomResource { resourceInputs["securityGroupsIds"] = args ? args.securityGroupsIds : undefined; resourceInputs["subnetId"] = args ? args.subnetId : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["cdcId"] = undefined /*out*/; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["endPointOwner"] = undefined /*out*/; resourceInputs["state"] = undefined /*out*/; @@ -157,6 +163,10 @@ export class EndPoint extends pulumi.CustomResource { * Input properties used for looking up and filtering EndPoint resources. */ export interface EndPointState { + /** + * CDC instance ID. + */ + cdcId?: pulumi.Input; /** * Create Time. */ diff --git a/sdk/nodejs/vpc/endPointService.ts b/sdk/nodejs/vpc/endPointService.ts index b6eb24ff9..8d63ccc03 100644 --- a/sdk/nodejs/vpc/endPointService.ts +++ b/sdk/nodejs/vpc/endPointService.ts @@ -64,6 +64,10 @@ export class EndPointService extends pulumi.CustomResource { * Whether to automatically accept. */ public readonly autoAcceptFlag!: pulumi.Output; + /** + * CDC instance ID. + */ + public /*out*/ readonly cdcId!: pulumi.Output; /** * Create Time. */ @@ -111,6 +115,7 @@ export class EndPointService extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as EndPointServiceState | undefined; resourceInputs["autoAcceptFlag"] = state ? state.autoAcceptFlag : undefined; + resourceInputs["cdcId"] = state ? state.cdcId : undefined; resourceInputs["createTime"] = state ? state.createTime : undefined; resourceInputs["endPointCount"] = state ? state.endPointCount : undefined; resourceInputs["endPointServiceName"] = state ? state.endPointServiceName : undefined; @@ -138,6 +143,7 @@ export class EndPointService extends pulumi.CustomResource { resourceInputs["serviceInstanceId"] = args ? args.serviceInstanceId : undefined; resourceInputs["serviceType"] = args ? args.serviceType : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["cdcId"] = undefined /*out*/; resourceInputs["createTime"] = undefined /*out*/; resourceInputs["endPointCount"] = undefined /*out*/; resourceInputs["serviceOwner"] = undefined /*out*/; @@ -156,6 +162,10 @@ export interface EndPointServiceState { * Whether to automatically accept. */ autoAcceptFlag?: pulumi.Input; + /** + * CDC instance ID. + */ + cdcId?: pulumi.Input; /** * Create Time. */ diff --git a/sdk/nodejs/vpc/getSubnets.ts b/sdk/nodejs/vpc/getSubnets.ts index 3cd672c0a..a483bdd7b 100644 --- a/sdk/nodejs/vpc/getSubnets.ts +++ b/sdk/nodejs/vpc/getSubnets.ts @@ -11,33 +11,43 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Create subnet resource + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as tencentcloud from "@pulumi/tencentcloud"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * * const config = new pulumi.Config(); * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-3"; - * const foo = new tencentcloud.vpc.Instance("foo", {cidrBlock: "10.0.0.0/16"}); + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); * const subnet = new tencentcloud.subnet.Instance("subnet", { * availabilityZone: availabilityZone, - * vpcId: foo.id, + * vpcId: vpc.id, * cidrBlock: "10.0.20.0/28", * isMulticast: false, * tags: { * test: "test", * }, * }); - * const idInstances = tencentcloud.Vpc.getSubnetsOutput({ - * subnetId: subnet.id, - * }); - * const nameInstances = tencentcloud.Vpc.getSubnetsOutput({ - * name: subnet.name, + * const subnetCDC = new tencentcloud.subnet.Instance("subnetCDC", { + * vpcId: vpc.id, + * cidrBlock: "10.0.0.0/16", + * cdcId: "cluster-lchwgxhs", + * availabilityZone: data.tencentcloud_availability_zones.zones.zones[0].name, + * isMulticast: false, * }); - * const tagsInstances = subnet.tags.apply(tags => tencentcloud.Vpc.getSubnetsOutput({ - * tags: tags, - * })); + * ``` + * + * + * ### Query all subnets + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const subnets = tencentcloud.Vpc.getSubnets({}); * ``` * */ @@ -47,6 +57,7 @@ export function getSubnets(args?: GetSubnetsArgs, opts?: pulumi.InvokeOptions): opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("tencentcloud:Vpc/getSubnets:getSubnets", { "availabilityZone": args.availabilityZone, + "cdcId": args.cdcId, "cidrBlock": args.cidrBlock, "isDefault": args.isDefault, "isRemoteVpcSnat": args.isRemoteVpcSnat, @@ -67,6 +78,10 @@ export interface GetSubnetsArgs { * Zone of the subnet to be queried. */ availabilityZone?: string; + /** + * ID of CDC instance. + */ + cdcId?: string; /** * Filter subnet with this CIDR. */ @@ -113,6 +128,10 @@ export interface GetSubnetsResult { * The availability zone of the subnet. */ readonly availabilityZone?: string; + /** + * ID of CDC instance. + */ + readonly cdcId?: string; /** * A network address block of the subnet. */ @@ -154,33 +173,43 @@ export interface GetSubnetsResult { * * ## Example Usage * + * ### Create subnet resource + * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; - * import * as tencentcloud from "@pulumi/tencentcloud"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * * const config = new pulumi.Config(); * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-3"; - * const foo = new tencentcloud.vpc.Instance("foo", {cidrBlock: "10.0.0.0/16"}); + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); * const subnet = new tencentcloud.subnet.Instance("subnet", { * availabilityZone: availabilityZone, - * vpcId: foo.id, + * vpcId: vpc.id, * cidrBlock: "10.0.20.0/28", * isMulticast: false, * tags: { * test: "test", * }, * }); - * const idInstances = tencentcloud.Vpc.getSubnetsOutput({ - * subnetId: subnet.id, - * }); - * const nameInstances = tencentcloud.Vpc.getSubnetsOutput({ - * name: subnet.name, + * const subnetCDC = new tencentcloud.subnet.Instance("subnetCDC", { + * vpcId: vpc.id, + * cidrBlock: "10.0.0.0/16", + * cdcId: "cluster-lchwgxhs", + * availabilityZone: data.tencentcloud_availability_zones.zones.zones[0].name, + * isMulticast: false, * }); - * const tagsInstances = subnet.tags.apply(tags => tencentcloud.Vpc.getSubnetsOutput({ - * tags: tags, - * })); + * ``` + * + * + * ### Query all subnets + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const subnets = tencentcloud.Vpc.getSubnets({}); * ``` * */ @@ -196,6 +225,10 @@ export interface GetSubnetsOutputArgs { * Zone of the subnet to be queried. */ availabilityZone?: pulumi.Input; + /** + * ID of CDC instance. + */ + cdcId?: pulumi.Input; /** * Filter subnet with this CIDR. */ diff --git a/sdk/nodejs/vpc/index.ts b/sdk/nodejs/vpc/index.ts index fe015b4a4..1f37530f8 100644 --- a/sdk/nodejs/vpc/index.ts +++ b/sdk/nodejs/vpc/index.ts @@ -250,6 +250,11 @@ export type PeerConnectRejectOperation = import("./peerConnectRejectOperation"). export const PeerConnectRejectOperation: typeof import("./peerConnectRejectOperation").PeerConnectRejectOperation = null as any; utilities.lazyLoad(exports, ["PeerConnectRejectOperation"], () => require("./peerConnectRejectOperation")); +export { PrivateNatGatewayArgs, PrivateNatGatewayState } from "./privateNatGateway"; +export type PrivateNatGateway = import("./privateNatGateway").PrivateNatGateway; +export const PrivateNatGateway: typeof import("./privateNatGateway").PrivateNatGateway = null as any; +utilities.lazyLoad(exports, ["PrivateNatGateway"], () => require("./privateNatGateway")); + export { ResumeSnapshotInstanceArgs, ResumeSnapshotInstanceState } from "./resumeSnapshotInstance"; export type ResumeSnapshotInstance = import("./resumeSnapshotInstance").ResumeSnapshotInstance; export const ResumeSnapshotInstance: typeof import("./resumeSnapshotInstance").ResumeSnapshotInstance = null as any; @@ -326,6 +331,8 @@ const _module = { return new PeerConnectManager(name, undefined, { urn }) case "tencentcloud:Vpc/peerConnectRejectOperation:PeerConnectRejectOperation": return new PeerConnectRejectOperation(name, undefined, { urn }) + case "tencentcloud:Vpc/privateNatGateway:PrivateNatGateway": + return new PrivateNatGateway(name, undefined, { urn }) case "tencentcloud:Vpc/resumeSnapshotInstance:ResumeSnapshotInstance": return new ResumeSnapshotInstance(name, undefined, { urn }) case "tencentcloud:Vpc/snapshotPolicy:SnapshotPolicy": @@ -364,6 +371,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/notifyRoutes", _modul pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/peerConnectAcceptOperation", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/peerConnectManager", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/peerConnectRejectOperation", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/privateNatGateway", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/resumeSnapshotInstance", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/snapshotPolicy", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Vpc/snapshotPolicyAttachment", _module) diff --git a/sdk/nodejs/vpc/notifyRoutes.ts b/sdk/nodejs/vpc/notifyRoutes.ts index 271aa5791..0ccbeda14 100644 --- a/sdk/nodejs/vpc/notifyRoutes.ts +++ b/sdk/nodejs/vpc/notifyRoutes.ts @@ -39,7 +39,7 @@ export class NotifyRoutes extends pulumi.CustomResource { /** * The unique ID of the routing policy. */ - public readonly routeItemIds!: pulumi.Output; + public readonly routeItemIds!: pulumi.Output; /** * The unique ID of the routing table. */ @@ -89,7 +89,7 @@ export interface NotifyRoutesState { /** * The unique ID of the routing policy. */ - routeItemIds?: pulumi.Input[]>; + routeItemIds?: pulumi.Input; /** * The unique ID of the routing table. */ @@ -103,7 +103,7 @@ export interface NotifyRoutesArgs { /** * The unique ID of the routing policy. */ - routeItemIds: pulumi.Input[]>; + routeItemIds: pulumi.Input; /** * The unique ID of the routing table. */ diff --git a/sdk/nodejs/vpc/privateNatGateway.ts b/sdk/nodejs/vpc/privateNatGateway.ts new file mode 100644 index 000000000..f03b27495 --- /dev/null +++ b/sdk/nodejs/vpc/privateNatGateway.ts @@ -0,0 +1,165 @@ +// *** 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 a vpc private nat gateway + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const privateNatGateway = new tencentcloud.vpc.PrivateNatGateway("privateNatGateway", { + * natGatewayName: "xxx", + * vpcId: "xxx", + * }); + * ``` + * + * + * ## Import + * + * vpc private_nat_gateway can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Vpc/privateNatGateway:PrivateNatGateway private_nat_gateway private_nat_gateway_id + * ``` + */ +export class PrivateNatGateway extends pulumi.CustomResource { + /** + * Get an existing PrivateNatGateway 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?: PrivateNatGatewayState, opts?: pulumi.CustomResourceOptions): PrivateNatGateway { + return new PrivateNatGateway(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Vpc/privateNatGateway:PrivateNatGateway'; + + /** + * Returns true if the given object is an instance of PrivateNatGateway. 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 PrivateNatGateway { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === PrivateNatGateway.__pulumiType; + } + + /** + * Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + */ + public readonly ccnId!: pulumi.Output; + /** + * Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + */ + public readonly crossDomain!: pulumi.Output; + /** + * Private network gateway name. + */ + public readonly natGatewayName!: pulumi.Output; + /** + * Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + */ + public readonly vpcId!: pulumi.Output; + /** + * VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + */ + public readonly vpcType!: pulumi.Output; + + /** + * Create a PrivateNatGateway 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: PrivateNatGatewayArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: PrivateNatGatewayArgs | PrivateNatGatewayState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as PrivateNatGatewayState | undefined; + resourceInputs["ccnId"] = state ? state.ccnId : undefined; + resourceInputs["crossDomain"] = state ? state.crossDomain : undefined; + resourceInputs["natGatewayName"] = state ? state.natGatewayName : undefined; + resourceInputs["vpcId"] = state ? state.vpcId : undefined; + resourceInputs["vpcType"] = state ? state.vpcType : undefined; + } else { + const args = argsOrState as PrivateNatGatewayArgs | undefined; + if ((!args || args.natGatewayName === undefined) && !opts.urn) { + throw new Error("Missing required property 'natGatewayName'"); + } + resourceInputs["ccnId"] = args ? args.ccnId : undefined; + resourceInputs["crossDomain"] = args ? args.crossDomain : undefined; + resourceInputs["natGatewayName"] = args ? args.natGatewayName : undefined; + resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["vpcType"] = args ? args.vpcType : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(PrivateNatGateway.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering PrivateNatGateway resources. + */ +export interface PrivateNatGatewayState { + /** + * Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + */ + ccnId?: pulumi.Input; + /** + * Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + */ + crossDomain?: pulumi.Input; + /** + * Private network gateway name. + */ + natGatewayName?: pulumi.Input; + /** + * Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + */ + vpcId?: pulumi.Input; + /** + * VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + */ + vpcType?: pulumi.Input; +} + +/** + * The set of arguments for constructing a PrivateNatGateway resource. + */ +export interface PrivateNatGatewayArgs { + /** + * Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + */ + ccnId?: pulumi.Input; + /** + * Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + */ + crossDomain?: pulumi.Input; + /** + * Private network gateway name. + */ + natGatewayName: pulumi.Input; + /** + * Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + */ + vpcId?: pulumi.Input; + /** + * VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + */ + vpcType?: pulumi.Input; +} diff --git a/sdk/python/tencentcloud_iac_pulumi/__init__.py b/sdk/python/tencentcloud_iac_pulumi/__init__.py index 211f7d5d1..e0210281d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/__init__.py @@ -26,6 +26,8 @@ audits = __audits import tencentcloud_iac_pulumi.availability as __availability availability = __availability + import tencentcloud_iac_pulumi.batch as __batch + batch = __batch import tencentcloud_iac_pulumi.bi as __bi bi = __bi import tencentcloud_iac_pulumi.cam as __cam @@ -36,10 +38,14 @@ cbs = __cbs import tencentcloud_iac_pulumi.ccn as __ccn ccn = __ccn + import tencentcloud_iac_pulumi.cdc as __cdc + cdc = __cdc import tencentcloud_iac_pulumi.cdh as __cdh cdh = __cdh import tencentcloud_iac_pulumi.cdn as __cdn cdn = __cdn + import tencentcloud_iac_pulumi.cdwdoris as __cdwdoris + cdwdoris = __cdwdoris import tencentcloud_iac_pulumi.cdwpg as __cdwpg cdwpg = __cdwpg import tencentcloud_iac_pulumi.cfs as __cfs @@ -116,6 +122,8 @@ gaap = __gaap import tencentcloud_iac_pulumi.ha as __ha ha = __ha + import tencentcloud_iac_pulumi.identity as __identity + identity = __identity import tencentcloud_iac_pulumi.image as __image image = __image import tencentcloud_iac_pulumi.images as __images @@ -124,6 +132,8 @@ instance = __instance import tencentcloud_iac_pulumi.instances as __instances instances = __instances + import tencentcloud_iac_pulumi.invite as __invite + invite = __invite import tencentcloud_iac_pulumi.ipv6 as __ipv6 ipv6 = __ipv6 import tencentcloud_iac_pulumi.key as __key @@ -134,6 +144,8 @@ kubernetes = __kubernetes import tencentcloud_iac_pulumi.lighthouse as __lighthouse lighthouse = __lighthouse + import tencentcloud_iac_pulumi.lite as __lite + lite = __lite import tencentcloud_iac_pulumi.mariadb as __mariadb mariadb = __mariadb import tencentcloud_iac_pulumi.mdl as __mdl @@ -212,6 +224,8 @@ tem = __tem import tencentcloud_iac_pulumi.teo as __teo teo = __teo + import tencentcloud_iac_pulumi.thpc as __thpc + thpc = __thpc import tencentcloud_iac_pulumi.trocket as __trocket trocket = __trocket import tencentcloud_iac_pulumi.tse as __tse @@ -239,13 +253,16 @@ audit = _utilities.lazy_import('tencentcloud_iac_pulumi.audit') audits = _utilities.lazy_import('tencentcloud_iac_pulumi.audits') availability = _utilities.lazy_import('tencentcloud_iac_pulumi.availability') + batch = _utilities.lazy_import('tencentcloud_iac_pulumi.batch') bi = _utilities.lazy_import('tencentcloud_iac_pulumi.bi') cam = _utilities.lazy_import('tencentcloud_iac_pulumi.cam') cat = _utilities.lazy_import('tencentcloud_iac_pulumi.cat') cbs = _utilities.lazy_import('tencentcloud_iac_pulumi.cbs') ccn = _utilities.lazy_import('tencentcloud_iac_pulumi.ccn') + cdc = _utilities.lazy_import('tencentcloud_iac_pulumi.cdc') cdh = _utilities.lazy_import('tencentcloud_iac_pulumi.cdh') cdn = _utilities.lazy_import('tencentcloud_iac_pulumi.cdn') + cdwdoris = _utilities.lazy_import('tencentcloud_iac_pulumi.cdwdoris') cdwpg = _utilities.lazy_import('tencentcloud_iac_pulumi.cdwpg') cfs = _utilities.lazy_import('tencentcloud_iac_pulumi.cfs') cfw = _utilities.lazy_import('tencentcloud_iac_pulumi.cfw') @@ -284,15 +301,18 @@ enis = _utilities.lazy_import('tencentcloud_iac_pulumi.enis') gaap = _utilities.lazy_import('tencentcloud_iac_pulumi.gaap') ha = _utilities.lazy_import('tencentcloud_iac_pulumi.ha') + identity = _utilities.lazy_import('tencentcloud_iac_pulumi.identity') image = _utilities.lazy_import('tencentcloud_iac_pulumi.image') images = _utilities.lazy_import('tencentcloud_iac_pulumi.images') instance = _utilities.lazy_import('tencentcloud_iac_pulumi.instance') instances = _utilities.lazy_import('tencentcloud_iac_pulumi.instances') + invite = _utilities.lazy_import('tencentcloud_iac_pulumi.invite') ipv6 = _utilities.lazy_import('tencentcloud_iac_pulumi.ipv6') key = _utilities.lazy_import('tencentcloud_iac_pulumi.key') kms = _utilities.lazy_import('tencentcloud_iac_pulumi.kms') kubernetes = _utilities.lazy_import('tencentcloud_iac_pulumi.kubernetes') lighthouse = _utilities.lazy_import('tencentcloud_iac_pulumi.lighthouse') + lite = _utilities.lazy_import('tencentcloud_iac_pulumi.lite') mariadb = _utilities.lazy_import('tencentcloud_iac_pulumi.mariadb') mdl = _utilities.lazy_import('tencentcloud_iac_pulumi.mdl') mongodb = _utilities.lazy_import('tencentcloud_iac_pulumi.mongodb') @@ -332,6 +352,7 @@ tdmq = _utilities.lazy_import('tencentcloud_iac_pulumi.tdmq') tem = _utilities.lazy_import('tencentcloud_iac_pulumi.tem') teo = _utilities.lazy_import('tencentcloud_iac_pulumi.teo') + thpc = _utilities.lazy_import('tencentcloud_iac_pulumi.thpc') trocket = _utilities.lazy_import('tencentcloud_iac_pulumi.trocket') tse = _utilities.lazy_import('tencentcloud_iac_pulumi.tse') tsf = _utilities.lazy_import('tencentcloud_iac_pulumi.tsf') @@ -721,6 +742,14 @@ "tencentcloud:As/schedule:Schedule": "Schedule" } }, + { + "pkg": "tencentcloud", + "mod": "As/startInstanceRefresh", + "fqn": "tencentcloud_iac_pulumi.as_", + "classes": { + "tencentcloud:As/startInstanceRefresh:StartInstanceRefresh": "StartInstanceRefresh" + } + }, { "pkg": "tencentcloud", "mod": "As/startInstances", @@ -745,6 +774,14 @@ "tencentcloud:Audit/track:Track": "Track" } }, + { + "pkg": "tencentcloud", + "mod": "Batch/applyAccountBaselines", + "fqn": "tencentcloud_iac_pulumi.batch", + "classes": { + "tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines": "ApplyAccountBaselines" + } + }, { "pkg": "tencentcloud", "mod": "Bi/datasource", @@ -1121,6 +1158,46 @@ "tencentcloud:Ccn/instancesResetAttach:InstancesResetAttach": "InstancesResetAttach" } }, + { + "pkg": "tencentcloud", + "mod": "Ccn/routeTable", + "fqn": "tencentcloud_iac_pulumi.ccn", + "classes": { + "tencentcloud:Ccn/routeTable:RouteTable": "RouteTable" + } + }, + { + "pkg": "tencentcloud", + "mod": "Ccn/routeTableAssociateInstanceConfig", + "fqn": "tencentcloud_iac_pulumi.ccn", + "classes": { + "tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig": "RouteTableAssociateInstanceConfig" + } + }, + { + "pkg": "tencentcloud", + "mod": "Ccn/routeTableBroadcastPolicies", + "fqn": "tencentcloud_iac_pulumi.ccn", + "classes": { + "tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies": "RouteTableBroadcastPolicies" + } + }, + { + "pkg": "tencentcloud", + "mod": "Ccn/routeTableInputPolicies", + "fqn": "tencentcloud_iac_pulumi.ccn", + "classes": { + "tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies": "RouteTableInputPolicies" + } + }, + { + "pkg": "tencentcloud", + "mod": "Ccn/routeTableSelectionPolicies", + "fqn": "tencentcloud_iac_pulumi.ccn", + "classes": { + "tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies": "RouteTableSelectionPolicies" + } + }, { "pkg": "tencentcloud", "mod": "Ccn/routes", @@ -1129,6 +1206,22 @@ "tencentcloud:Ccn/routes:Routes": "Routes" } }, + { + "pkg": "tencentcloud", + "mod": "Cdc/dedicatedCluster", + "fqn": "tencentcloud_iac_pulumi.cdc", + "classes": { + "tencentcloud:Cdc/dedicatedCluster:DedicatedCluster": "DedicatedCluster" + } + }, + { + "pkg": "tencentcloud", + "mod": "Cdc/site", + "fqn": "tencentcloud_iac_pulumi.cdc", + "classes": { + "tencentcloud:Cdc/site:Site": "Site" + } + }, { "pkg": "tencentcloud", "mod": "Cdh/instance", @@ -1161,6 +1254,22 @@ "tencentcloud:Cdn/urlPush:UrlPush": "UrlPush" } }, + { + "pkg": "tencentcloud", + "mod": "Cdwdoris/instance", + "fqn": "tencentcloud_iac_pulumi.cdwdoris", + "classes": { + "tencentcloud:Cdwdoris/instance:Instance": "Instance" + } + }, + { + "pkg": "tencentcloud", + "mod": "Cdwdoris/workloadGroup", + "fqn": "tencentcloud_iac_pulumi.cdwdoris", + "classes": { + "tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup": "WorkloadGroup" + } + }, { "pkg": "tencentcloud", "mod": "Cdwpg/instance", @@ -3865,6 +3974,78 @@ "tencentcloud:Ha/vipEipAttachment:VipEipAttachment": "VipEipAttachment" } }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerExternalSamlIdentityProvider", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider": "CenterExternalSamlIdentityProvider" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerGroup", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerGroup:CenterGroup": "CenterGroup" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerRoleAssignment", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment": "CenterRoleAssignment" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerRoleConfiguration", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration": "CenterRoleConfiguration" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerRoleConfigurationPermissionCustomPolicyAttachment", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment": "CenterRoleConfigurationPermissionCustomPolicyAttachment" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerRoleConfigurationPermissionPolicyAttachment", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment": "CenterRoleConfigurationPermissionPolicyAttachment" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerUser", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerUser:CenterUser": "CenterUser" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerUserGroupAttachment", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment": "CenterUserGroupAttachment" + } + }, + { + "pkg": "tencentcloud", + "mod": "Identity/centerUserSyncProvisioning", + "fqn": "tencentcloud_iac_pulumi.identity", + "classes": { + "tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning": "CenterUserSyncProvisioning" + } + }, { "pkg": "tencentcloud", "mod": "Image/instance", @@ -3889,6 +4070,14 @@ "tencentcloud:Instance/set:Set": "Set" } }, + { + "pkg": "tencentcloud", + "mod": "Invite/organizationMemberOperation", + "fqn": "tencentcloud_iac_pulumi.invite", + "classes": { + "tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation": "OrganizationMemberOperation" + } + }, { "pkg": "tencentcloud", "mod": "Ipv6/addressBandwidth", @@ -3961,6 +4150,14 @@ "tencentcloud:Kubernetes/addonAttachment:AddonAttachment": "AddonAttachment" } }, + { + "pkg": "tencentcloud", + "mod": "Kubernetes/addonConfig", + "fqn": "tencentcloud_iac_pulumi.kubernetes", + "classes": { + "tencentcloud:Kubernetes/addonConfig:AddonConfig": "AddonConfig" + } + }, { "pkg": "tencentcloud", "mod": "Kubernetes/authAttachment", @@ -4009,6 +4206,22 @@ "tencentcloud:Kubernetes/encryptionProtection:EncryptionProtection": "EncryptionProtection" } }, + { + "pkg": "tencentcloud", + "mod": "Kubernetes/healthCheckPolicy", + "fqn": "tencentcloud_iac_pulumi.kubernetes", + "classes": { + "tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy": "HealthCheckPolicy" + } + }, + { + "pkg": "tencentcloud", + "mod": "Kubernetes/logConfig", + "fqn": "tencentcloud_iac_pulumi.kubernetes", + "classes": { + "tencentcloud:Kubernetes/logConfig:LogConfig": "LogConfig" + } + }, { "pkg": "tencentcloud", "mod": "Kubernetes/nativeNodePool", @@ -4177,6 +4390,14 @@ "tencentcloud:Lighthouse/stopInstance:StopInstance": "StopInstance" } }, + { + "pkg": "tencentcloud", + "mod": "Lite/hbaseInstance", + "fqn": "tencentcloud_iac_pulumi.lite", + "classes": { + "tencentcloud:Lite/hbaseInstance:HbaseInstance": "HbaseInstance" + } + }, { "pkg": "tencentcloud", "mod": "Mariadb/account", @@ -4905,6 +5126,14 @@ "tencentcloud:Mysql/backupPolicy:BackupPolicy": "BackupPolicy" } }, + { + "pkg": "tencentcloud", + "mod": "Mysql/clsLogAttachment", + "fqn": "tencentcloud_iac_pulumi.mysql", + "classes": { + "tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment": "ClsLogAttachment" + } + }, { "pkg": "tencentcloud", "mod": "Mysql/database", @@ -5121,6 +5350,14 @@ "tencentcloud:Mysql/securityGroupsAttachment:SecurityGroupsAttachment": "SecurityGroupsAttachment" } }, + { + "pkg": "tencentcloud", + "mod": "Mysql/ssl", + "fqn": "tencentcloud_iac_pulumi.mysql", + "classes": { + "tencentcloud:Mysql/ssl:Ssl": "Ssl" + } + }, { "pkg": "tencentcloud", "mod": "Mysql/switchForUpgrade", @@ -5377,6 +5614,14 @@ "tencentcloud:Organization/quitOrganizationOperation:QuitOrganizationOperation": "QuitOrganizationOperation" } }, + { + "pkg": "tencentcloud", + "mod": "Organization/serviceAssign", + "fqn": "tencentcloud_iac_pulumi.organization", + "classes": { + "tencentcloud:Organization/serviceAssign:ServiceAssign": "ServiceAssign" + } + }, { "pkg": "tencentcloud", "mod": "Placement/group", @@ -5385,6 +5630,22 @@ "tencentcloud:Placement/group:Group": "Group" } }, + { + "pkg": "tencentcloud", + "mod": "Postgresql/account", + "fqn": "tencentcloud_iac_pulumi.postgresql", + "classes": { + "tencentcloud:Postgresql/account:Account": "Account" + } + }, + { + "pkg": "tencentcloud", + "mod": "Postgresql/accountPrivilegesOperation", + "fqn": "tencentcloud_iac_pulumi.postgresql", + "classes": { + "tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation": "AccountPrivilegesOperation" + } + }, { "pkg": "tencentcloud", "mod": "Postgresql/backupDownloadRestrictionConfig", @@ -5713,6 +5974,14 @@ "tencentcloud:Redis/instance:Instance": "Instance" } }, + { + "pkg": "tencentcloud", + "mod": "Redis/logDelivery", + "fqn": "tencentcloud_iac_pulumi.redis", + "classes": { + "tencentcloud:Redis/logDelivery:LogDelivery": "LogDelivery" + } + }, { "pkg": "tencentcloud", "mod": "Redis/maintenanceWindow", @@ -7153,6 +7422,14 @@ "tencentcloud:Teo/zoneSetting:ZoneSetting": "ZoneSetting" } }, + { + "pkg": "tencentcloud", + "mod": "Thpc/workspaces", + "fqn": "tencentcloud_iac_pulumi.thpc", + "classes": { + "tencentcloud:Thpc/workspaces:Workspaces": "Workspaces" + } + }, { "pkg": "tencentcloud", "mod": "Trocket/rocketmqConsumerGroup", @@ -7801,6 +8078,14 @@ "tencentcloud:Vpc/peerConnectRejectOperation:PeerConnectRejectOperation": "PeerConnectRejectOperation" } }, + { + "pkg": "tencentcloud", + "mod": "Vpc/privateNatGateway", + "fqn": "tencentcloud_iac_pulumi.vpc", + "classes": { + "tencentcloud:Vpc/privateNatGateway:PrivateNatGateway": "PrivateNatGateway" + } + }, { "pkg": "tencentcloud", "mod": "Vpc/resumeSnapshotInstance", diff --git a/sdk/python/tencentcloud_iac_pulumi/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/_inputs.py index 3b1fa8512..dc7597b68 100644 --- a/sdk/python/tencentcloud_iac_pulumi/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/_inputs.py @@ -11,6 +11,8 @@ __all__ = [ 'ProviderAssumeRoleArgs', + 'ProviderAssumeRoleWithSamlArgs', + 'ProviderAssumeRoleWithWebIdentityArgs', ] @pulumi.input_type @@ -81,3 +83,152 @@ def policy(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "policy", value) +@pulumi.input_type +class ProviderAssumeRoleWithSamlArgs: + def __init__(__self__, *, + principal_arn: pulumi.Input[str], + role_arn: pulumi.Input[str], + saml_assertion: pulumi.Input[str], + session_duration: pulumi.Input[int], + session_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] principal_arn: Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + :param pulumi.Input[str] role_arn: The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + :param pulumi.Input[str] saml_assertion: SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + :param pulumi.Input[int] session_duration: The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + :param pulumi.Input[str] session_name: The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + """ + pulumi.set(__self__, "principal_arn", principal_arn) + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "saml_assertion", saml_assertion) + pulumi.set(__self__, "session_duration", session_duration) + pulumi.set(__self__, "session_name", session_name) + + @property + @pulumi.getter(name="principalArn") + def principal_arn(self) -> pulumi.Input[str]: + """ + Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + """ + return pulumi.get(self, "principal_arn") + + @principal_arn.setter + def principal_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "principal_arn", value) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + """ + The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter(name="samlAssertion") + def saml_assertion(self) -> pulumi.Input[str]: + """ + SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + """ + return pulumi.get(self, "saml_assertion") + + @saml_assertion.setter + def saml_assertion(self, value: pulumi.Input[str]): + pulumi.set(self, "saml_assertion", value) + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> pulumi.Input[int]: + """ + The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + """ + return pulumi.get(self, "session_duration") + + @session_duration.setter + def session_duration(self, value: pulumi.Input[int]): + pulumi.set(self, "session_duration", value) + + @property + @pulumi.getter(name="sessionName") + def session_name(self) -> pulumi.Input[str]: + """ + The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + """ + return pulumi.get(self, "session_name") + + @session_name.setter + def session_name(self, value: pulumi.Input[str]): + pulumi.set(self, "session_name", value) + + +@pulumi.input_type +class ProviderAssumeRoleWithWebIdentityArgs: + def __init__(__self__, *, + role_arn: pulumi.Input[str], + session_duration: pulumi.Input[int], + session_name: pulumi.Input[str], + web_identity_token: pulumi.Input[str]): + """ + :param pulumi.Input[str] role_arn: The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + :param pulumi.Input[int] session_duration: The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + :param pulumi.Input[str] session_name: The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + :param pulumi.Input[str] web_identity_token: OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + """ + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "session_duration", session_duration) + pulumi.set(__self__, "session_name", session_name) + pulumi.set(__self__, "web_identity_token", web_identity_token) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + """ + The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> pulumi.Input[int]: + """ + The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + """ + return pulumi.get(self, "session_duration") + + @session_duration.setter + def session_duration(self, value: pulumi.Input[int]): + pulumi.set(self, "session_duration", value) + + @property + @pulumi.getter(name="sessionName") + def session_name(self) -> pulumi.Input[str]: + """ + The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + """ + return pulumi.get(self, "session_name") + + @session_name.setter + def session_name(self, value: pulumi.Input[str]): + pulumi.set(self, "session_name", value) + + @property + @pulumi.getter(name="webIdentityToken") + def web_identity_token(self) -> pulumi.Input[str]: + """ + OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + """ + return pulumi.get(self, "web_identity_token") + + @web_identity_token.setter + def web_identity_token(self, value: pulumi.Input[str]): + pulumi.set(self, "web_identity_token", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/as_/__init__.py b/sdk/python/tencentcloud_iac_pulumi/as_/__init__.py index afef9f2c3..b56d96d5a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/as_/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/as_/__init__.py @@ -27,6 +27,7 @@ from .scaling_group_status import * from .scaling_policy import * from .schedule import * +from .start_instance_refresh import * from .start_instances import * from .stop_instances import * from ._inputs import * diff --git a/sdk/python/tencentcloud_iac_pulumi/as_/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/as_/_inputs.py index f07ea1923..895e1a7f9 100644 --- a/sdk/python/tencentcloud_iac_pulumi/as_/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/as_/_inputs.py @@ -10,6 +10,7 @@ from .. import _utilities __all__ = [ + 'LifecycleHookLifecycleCommandArgs', 'LoadBalancerForwardLoadBalancerArgs', 'LoadBalancerForwardLoadBalancerTargetAttributeArgs', 'ScalingConfigDataDiskArgs', @@ -17,9 +18,49 @@ 'ScalingConfigInstanceNameSettingsArgs', 'ScalingGroupForwardBalancerIdArgs', 'ScalingGroupForwardBalancerIdTargetAttributeArgs', + 'StartInstanceRefreshRefreshSettingsArgs', + 'StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs', 'GetInstancesFilterArgs', ] +@pulumi.input_type +class LifecycleHookLifecycleCommandArgs: + def __init__(__self__, *, + command_id: pulumi.Input[str], + parameters: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] command_id: Remote command ID. It is required to execute a command. + :param pulumi.Input[str] parameters: Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + """ + pulumi.set(__self__, "command_id", command_id) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter(name="commandId") + def command_id(self) -> pulumi.Input[str]: + """ + Remote command ID. It is required to execute a command. + """ + return pulumi.get(self, "command_id") + + @command_id.setter + def command_id(self, value: pulumi.Input[str]): + pulumi.set(self, "command_id", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[str]]: + """ + Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "parameters", value) + + @pulumi.input_type class LoadBalancerForwardLoadBalancerArgs: def __init__(__self__, *, @@ -393,6 +434,82 @@ def weight(self, value: pulumi.Input[int]): pulumi.set(self, "weight", value) +@pulumi.input_type +class StartInstanceRefreshRefreshSettingsArgs: + def __init__(__self__, *, + rolling_update_settings: pulumi.Input['StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs'], + check_instance_target_health: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input['StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs'] rolling_update_settings: Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[bool] check_instance_target_health: Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + """ + pulumi.set(__self__, "rolling_update_settings", rolling_update_settings) + if check_instance_target_health is not None: + pulumi.set(__self__, "check_instance_target_health", check_instance_target_health) + + @property + @pulumi.getter(name="rollingUpdateSettings") + def rolling_update_settings(self) -> pulumi.Input['StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs']: + """ + Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "rolling_update_settings") + + @rolling_update_settings.setter + def rolling_update_settings(self, value: pulumi.Input['StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs']): + pulumi.set(self, "rolling_update_settings", value) + + @property + @pulumi.getter(name="checkInstanceTargetHealth") + def check_instance_target_health(self) -> Optional[pulumi.Input[bool]]: + """ + Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + """ + return pulumi.get(self, "check_instance_target_health") + + @check_instance_target_health.setter + def check_instance_target_health(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "check_instance_target_health", value) + + +@pulumi.input_type +class StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs: + def __init__(__self__, *, + batch_number: pulumi.Input[int], + batch_pause: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] batch_number: Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + :param pulumi.Input[str] batch_pause: Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + """ + pulumi.set(__self__, "batch_number", batch_number) + if batch_pause is not None: + pulumi.set(__self__, "batch_pause", batch_pause) + + @property + @pulumi.getter(name="batchNumber") + def batch_number(self) -> pulumi.Input[int]: + """ + Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + """ + return pulumi.get(self, "batch_number") + + @batch_number.setter + def batch_number(self, value: pulumi.Input[int]): + pulumi.set(self, "batch_number", value) + + @property + @pulumi.getter(name="batchPause") + def batch_pause(self) -> Optional[pulumi.Input[str]]: + """ + Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + """ + return pulumi.get(self, "batch_pause") + + @batch_pause.setter + def batch_pause(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "batch_pause", value) + + @pulumi.input_type class GetInstancesFilterArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/as_/lifecycle_hook.py b/sdk/python/tencentcloud_iac_pulumi/as_/lifecycle_hook.py index f0ad6a628..0d159d683 100644 --- a/sdk/python/tencentcloud_iac_pulumi/as_/lifecycle_hook.py +++ b/sdk/python/tencentcloud_iac_pulumi/as_/lifecycle_hook.py @@ -8,6 +8,8 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['LifecycleHookArgs', 'LifecycleHook'] @@ -19,6 +21,7 @@ def __init__(__self__, *, scaling_group_id: pulumi.Input[str], default_result: Optional[pulumi.Input[str]] = None, heartbeat_timeout: Optional[pulumi.Input[int]] = None, + lifecycle_command: Optional[pulumi.Input['LifecycleHookLifecycleCommandArgs']] = None, notification_metadata: Optional[pulumi.Input[str]] = None, notification_queue_name: Optional[pulumi.Input[str]] = None, notification_target_type: Optional[pulumi.Input[str]] = None, @@ -30,9 +33,10 @@ def __init__(__self__, *, :param pulumi.Input[str] scaling_group_id: ID of a scaling group. :param pulumi.Input[str] default_result: Defines the action the AS group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. Valid values: `CONTINUE` and `ABANDON`. The default value is `CONTINUE`. :param pulumi.Input[int] heartbeat_timeout: Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. + :param pulumi.Input['LifecycleHookLifecycleCommandArgs'] lifecycle_command: Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. :param pulumi.Input[str] notification_metadata: Contains additional information that you want to include any time AS sends a message to the notification target. :param pulumi.Input[str] notification_queue_name: For CMQ_QUEUE type, a name of queue must be set. - :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. :param pulumi.Input[str] notification_topic_name: For CMQ_TOPIC type, a name of topic must be set. """ pulumi.set(__self__, "lifecycle_hook_name", lifecycle_hook_name) @@ -42,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "default_result", default_result) if heartbeat_timeout is not None: pulumi.set(__self__, "heartbeat_timeout", heartbeat_timeout) + if lifecycle_command is not None: + pulumi.set(__self__, "lifecycle_command", lifecycle_command) if notification_metadata is not None: pulumi.set(__self__, "notification_metadata", notification_metadata) if notification_queue_name is not None: @@ -111,6 +117,18 @@ def heartbeat_timeout(self) -> Optional[pulumi.Input[int]]: def heartbeat_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "heartbeat_timeout", value) + @property + @pulumi.getter(name="lifecycleCommand") + def lifecycle_command(self) -> Optional[pulumi.Input['LifecycleHookLifecycleCommandArgs']]: + """ + Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + """ + return pulumi.get(self, "lifecycle_command") + + @lifecycle_command.setter + def lifecycle_command(self, value: Optional[pulumi.Input['LifecycleHookLifecycleCommandArgs']]): + pulumi.set(self, "lifecycle_command", value) + @property @pulumi.getter(name="notificationMetadata") def notification_metadata(self) -> Optional[pulumi.Input[str]]: @@ -139,7 +157,7 @@ def notification_queue_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="notificationTargetType") def notification_target_type(self) -> Optional[pulumi.Input[str]]: """ - Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. """ return pulumi.get(self, "notification_target_type") @@ -165,6 +183,7 @@ class _LifecycleHookState: def __init__(__self__, *, default_result: Optional[pulumi.Input[str]] = None, heartbeat_timeout: Optional[pulumi.Input[int]] = None, + lifecycle_command: Optional[pulumi.Input['LifecycleHookLifecycleCommandArgs']] = None, lifecycle_hook_name: Optional[pulumi.Input[str]] = None, lifecycle_transition: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, @@ -176,11 +195,12 @@ def __init__(__self__, *, Input properties used for looking up and filtering LifecycleHook resources. :param pulumi.Input[str] default_result: Defines the action the AS group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. Valid values: `CONTINUE` and `ABANDON`. The default value is `CONTINUE`. :param pulumi.Input[int] heartbeat_timeout: Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. + :param pulumi.Input['LifecycleHookLifecycleCommandArgs'] lifecycle_command: Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. :param pulumi.Input[str] lifecycle_hook_name: The name of the lifecycle hook. :param pulumi.Input[str] lifecycle_transition: The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. :param pulumi.Input[str] notification_metadata: Contains additional information that you want to include any time AS sends a message to the notification target. :param pulumi.Input[str] notification_queue_name: For CMQ_QUEUE type, a name of queue must be set. - :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. :param pulumi.Input[str] notification_topic_name: For CMQ_TOPIC type, a name of topic must be set. :param pulumi.Input[str] scaling_group_id: ID of a scaling group. """ @@ -188,6 +208,8 @@ def __init__(__self__, *, pulumi.set(__self__, "default_result", default_result) if heartbeat_timeout is not None: pulumi.set(__self__, "heartbeat_timeout", heartbeat_timeout) + if lifecycle_command is not None: + pulumi.set(__self__, "lifecycle_command", lifecycle_command) if lifecycle_hook_name is not None: pulumi.set(__self__, "lifecycle_hook_name", lifecycle_hook_name) if lifecycle_transition is not None: @@ -227,6 +249,18 @@ def heartbeat_timeout(self) -> Optional[pulumi.Input[int]]: def heartbeat_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "heartbeat_timeout", value) + @property + @pulumi.getter(name="lifecycleCommand") + def lifecycle_command(self) -> Optional[pulumi.Input['LifecycleHookLifecycleCommandArgs']]: + """ + Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + """ + return pulumi.get(self, "lifecycle_command") + + @lifecycle_command.setter + def lifecycle_command(self, value: Optional[pulumi.Input['LifecycleHookLifecycleCommandArgs']]): + pulumi.set(self, "lifecycle_command", value) + @property @pulumi.getter(name="lifecycleHookName") def lifecycle_hook_name(self) -> Optional[pulumi.Input[str]]: @@ -279,7 +313,7 @@ def notification_queue_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="notificationTargetType") def notification_target_type(self) -> Optional[pulumi.Input[str]]: """ - Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. """ return pulumi.get(self, "notification_target_type") @@ -319,6 +353,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, default_result: Optional[pulumi.Input[str]] = None, heartbeat_timeout: Optional[pulumi.Input[int]] = None, + lifecycle_command: Optional[pulumi.Input[pulumi.InputType['LifecycleHookLifecycleCommandArgs']]] = None, lifecycle_hook_name: Optional[pulumi.Input[str]] = None, lifecycle_transition: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, @@ -411,15 +446,43 @@ def __init__(__self__, ``` + ### Use TAT Command + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.as_.LifecycleHook("example", + default_result="CONTINUE", + heartbeat_timeout=300, + lifecycle_hook_name="test", + lifecycle_transition="INSTANCE_TERMINATING", + scaling_group_id=tencentcloud_as_scaling_group["example"]["id"], + lifecycle_command=tencentcloud.as_.LifecycleHookLifecycleCommandArgs( + command_id="cmd-xxxx", + )) + ``` + + + ## Import + + lifecycle hook can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:As/lifecycleHook:LifecycleHook example lifecycle_hook_id + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] default_result: Defines the action the AS group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. Valid values: `CONTINUE` and `ABANDON`. The default value is `CONTINUE`. :param pulumi.Input[int] heartbeat_timeout: Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. + :param pulumi.Input[pulumi.InputType['LifecycleHookLifecycleCommandArgs']] lifecycle_command: Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. :param pulumi.Input[str] lifecycle_hook_name: The name of the lifecycle hook. :param pulumi.Input[str] lifecycle_transition: The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. :param pulumi.Input[str] notification_metadata: Contains additional information that you want to include any time AS sends a message to the notification target. :param pulumi.Input[str] notification_queue_name: For CMQ_QUEUE type, a name of queue must be set. - :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. :param pulumi.Input[str] notification_topic_name: For CMQ_TOPIC type, a name of topic must be set. :param pulumi.Input[str] scaling_group_id: ID of a scaling group. """ @@ -513,6 +576,33 @@ def __init__(__self__, ``` + ### Use TAT Command + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.as_.LifecycleHook("example", + default_result="CONTINUE", + heartbeat_timeout=300, + lifecycle_hook_name="test", + lifecycle_transition="INSTANCE_TERMINATING", + scaling_group_id=tencentcloud_as_scaling_group["example"]["id"], + lifecycle_command=tencentcloud.as_.LifecycleHookLifecycleCommandArgs( + command_id="cmd-xxxx", + )) + ``` + + + ## Import + + lifecycle hook can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:As/lifecycleHook:LifecycleHook example lifecycle_hook_id + ``` + :param str resource_name: The name of the resource. :param LifecycleHookArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -530,6 +620,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, default_result: Optional[pulumi.Input[str]] = None, heartbeat_timeout: Optional[pulumi.Input[int]] = None, + lifecycle_command: Optional[pulumi.Input[pulumi.InputType['LifecycleHookLifecycleCommandArgs']]] = None, lifecycle_hook_name: Optional[pulumi.Input[str]] = None, lifecycle_transition: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, @@ -548,6 +639,7 @@ def _internal_init(__self__, __props__.__dict__["default_result"] = default_result __props__.__dict__["heartbeat_timeout"] = heartbeat_timeout + __props__.__dict__["lifecycle_command"] = lifecycle_command if lifecycle_hook_name is None and not opts.urn: raise TypeError("Missing required property 'lifecycle_hook_name'") __props__.__dict__["lifecycle_hook_name"] = lifecycle_hook_name @@ -573,6 +665,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, default_result: Optional[pulumi.Input[str]] = None, heartbeat_timeout: Optional[pulumi.Input[int]] = None, + lifecycle_command: Optional[pulumi.Input[pulumi.InputType['LifecycleHookLifecycleCommandArgs']]] = None, lifecycle_hook_name: Optional[pulumi.Input[str]] = None, lifecycle_transition: Optional[pulumi.Input[str]] = None, notification_metadata: Optional[pulumi.Input[str]] = None, @@ -589,11 +682,12 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] default_result: Defines the action the AS group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. Valid values: `CONTINUE` and `ABANDON`. The default value is `CONTINUE`. :param pulumi.Input[int] heartbeat_timeout: Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. Valid value ranges: (30~7200). and default value is `300`. + :param pulumi.Input[pulumi.InputType['LifecycleHookLifecycleCommandArgs']] lifecycle_command: Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. :param pulumi.Input[str] lifecycle_hook_name: The name of the lifecycle hook. :param pulumi.Input[str] lifecycle_transition: The instance state to which you want to attach the lifecycle hook. Valid values: `INSTANCE_LAUNCHING` and `INSTANCE_TERMINATING`. :param pulumi.Input[str] notification_metadata: Contains additional information that you want to include any time AS sends a message to the notification target. :param pulumi.Input[str] notification_queue_name: For CMQ_QUEUE type, a name of queue must be set. - :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + :param pulumi.Input[str] notification_target_type: Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. :param pulumi.Input[str] notification_topic_name: For CMQ_TOPIC type, a name of topic must be set. :param pulumi.Input[str] scaling_group_id: ID of a scaling group. """ @@ -603,6 +697,7 @@ def get(resource_name: str, __props__.__dict__["default_result"] = default_result __props__.__dict__["heartbeat_timeout"] = heartbeat_timeout + __props__.__dict__["lifecycle_command"] = lifecycle_command __props__.__dict__["lifecycle_hook_name"] = lifecycle_hook_name __props__.__dict__["lifecycle_transition"] = lifecycle_transition __props__.__dict__["notification_metadata"] = notification_metadata @@ -628,6 +723,14 @@ def heartbeat_timeout(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "heartbeat_timeout") + @property + @pulumi.getter(name="lifecycleCommand") + def lifecycle_command(self) -> pulumi.Output['outputs.LifecycleHookLifecycleCommand']: + """ + Remote command execution object. `NotificationTarget` and `LifecycleCommand` cannot be specified at the same time. + """ + return pulumi.get(self, "lifecycle_command") + @property @pulumi.getter(name="lifecycleHookName") def lifecycle_hook_name(self) -> pulumi.Output[str]: @@ -664,7 +767,7 @@ def notification_queue_name(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="notificationTargetType") def notification_target_type(self) -> pulumi.Output[Optional[str]]: """ - Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`. + Target type. Valid values: `CMQ_QUEUE`, `CMQ_TOPIC`, `TDMQ_CMQ_QUEUE`, `TDMQ_CMQ_TOPIC`. """ return pulumi.get(self, "notification_target_type") diff --git a/sdk/python/tencentcloud_iac_pulumi/as_/outputs.py b/sdk/python/tencentcloud_iac_pulumi/as_/outputs.py index 957b2749c..00ed028e7 100644 --- a/sdk/python/tencentcloud_iac_pulumi/as_/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/as_/outputs.py @@ -11,6 +11,7 @@ from . import outputs __all__ = [ + 'LifecycleHookLifecycleCommand', 'LoadBalancerForwardLoadBalancer', 'LoadBalancerForwardLoadBalancerTargetAttribute', 'ScalingConfigDataDisk', @@ -18,6 +19,8 @@ 'ScalingConfigInstanceNameSettings', 'ScalingGroupForwardBalancerId', 'ScalingGroupForwardBalancerIdTargetAttribute', + 'StartInstanceRefreshRefreshSettings', + 'StartInstanceRefreshRefreshSettingsRollingUpdateSettings', 'GetAdvicesAutoScalingAdviceSetResult', 'GetAdvicesAutoScalingAdviceSetAdviceResult', 'GetInstancesFilterResult', @@ -35,6 +38,53 @@ 'GetScalingPoliciesScalingPolicyListResult', ] +@pulumi.output_type +class LifecycleHookLifecycleCommand(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "commandId": + suggest = "command_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LifecycleHookLifecycleCommand. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LifecycleHookLifecycleCommand.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LifecycleHookLifecycleCommand.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + command_id: str, + parameters: Optional[str] = None): + """ + :param str command_id: Remote command ID. It is required to execute a command. + :param str parameters: Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + """ + pulumi.set(__self__, "command_id", command_id) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter(name="commandId") + def command_id(self) -> str: + """ + Remote command ID. It is required to execute a command. + """ + return pulumi.get(self, "command_id") + + @property + @pulumi.getter + def parameters(self) -> Optional[str]: + """ + Custom parameter. The field type is JSON encoded string. For example, {"varA": "222"}. + """ + return pulumi.get(self, "parameters") + + @pulumi.output_type class LoadBalancerForwardLoadBalancer(dict): @staticmethod @@ -431,6 +481,104 @@ def weight(self) -> int: return pulumi.get(self, "weight") +@pulumi.output_type +class StartInstanceRefreshRefreshSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "rollingUpdateSettings": + suggest = "rolling_update_settings" + elif key == "checkInstanceTargetHealth": + suggest = "check_instance_target_health" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StartInstanceRefreshRefreshSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StartInstanceRefreshRefreshSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StartInstanceRefreshRefreshSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + rolling_update_settings: 'outputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettings', + check_instance_target_health: Optional[bool] = None): + """ + :param 'StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs' rolling_update_settings: Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + :param bool check_instance_target_health: Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + """ + pulumi.set(__self__, "rolling_update_settings", rolling_update_settings) + if check_instance_target_health is not None: + pulumi.set(__self__, "check_instance_target_health", check_instance_target_health) + + @property + @pulumi.getter(name="rollingUpdateSettings") + def rolling_update_settings(self) -> 'outputs.StartInstanceRefreshRefreshSettingsRollingUpdateSettings': + """ + Rolling update settings parameters. RefreshMode is the rolling update. This parameter must be filled in.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "rolling_update_settings") + + @property + @pulumi.getter(name="checkInstanceTargetHealth") + def check_instance_target_health(self) -> Optional[bool]: + """ + Backend service health check status for instances, defaults to FALSE. This setting takes effect only for scaling groups bound with application load balancers. When enabled, if an instance fails the check after being refreshed, its load balancer port weight remains 0 and is marked as a refresh failure. Valid values:
  • TRUE: Enable the check.
  • FALSE: Do not enable the check. + """ + return pulumi.get(self, "check_instance_target_health") + + +@pulumi.output_type +class StartInstanceRefreshRefreshSettingsRollingUpdateSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "batchNumber": + suggest = "batch_number" + elif key == "batchPause": + suggest = "batch_pause" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StartInstanceRefreshRefreshSettingsRollingUpdateSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StartInstanceRefreshRefreshSettingsRollingUpdateSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StartInstanceRefreshRefreshSettingsRollingUpdateSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + batch_number: int, + batch_pause: Optional[str] = None): + """ + :param int batch_number: Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + :param str batch_pause: Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + """ + pulumi.set(__self__, "batch_number", batch_number) + if batch_pause is not None: + pulumi.set(__self__, "batch_pause", batch_pause) + + @property + @pulumi.getter(name="batchNumber") + def batch_number(self) -> int: + """ + Batch quantity. The batch quantity should be a positive integer greater than 0, but cannot exceed the total number of instances pending refresh. + """ + return pulumi.get(self, "batch_number") + + @property + @pulumi.getter(name="batchPause") + def batch_pause(self) -> Optional[str]: + """ + Pause policy between batches. Default value: Automatic. Valid values:
  • FIRST_BATCH_PAUSE: Pause after the first batch update completes.
  • BATCH_INTERVAL_PAUSE: Pause between each batch update.
  • AUTOMATIC: No pauses. + """ + return pulumi.get(self, "batch_pause") + + @pulumi.output_type class GetAdvicesAutoScalingAdviceSetResult(dict): def __init__(__self__, *, @@ -1154,7 +1302,8 @@ def __init__(__self__, *, status: str, system_disk_size: int, system_disk_type: str, - user_data: str): + user_data: str, + version_number: int): """ :param str configuration_id: Launch configuration ID. :param str configuration_name: Launch configuration name. @@ -1176,6 +1325,7 @@ def __init__(__self__, *, :param int system_disk_size: System disk size of the scaling configuration in GB. :param str system_disk_type: System disk category of the scaling configuration. :param str user_data: Base64-encoded User Data text. + :param int version_number: Version Number. """ pulumi.set(__self__, "configuration_id", configuration_id) pulumi.set(__self__, "configuration_name", configuration_name) @@ -1197,6 +1347,7 @@ def __init__(__self__, *, pulumi.set(__self__, "system_disk_size", system_disk_size) pulumi.set(__self__, "system_disk_type", system_disk_type) pulumi.set(__self__, "user_data", user_data) + pulumi.set(__self__, "version_number", version_number) @property @pulumi.getter(name="configurationId") @@ -1358,6 +1509,14 @@ def user_data(self) -> str: """ return pulumi.get(self, "user_data") + @property + @pulumi.getter(name="versionNumber") + def version_number(self) -> int: + """ + Version Number. + """ + return pulumi.get(self, "version_number") + @pulumi.output_type class GetScalingConfigsConfigurationListDataDiskResult(dict): diff --git a/sdk/python/tencentcloud_iac_pulumi/as_/scaling_group.py b/sdk/python/tencentcloud_iac_pulumi/as_/scaling_group.py index 1de033ed4..035fa0d06 100644 --- a/sdk/python/tencentcloud_iac_pulumi/as_/scaling_group.py +++ b/sdk/python/tencentcloud_iac_pulumi/as_/scaling_group.py @@ -24,6 +24,8 @@ def __init__(__self__, *, default_cooldown: Optional[pulumi.Input[int]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, forward_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingGroupForwardBalancerIdArgs']]]] = None, + health_check_type: Optional[pulumi.Input[str]] = None, + lb_health_check_grace_period: Optional[pulumi.Input[int]] = None, load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, multi_zone_subnet_policy: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, @@ -45,6 +47,8 @@ def __init__(__self__, *, :param pulumi.Input[int] default_cooldown: Default cooldown time in second, and default value is `300`. :param pulumi.Input[int] desired_capacity: Desired volume of CVM instances, which is between `max_size` and `min_size`. :param pulumi.Input[Sequence[pulumi.Input['ScalingGroupForwardBalancerIdArgs']]] forward_balancer_ids: List of application load balancers, which can't be specified with `load_balancer_ids` together. + :param pulumi.Input[str] health_check_type: Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + :param pulumi.Input[int] lb_health_check_grace_period: Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. :param pulumi.Input[Sequence[pulumi.Input[str]]] load_balancer_ids: ID list of traditional load balancers. :param pulumi.Input[str] multi_zone_subnet_policy: Multi zone or subnet strategy, Valid values: PRIORITY and EQUALITY. :param pulumi.Input[int] project_id: Specifies to which project the scaling group belongs. @@ -68,6 +72,10 @@ def __init__(__self__, *, pulumi.set(__self__, "desired_capacity", desired_capacity) if forward_balancer_ids is not None: pulumi.set(__self__, "forward_balancer_ids", forward_balancer_ids) + if health_check_type is not None: + pulumi.set(__self__, "health_check_type", health_check_type) + if lb_health_check_grace_period is not None: + pulumi.set(__self__, "lb_health_check_grace_period", lb_health_check_grace_period) if load_balancer_ids is not None: pulumi.set(__self__, "load_balancer_ids", load_balancer_ids) if multi_zone_subnet_policy is not None: @@ -187,6 +195,30 @@ def forward_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['S def forward_balancer_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingGroupForwardBalancerIdArgs']]]]): pulumi.set(self, "forward_balancer_ids", value) + @property + @pulumi.getter(name="healthCheckType") + def health_check_type(self) -> Optional[pulumi.Input[str]]: + """ + Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + """ + return pulumi.get(self, "health_check_type") + + @health_check_type.setter + def health_check_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "health_check_type", value) + + @property + @pulumi.getter(name="lbHealthCheckGracePeriod") + def lb_health_check_grace_period(self) -> Optional[pulumi.Input[int]]: + """ + Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + """ + return pulumi.get(self, "lb_health_check_grace_period") + + @lb_health_check_grace_period.setter + def lb_health_check_grace_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "lb_health_check_grace_period", value) + @property @pulumi.getter(name="loadBalancerIds") def load_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -328,7 +360,9 @@ def __init__(__self__, *, default_cooldown: Optional[pulumi.Input[int]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, forward_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingGroupForwardBalancerIdArgs']]]] = None, + health_check_type: Optional[pulumi.Input[str]] = None, instance_count: Optional[pulumi.Input[int]] = None, + lb_health_check_grace_period: Optional[pulumi.Input[int]] = None, load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, max_size: Optional[pulumi.Input[int]] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -352,7 +386,9 @@ def __init__(__self__, *, :param pulumi.Input[int] default_cooldown: Default cooldown time in second, and default value is `300`. :param pulumi.Input[int] desired_capacity: Desired volume of CVM instances, which is between `max_size` and `min_size`. :param pulumi.Input[Sequence[pulumi.Input['ScalingGroupForwardBalancerIdArgs']]] forward_balancer_ids: List of application load balancers, which can't be specified with `load_balancer_ids` together. + :param pulumi.Input[str] health_check_type: Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. :param pulumi.Input[int] instance_count: Instance number of a scaling group. + :param pulumi.Input[int] lb_health_check_grace_period: Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. :param pulumi.Input[Sequence[pulumi.Input[str]]] load_balancer_ids: ID list of traditional load balancers. :param pulumi.Input[int] max_size: Maximum number of CVM instances. Valid value ranges: (0~2000). :param pulumi.Input[int] min_size: Minimum number of CVM instances. Valid value ranges: (0~2000). @@ -380,8 +416,12 @@ def __init__(__self__, *, pulumi.set(__self__, "desired_capacity", desired_capacity) if forward_balancer_ids is not None: pulumi.set(__self__, "forward_balancer_ids", forward_balancer_ids) + if health_check_type is not None: + pulumi.set(__self__, "health_check_type", health_check_type) if instance_count is not None: pulumi.set(__self__, "instance_count", instance_count) + if lb_health_check_grace_period is not None: + pulumi.set(__self__, "lb_health_check_grace_period", lb_health_check_grace_period) if load_balancer_ids is not None: pulumi.set(__self__, "load_balancer_ids", load_balancer_ids) if max_size is not None: @@ -475,6 +515,18 @@ def forward_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['S def forward_balancer_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingGroupForwardBalancerIdArgs']]]]): pulumi.set(self, "forward_balancer_ids", value) + @property + @pulumi.getter(name="healthCheckType") + def health_check_type(self) -> Optional[pulumi.Input[str]]: + """ + Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + """ + return pulumi.get(self, "health_check_type") + + @health_check_type.setter + def health_check_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "health_check_type", value) + @property @pulumi.getter(name="instanceCount") def instance_count(self) -> Optional[pulumi.Input[int]]: @@ -487,6 +539,18 @@ def instance_count(self) -> Optional[pulumi.Input[int]]: def instance_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "instance_count", value) + @property + @pulumi.getter(name="lbHealthCheckGracePeriod") + def lb_health_check_grace_period(self) -> Optional[pulumi.Input[int]]: + """ + Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + """ + return pulumi.get(self, "lb_health_check_grace_period") + + @lb_health_check_grace_period.setter + def lb_health_check_grace_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "lb_health_check_grace_period", value) + @property @pulumi.getter(name="loadBalancerIds") def load_balancer_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -689,6 +753,8 @@ def __init__(__self__, default_cooldown: Optional[pulumi.Input[int]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, forward_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingGroupForwardBalancerIdArgs']]]]] = None, + health_check_type: Optional[pulumi.Input[str]] = None, + lb_health_check_grace_period: Optional[pulumi.Input[int]] = None, load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, max_size: Optional[pulumi.Input[int]] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -744,7 +810,10 @@ def __init__(__self__, max_size=1, min_size=0, vpc_id=vpc.id, - subnet_ids=[subnet.id]) + subnet_ids=[subnet.id], + health_check_type="CLB", + replace_load_balancer_unhealthy=True, + lb_health_check_grace_period=30) ``` @@ -762,6 +831,8 @@ def __init__(__self__, :param pulumi.Input[int] default_cooldown: Default cooldown time in second, and default value is `300`. :param pulumi.Input[int] desired_capacity: Desired volume of CVM instances, which is between `max_size` and `min_size`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingGroupForwardBalancerIdArgs']]]] forward_balancer_ids: List of application load balancers, which can't be specified with `load_balancer_ids` together. + :param pulumi.Input[str] health_check_type: Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + :param pulumi.Input[int] lb_health_check_grace_period: Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. :param pulumi.Input[Sequence[pulumi.Input[str]]] load_balancer_ids: ID list of traditional load balancers. :param pulumi.Input[int] max_size: Maximum number of CVM instances. Valid value ranges: (0~2000). :param pulumi.Input[int] min_size: Minimum number of CVM instances. Valid value ranges: (0~2000). @@ -823,7 +894,10 @@ def __init__(__self__, max_size=1, min_size=0, vpc_id=vpc.id, - subnet_ids=[subnet.id]) + subnet_ids=[subnet.id], + health_check_type="CLB", + replace_load_balancer_unhealthy=True, + lb_health_check_grace_period=30) ``` @@ -854,6 +928,8 @@ def _internal_init(__self__, default_cooldown: Optional[pulumi.Input[int]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, forward_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingGroupForwardBalancerIdArgs']]]]] = None, + health_check_type: Optional[pulumi.Input[str]] = None, + lb_health_check_grace_period: Optional[pulumi.Input[int]] = None, load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, max_size: Optional[pulumi.Input[int]] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -884,6 +960,8 @@ def _internal_init(__self__, __props__.__dict__["default_cooldown"] = default_cooldown __props__.__dict__["desired_capacity"] = desired_capacity __props__.__dict__["forward_balancer_ids"] = forward_balancer_ids + __props__.__dict__["health_check_type"] = health_check_type + __props__.__dict__["lb_health_check_grace_period"] = lb_health_check_grace_period __props__.__dict__["load_balancer_ids"] = load_balancer_ids if max_size is None and not opts.urn: raise TypeError("Missing required property 'max_size'") @@ -925,7 +1003,9 @@ def get(resource_name: str, default_cooldown: Optional[pulumi.Input[int]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, forward_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingGroupForwardBalancerIdArgs']]]]] = None, + health_check_type: Optional[pulumi.Input[str]] = None, instance_count: Optional[pulumi.Input[int]] = None, + lb_health_check_grace_period: Optional[pulumi.Input[int]] = None, load_balancer_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, max_size: Optional[pulumi.Input[int]] = None, min_size: Optional[pulumi.Input[int]] = None, @@ -954,7 +1034,9 @@ def get(resource_name: str, :param pulumi.Input[int] default_cooldown: Default cooldown time in second, and default value is `300`. :param pulumi.Input[int] desired_capacity: Desired volume of CVM instances, which is between `max_size` and `min_size`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScalingGroupForwardBalancerIdArgs']]]] forward_balancer_ids: List of application load balancers, which can't be specified with `load_balancer_ids` together. + :param pulumi.Input[str] health_check_type: Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. :param pulumi.Input[int] instance_count: Instance number of a scaling group. + :param pulumi.Input[int] lb_health_check_grace_period: Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. :param pulumi.Input[Sequence[pulumi.Input[str]]] load_balancer_ids: ID list of traditional load balancers. :param pulumi.Input[int] max_size: Maximum number of CVM instances. Valid value ranges: (0~2000). :param pulumi.Input[int] min_size: Minimum number of CVM instances. Valid value ranges: (0~2000). @@ -981,7 +1063,9 @@ def get(resource_name: str, __props__.__dict__["default_cooldown"] = default_cooldown __props__.__dict__["desired_capacity"] = desired_capacity __props__.__dict__["forward_balancer_ids"] = forward_balancer_ids + __props__.__dict__["health_check_type"] = health_check_type __props__.__dict__["instance_count"] = instance_count + __props__.__dict__["lb_health_check_grace_period"] = lb_health_check_grace_period __props__.__dict__["load_balancer_ids"] = load_balancer_ids __props__.__dict__["max_size"] = max_size __props__.__dict__["min_size"] = min_size @@ -1040,6 +1124,14 @@ def forward_balancer_ids(self) -> pulumi.Output[Optional[Sequence['outputs.Scali """ return pulumi.get(self, "forward_balancer_ids") + @property + @pulumi.getter(name="healthCheckType") + def health_check_type(self) -> pulumi.Output[str]: + """ + Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see [Instance Health Check](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1).
    If the parameter is set to `CLB`, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the `HealthStatus` field will return `UNHEALTHY`. If the CLB health check indicates unhealthy, the `HealthStatus` field will return `CLB_UNHEALTHY`. If both checks indicate unhealthy, the `HealthStatus` field will return `UNHEALTHY|CLB_UNHEALTHY`. Default value: `CLB`. + """ + return pulumi.get(self, "health_check_type") + @property @pulumi.getter(name="instanceCount") def instance_count(self) -> pulumi.Output[int]: @@ -1048,6 +1140,14 @@ def instance_count(self) -> pulumi.Output[int]: """ return pulumi.get(self, "instance_count") + @property + @pulumi.getter(name="lbHealthCheckGracePeriod") + def lb_health_check_grace_period(self) -> pulumi.Output[int]: + """ + Grace period of the CLB health check during which the `IN_SERVICE` instances added will not be marked as `CLB_UNHEALTHY`.
    Valid range: 0-7200, in seconds. Default value: `0`. + """ + return pulumi.get(self, "lb_health_check_grace_period") + @property @pulumi.getter(name="loadBalancerIds") def load_balancer_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/as_/start_instance_refresh.py b/sdk/python/tencentcloud_iac_pulumi/as_/start_instance_refresh.py new file mode 100644 index 000000000..589d1e5e0 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/as_/start_instance_refresh.py @@ -0,0 +1,283 @@ +# 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__ = ['StartInstanceRefreshArgs', 'StartInstanceRefresh'] + +@pulumi.input_type +class StartInstanceRefreshArgs: + def __init__(__self__, *, + auto_scaling_group_id: pulumi.Input[str], + refresh_settings: pulumi.Input['StartInstanceRefreshRefreshSettingsArgs'], + refresh_mode: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a StartInstanceRefresh resource. + :param pulumi.Input[str] auto_scaling_group_id: Scaling group ID. + :param pulumi.Input['StartInstanceRefreshRefreshSettingsArgs'] refresh_settings: Refresh settings. + :param pulumi.Input[str] refresh_mode: Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + """ + pulumi.set(__self__, "auto_scaling_group_id", auto_scaling_group_id) + pulumi.set(__self__, "refresh_settings", refresh_settings) + if refresh_mode is not None: + pulumi.set(__self__, "refresh_mode", refresh_mode) + + @property + @pulumi.getter(name="autoScalingGroupId") + def auto_scaling_group_id(self) -> pulumi.Input[str]: + """ + Scaling group ID. + """ + return pulumi.get(self, "auto_scaling_group_id") + + @auto_scaling_group_id.setter + def auto_scaling_group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "auto_scaling_group_id", value) + + @property + @pulumi.getter(name="refreshSettings") + def refresh_settings(self) -> pulumi.Input['StartInstanceRefreshRefreshSettingsArgs']: + """ + Refresh settings. + """ + return pulumi.get(self, "refresh_settings") + + @refresh_settings.setter + def refresh_settings(self, value: pulumi.Input['StartInstanceRefreshRefreshSettingsArgs']): + pulumi.set(self, "refresh_settings", value) + + @property + @pulumi.getter(name="refreshMode") + def refresh_mode(self) -> Optional[pulumi.Input[str]]: + """ + Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + """ + return pulumi.get(self, "refresh_mode") + + @refresh_mode.setter + def refresh_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "refresh_mode", value) + + +@pulumi.input_type +class _StartInstanceRefreshState: + def __init__(__self__, *, + auto_scaling_group_id: Optional[pulumi.Input[str]] = None, + refresh_mode: Optional[pulumi.Input[str]] = None, + refresh_settings: Optional[pulumi.Input['StartInstanceRefreshRefreshSettingsArgs']] = None): + """ + Input properties used for looking up and filtering StartInstanceRefresh resources. + :param pulumi.Input[str] auto_scaling_group_id: Scaling group ID. + :param pulumi.Input[str] refresh_mode: Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + :param pulumi.Input['StartInstanceRefreshRefreshSettingsArgs'] refresh_settings: Refresh settings. + """ + if auto_scaling_group_id is not None: + pulumi.set(__self__, "auto_scaling_group_id", auto_scaling_group_id) + if refresh_mode is not None: + pulumi.set(__self__, "refresh_mode", refresh_mode) + if refresh_settings is not None: + pulumi.set(__self__, "refresh_settings", refresh_settings) + + @property + @pulumi.getter(name="autoScalingGroupId") + def auto_scaling_group_id(self) -> Optional[pulumi.Input[str]]: + """ + Scaling group ID. + """ + return pulumi.get(self, "auto_scaling_group_id") + + @auto_scaling_group_id.setter + def auto_scaling_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auto_scaling_group_id", value) + + @property + @pulumi.getter(name="refreshMode") + def refresh_mode(self) -> Optional[pulumi.Input[str]]: + """ + Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + """ + return pulumi.get(self, "refresh_mode") + + @refresh_mode.setter + def refresh_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "refresh_mode", value) + + @property + @pulumi.getter(name="refreshSettings") + def refresh_settings(self) -> Optional[pulumi.Input['StartInstanceRefreshRefreshSettingsArgs']]: + """ + Refresh settings. + """ + return pulumi.get(self, "refresh_settings") + + @refresh_settings.setter + def refresh_settings(self, value: Optional[pulumi.Input['StartInstanceRefreshRefreshSettingsArgs']]): + pulumi.set(self, "refresh_settings", value) + + +class StartInstanceRefresh(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_scaling_group_id: Optional[pulumi.Input[str]] = None, + refresh_mode: Optional[pulumi.Input[str]] = None, + refresh_settings: Optional[pulumi.Input[pulumi.InputType['StartInstanceRefreshRefreshSettingsArgs']]] = None, + __props__=None): + """ + Provides a resource to create as instance refresh + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.as_.StartInstanceRefresh("example", + auto_scaling_group_id="asg-9dn1a5y6", + refresh_mode="ROLLING_UPDATE_RESET", + refresh_settings=tencentcloud.as_.StartInstanceRefreshRefreshSettingsArgs( + check_instance_target_health=False, + rolling_update_settings=tencentcloud.as_.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs( + batch_number=1, + batch_pause="AUTOMATIC", + ), + )) + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] auto_scaling_group_id: Scaling group ID. + :param pulumi.Input[str] refresh_mode: Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + :param pulumi.Input[pulumi.InputType['StartInstanceRefreshRefreshSettingsArgs']] refresh_settings: Refresh settings. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: StartInstanceRefreshArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create as instance refresh + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.as_.StartInstanceRefresh("example", + auto_scaling_group_id="asg-9dn1a5y6", + refresh_mode="ROLLING_UPDATE_RESET", + refresh_settings=tencentcloud.as_.StartInstanceRefreshRefreshSettingsArgs( + check_instance_target_health=False, + rolling_update_settings=tencentcloud.as_.StartInstanceRefreshRefreshSettingsRollingUpdateSettingsArgs( + batch_number=1, + batch_pause="AUTOMATIC", + ), + )) + ``` + + + :param str resource_name: The name of the resource. + :param StartInstanceRefreshArgs 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(StartInstanceRefreshArgs, 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, + auto_scaling_group_id: Optional[pulumi.Input[str]] = None, + refresh_mode: Optional[pulumi.Input[str]] = None, + refresh_settings: Optional[pulumi.Input[pulumi.InputType['StartInstanceRefreshRefreshSettingsArgs']]] = 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__ = StartInstanceRefreshArgs.__new__(StartInstanceRefreshArgs) + + if auto_scaling_group_id is None and not opts.urn: + raise TypeError("Missing required property 'auto_scaling_group_id'") + __props__.__dict__["auto_scaling_group_id"] = auto_scaling_group_id + __props__.__dict__["refresh_mode"] = refresh_mode + if refresh_settings is None and not opts.urn: + raise TypeError("Missing required property 'refresh_settings'") + __props__.__dict__["refresh_settings"] = refresh_settings + super(StartInstanceRefresh, __self__).__init__( + 'tencentcloud:As/startInstanceRefresh:StartInstanceRefresh', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + auto_scaling_group_id: Optional[pulumi.Input[str]] = None, + refresh_mode: Optional[pulumi.Input[str]] = None, + refresh_settings: Optional[pulumi.Input[pulumi.InputType['StartInstanceRefreshRefreshSettingsArgs']]] = None) -> 'StartInstanceRefresh': + """ + Get an existing StartInstanceRefresh 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] auto_scaling_group_id: Scaling group ID. + :param pulumi.Input[str] refresh_mode: Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + :param pulumi.Input[pulumi.InputType['StartInstanceRefreshRefreshSettingsArgs']] refresh_settings: Refresh settings. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _StartInstanceRefreshState.__new__(_StartInstanceRefreshState) + + __props__.__dict__["auto_scaling_group_id"] = auto_scaling_group_id + __props__.__dict__["refresh_mode"] = refresh_mode + __props__.__dict__["refresh_settings"] = refresh_settings + return StartInstanceRefresh(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoScalingGroupId") + def auto_scaling_group_id(self) -> pulumi.Output[str]: + """ + Scaling group ID. + """ + return pulumi.get(self, "auto_scaling_group_id") + + @property + @pulumi.getter(name="refreshMode") + def refresh_mode(self) -> pulumi.Output[Optional[str]]: + """ + Refresh mode, currently, only rolling updates are supported, with the default value being ROLLING_UPDATE_RESET. + """ + return pulumi.get(self, "refresh_mode") + + @property + @pulumi.getter(name="refreshSettings") + def refresh_settings(self) -> pulumi.Output['outputs.StartInstanceRefreshRefreshSettings']: + """ + Refresh settings. + """ + return pulumi.get(self, "refresh_settings") + diff --git a/sdk/python/tencentcloud_iac_pulumi/audit/__init__.py b/sdk/python/tencentcloud_iac_pulumi/audit/__init__.py index 5b5eb2d22..da5486c84 100644 --- a/sdk/python/tencentcloud_iac_pulumi/audit/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/audit/__init__.py @@ -6,6 +6,7 @@ import typing # Export this package's modules as members: from .get_cos_regions import * +from .get_events import * from .get_key_alias import * from .track import * from ._inputs import * diff --git a/sdk/python/tencentcloud_iac_pulumi/audit/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/audit/_inputs.py index 7b7bc9b5b..7743c7158 100644 --- a/sdk/python/tencentcloud_iac_pulumi/audit/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/audit/_inputs.py @@ -11,6 +11,7 @@ __all__ = [ 'TrackStorageArgs', + 'GetEventsLookupAttributeArgs', ] @pulumi.input_type @@ -80,3 +81,45 @@ def storage_type(self, value: pulumi.Input[str]): pulumi.set(self, "storage_type", value) +@pulumi.input_type +class GetEventsLookupAttributeArgs: + def __init__(__self__, *, + attribute_key: str, + attribute_value: Optional[str] = None): + """ + :param str attribute_key: Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + :param str attribute_value: Value of `AttributeValue` + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "attribute_key", attribute_key) + if attribute_value is not None: + pulumi.set(__self__, "attribute_value", attribute_value) + + @property + @pulumi.getter(name="attributeKey") + def attribute_key(self) -> str: + """ + Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "attribute_key") + + @attribute_key.setter + def attribute_key(self, value: str): + pulumi.set(self, "attribute_key", value) + + @property + @pulumi.getter(name="attributeValue") + def attribute_value(self) -> Optional[str]: + """ + Value of `AttributeValue` + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "attribute_value") + + @attribute_value.setter + def attribute_value(self, value: Optional[str]): + pulumi.set(self, "attribute_value", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/audit/get_events.py b/sdk/python/tencentcloud_iac_pulumi/audit/get_events.py new file mode 100644 index 000000000..b5555c0a6 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/audit/get_events.py @@ -0,0 +1,229 @@ +# 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__ = [ + 'GetEventsResult', + 'AwaitableGetEventsResult', + 'get_events', + 'get_events_output', +] + +@pulumi.output_type +class GetEventsResult: + """ + A collection of values returned by getEvents. + """ + def __init__(__self__, end_time=None, events=None, id=None, is_return_location=None, lookup_attributes=None, max_results=None, result_output_file=None, start_time=None): + if end_time and not isinstance(end_time, int): + raise TypeError("Expected argument 'end_time' to be a int") + pulumi.set(__self__, "end_time", end_time) + if events and not isinstance(events, list): + raise TypeError("Expected argument 'events' to be a list") + pulumi.set(__self__, "events", events) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_return_location and not isinstance(is_return_location, int): + raise TypeError("Expected argument 'is_return_location' to be a int") + pulumi.set(__self__, "is_return_location", is_return_location) + if lookup_attributes and not isinstance(lookup_attributes, list): + raise TypeError("Expected argument 'lookup_attributes' to be a list") + pulumi.set(__self__, "lookup_attributes", lookup_attributes) + if max_results and not isinstance(max_results, int): + raise TypeError("Expected argument 'max_results' to be a int") + pulumi.set(__self__, "max_results", max_results) + 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) + if start_time and not isinstance(start_time, int): + raise TypeError("Expected argument 'start_time' to be a int") + pulumi.set(__self__, "start_time", start_time) + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> int: + return pulumi.get(self, "end_time") + + @property + @pulumi.getter + def events(self) -> Sequence['outputs.GetEventsEventResult']: + """ + Logset. Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "events") + + @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="isReturnLocation") + def is_return_location(self) -> Optional[int]: + return pulumi.get(self, "is_return_location") + + @property + @pulumi.getter(name="lookupAttributes") + def lookup_attributes(self) -> Optional[Sequence['outputs.GetEventsLookupAttributeResult']]: + return pulumi.get(self, "lookup_attributes") + + @property + @pulumi.getter(name="maxResults") + def max_results(self) -> Optional[int]: + return pulumi.get(self, "max_results") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> int: + return pulumi.get(self, "start_time") + + +class AwaitableGetEventsResult(GetEventsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEventsResult( + end_time=self.end_time, + events=self.events, + id=self.id, + is_return_location=self.is_return_location, + lookup_attributes=self.lookup_attributes, + max_results=self.max_results, + result_output_file=self.result_output_file, + start_time=self.start_time) + + +def get_events(end_time: Optional[int] = None, + is_return_location: Optional[int] = None, + lookup_attributes: Optional[Sequence[pulumi.InputType['GetEventsLookupAttributeArgs']]] = None, + max_results: Optional[int] = None, + result_output_file: Optional[str] = None, + start_time: Optional[int] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEventsResult: + """ + Use this data source to query the events list supported by the audit. + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + events = tencentcloud.Audit.get_events(end_time=1727437441, + is_return_location=1, + lookup_attributes=[ + tencentcloud.audit.GetEventsLookupAttributeArgs( + attribute_key="ResourceType", + attribute_value="cvm", + ), + tencentcloud.audit.GetEventsLookupAttributeArgs( + attribute_key="OnlyRecordNotSeen", + attribute_value="0", + ), + tencentcloud.audit.GetEventsLookupAttributeArgs( + attribute_key="EventPlatform", + attribute_value="0", + ), + ], + max_results=50, + start_time=1727433841) + ``` + + + + :param int end_time: End timestamp in seconds (the time range for query is less than 30 days). + :param int is_return_location: Whether to return the IP location. `1`: yes, `0`: no. + :param Sequence[pulumi.InputType['GetEventsLookupAttributeArgs']] lookup_attributes: Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + :param int max_results: Max number of returned logs (up to 50). + :param str result_output_file: Used to save results. + :param int start_time: Start timestamp in seconds (cannot be 90 days after the current time). + """ + __args__ = dict() + __args__['endTime'] = end_time + __args__['isReturnLocation'] = is_return_location + __args__['lookupAttributes'] = lookup_attributes + __args__['maxResults'] = max_results + __args__['resultOutputFile'] = result_output_file + __args__['startTime'] = start_time + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Audit/getEvents:getEvents', __args__, opts=opts, typ=GetEventsResult).value + + return AwaitableGetEventsResult( + end_time=pulumi.get(__ret__, 'end_time'), + events=pulumi.get(__ret__, 'events'), + id=pulumi.get(__ret__, 'id'), + is_return_location=pulumi.get(__ret__, 'is_return_location'), + lookup_attributes=pulumi.get(__ret__, 'lookup_attributes'), + max_results=pulumi.get(__ret__, 'max_results'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + start_time=pulumi.get(__ret__, 'start_time')) + + +@_utilities.lift_output_func(get_events) +def get_events_output(end_time: Optional[pulumi.Input[int]] = None, + is_return_location: Optional[pulumi.Input[Optional[int]]] = None, + lookup_attributes: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetEventsLookupAttributeArgs']]]]] = None, + max_results: Optional[pulumi.Input[Optional[int]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + start_time: Optional[pulumi.Input[int]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventsResult]: + """ + Use this data source to query the events list supported by the audit. + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + events = tencentcloud.Audit.get_events(end_time=1727437441, + is_return_location=1, + lookup_attributes=[ + tencentcloud.audit.GetEventsLookupAttributeArgs( + attribute_key="ResourceType", + attribute_value="cvm", + ), + tencentcloud.audit.GetEventsLookupAttributeArgs( + attribute_key="OnlyRecordNotSeen", + attribute_value="0", + ), + tencentcloud.audit.GetEventsLookupAttributeArgs( + attribute_key="EventPlatform", + attribute_value="0", + ), + ], + max_results=50, + start_time=1727433841) + ``` + + + + :param int end_time: End timestamp in seconds (the time range for query is less than 30 days). + :param int is_return_location: Whether to return the IP location. `1`: yes, `0`: no. + :param Sequence[pulumi.InputType['GetEventsLookupAttributeArgs']] lookup_attributes: Search condition. Valid values: `RequestId`, `EventName`, `ActionType` (write/read), `PrincipalId` (sub-account), `ResourceType`, `ResourceName`, `AccessKeyId`, `SensitiveAction`, `ApiErrorCode`, `CamErrorCode`, and `Tags` (Format of AttributeValue: [{"key":"*","value":"*"}]). + :param int max_results: Max number of returned logs (up to 50). + :param str result_output_file: Used to save results. + :param int start_time: Start timestamp in seconds (cannot be 90 days after the current time). + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/audit/outputs.py b/sdk/python/tencentcloud_iac_pulumi/audit/outputs.py index ea6385bfc..126a672ec 100644 --- a/sdk/python/tencentcloud_iac_pulumi/audit/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/audit/outputs.py @@ -8,10 +8,14 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs __all__ = [ 'TrackStorage', 'GetCosRegionsAuditCosRegionListResult', + 'GetEventsEventResult', + 'GetEventsEventResourcesResult', + 'GetEventsLookupAttributeResult', 'GetKeyAliasAuditKeyAliasListResult', ] @@ -118,6 +122,288 @@ def cos_region_name(self) -> str: return pulumi.get(self, "cos_region_name") +@pulumi.output_type +class GetEventsEventResult(dict): + def __init__(__self__, *, + account_id: Optional[int] = None, + cloud_audit_event: Optional[str] = None, + error_code: Optional[int] = None, + event_id: Optional[str] = None, + event_name: Optional[str] = None, + event_name_cn: Optional[str] = None, + event_region: Optional[str] = None, + event_source: Optional[str] = None, + event_time: Optional[str] = None, + location: Optional[str] = None, + request_id: Optional[str] = None, + resource_region: Optional[str] = None, + resource_type_cn: Optional[str] = None, + resources: Optional['outputs.GetEventsEventResourcesResult'] = None, + secret_id: Optional[str] = None, + source_ip_address: Optional[str] = None, + username: Optional[str] = None): + """ + :param int account_id: Root account ID. + :param str cloud_audit_event: Log details. + :param int error_code: Authentication error code. + :param str event_id: Log ID. + :param str event_name: Event name. + :param str event_name_cn: Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field). + :param str event_region: Event region. + :param str event_source: Request source. + :param str event_time: Event Time. + :param str location: IP location. + :param str request_id: Request ID. + :param str resource_region: Resource region. + :param str resource_type_cn: Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field). + :param 'GetEventsEventResourcesArgs' resources: Resource pair. + :param str secret_id: Certificate ID + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + :param str source_ip_address: Source IP + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + :param str username: Username. + """ + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) + if cloud_audit_event is not None: + pulumi.set(__self__, "cloud_audit_event", cloud_audit_event) + if error_code is not None: + pulumi.set(__self__, "error_code", error_code) + if event_id is not None: + pulumi.set(__self__, "event_id", event_id) + if event_name is not None: + pulumi.set(__self__, "event_name", event_name) + if event_name_cn is not None: + pulumi.set(__self__, "event_name_cn", event_name_cn) + if event_region is not None: + pulumi.set(__self__, "event_region", event_region) + if event_source is not None: + pulumi.set(__self__, "event_source", event_source) + if event_time is not None: + pulumi.set(__self__, "event_time", event_time) + if location is not None: + pulumi.set(__self__, "location", location) + if request_id is not None: + pulumi.set(__self__, "request_id", request_id) + if resource_region is not None: + pulumi.set(__self__, "resource_region", resource_region) + if resource_type_cn is not None: + pulumi.set(__self__, "resource_type_cn", resource_type_cn) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if secret_id is not None: + pulumi.set(__self__, "secret_id", secret_id) + if source_ip_address is not None: + pulumi.set(__self__, "source_ip_address", source_ip_address) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[int]: + """ + Root account ID. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter(name="cloudAuditEvent") + def cloud_audit_event(self) -> Optional[str]: + """ + Log details. + """ + return pulumi.get(self, "cloud_audit_event") + + @property + @pulumi.getter(name="errorCode") + def error_code(self) -> Optional[int]: + """ + Authentication error code. + """ + return pulumi.get(self, "error_code") + + @property + @pulumi.getter(name="eventId") + def event_id(self) -> Optional[str]: + """ + Log ID. + """ + return pulumi.get(self, "event_id") + + @property + @pulumi.getter(name="eventName") + def event_name(self) -> Optional[str]: + """ + Event name. + """ + return pulumi.get(self, "event_name") + + @property + @pulumi.getter(name="eventNameCn") + def event_name_cn(self) -> Optional[str]: + """ + Description of event name in Chinese (please use this field as required; if you are using other languages, ignore this field). + """ + return pulumi.get(self, "event_name_cn") + + @property + @pulumi.getter(name="eventRegion") + def event_region(self) -> Optional[str]: + """ + Event region. + """ + return pulumi.get(self, "event_region") + + @property + @pulumi.getter(name="eventSource") + def event_source(self) -> Optional[str]: + """ + Request source. + """ + return pulumi.get(self, "event_source") + + @property + @pulumi.getter(name="eventTime") + def event_time(self) -> Optional[str]: + """ + Event Time. + """ + return pulumi.get(self, "event_time") + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + IP location. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="requestId") + def request_id(self) -> Optional[str]: + """ + Request ID. + """ + return pulumi.get(self, "request_id") + + @property + @pulumi.getter(name="resourceRegion") + def resource_region(self) -> Optional[str]: + """ + Resource region. + """ + return pulumi.get(self, "resource_region") + + @property + @pulumi.getter(name="resourceTypeCn") + def resource_type_cn(self) -> Optional[str]: + """ + Description of resource type in Chinese (please use this field as required; if you are using other languages, ignore this field). + """ + return pulumi.get(self, "resource_type_cn") + + @property + @pulumi.getter + def resources(self) -> Optional['outputs.GetEventsEventResourcesResult']: + """ + Resource pair. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter(name="secretId") + def secret_id(self) -> Optional[str]: + """ + Certificate ID + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "secret_id") + + @property + @pulumi.getter(name="sourceIpAddress") + def source_ip_address(self) -> Optional[str]: + """ + Source IP + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "source_ip_address") + + @property + @pulumi.getter + def username(self) -> Optional[str]: + """ + Username. + """ + return pulumi.get(self, "username") + + +@pulumi.output_type +class GetEventsEventResourcesResult(dict): + def __init__(__self__, *, + resource_name: Optional[str] = None, + resource_type: Optional[str] = None): + """ + :param str resource_name: Resource name + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + :param str resource_type: Resource type. + """ + if resource_name is not None: + pulumi.set(__self__, "resource_name", resource_name) + if resource_type is not None: + pulumi.set(__self__, "resource_type", resource_type) + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> Optional[str]: + """ + Resource name + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "resource_name") + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> Optional[str]: + """ + Resource type. + """ + return pulumi.get(self, "resource_type") + + +@pulumi.output_type +class GetEventsLookupAttributeResult(dict): + def __init__(__self__, *, + attribute_key: str, + attribute_value: Optional[str] = None): + """ + :param str attribute_key: Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + :param str attribute_value: Value of `AttributeValue` + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "attribute_key", attribute_key) + if attribute_value is not None: + pulumi.set(__self__, "attribute_value", attribute_value) + + @property + @pulumi.getter(name="attributeKey") + def attribute_key(self) -> str: + """ + Valid values: RequestId, EventName, ReadOnly, Username, ResourceType, ResourceName, AccessKeyId, and EventId + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "attribute_key") + + @property + @pulumi.getter(name="attributeValue") + def attribute_value(self) -> Optional[str]: + """ + Value of `AttributeValue` + Note: `null` may be returned for this field, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "attribute_value") + + @pulumi.output_type class GetKeyAliasAuditKeyAliasListResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/batch/__init__.py b/sdk/python/tencentcloud_iac_pulumi/batch/__init__.py new file mode 100644 index 000000000..447b2fb11 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/batch/__init__.py @@ -0,0 +1,10 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .apply_account_baselines import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/batch/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/batch/_inputs.py new file mode 100644 index 000000000..d8c47ea75 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/batch/_inputs.py @@ -0,0 +1,54 @@ +# 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__ = [ + 'ApplyAccountBaselinesBaselineConfigItemArgs', +] + +@pulumi.input_type +class ApplyAccountBaselinesBaselineConfigItemArgs: + def __init__(__self__, *, + configuration: Optional[pulumi.Input[str]] = None, + identifier: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] configuration: Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[str] identifier: A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + """ + if configuration is not None: + pulumi.set(__self__, "configuration", configuration) + if identifier is not None: + pulumi.set(__self__, "identifier", identifier) + + @property + @pulumi.getter + def configuration(self) -> Optional[pulumi.Input[str]]: + """ + Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "configuration") + + @configuration.setter + def configuration(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "configuration", value) + + @property + @pulumi.getter + def identifier(self) -> Optional[pulumi.Input[str]]: + """ + A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "identifier") + + @identifier.setter + def identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "identifier", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/batch/apply_account_baselines.py b/sdk/python/tencentcloud_iac_pulumi/batch/apply_account_baselines.py new file mode 100644 index 000000000..af9f1e705 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/batch/apply_account_baselines.py @@ -0,0 +1,234 @@ +# 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__ = ['ApplyAccountBaselinesArgs', 'ApplyAccountBaselines'] + +@pulumi.input_type +class ApplyAccountBaselinesArgs: + def __init__(__self__, *, + baseline_config_items: pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]], + member_uin_lists: pulumi.Input[Sequence[pulumi.Input[int]]]): + """ + The set of arguments for constructing a ApplyAccountBaselines resource. + :param pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]] baseline_config_items: List of baseline item configuration information. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uin_lists: Member account UIN, which is also the UIN of the account to which the baseline is applied. + """ + pulumi.set(__self__, "baseline_config_items", baseline_config_items) + pulumi.set(__self__, "member_uin_lists", member_uin_lists) + + @property + @pulumi.getter(name="baselineConfigItems") + def baseline_config_items(self) -> pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]]: + """ + List of baseline item configuration information. + """ + return pulumi.get(self, "baseline_config_items") + + @baseline_config_items.setter + def baseline_config_items(self, value: pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]]): + pulumi.set(self, "baseline_config_items", value) + + @property + @pulumi.getter(name="memberUinLists") + def member_uin_lists(self) -> pulumi.Input[Sequence[pulumi.Input[int]]]: + """ + Member account UIN, which is also the UIN of the account to which the baseline is applied. + """ + return pulumi.get(self, "member_uin_lists") + + @member_uin_lists.setter + def member_uin_lists(self, value: pulumi.Input[Sequence[pulumi.Input[int]]]): + pulumi.set(self, "member_uin_lists", value) + + +@pulumi.input_type +class _ApplyAccountBaselinesState: + def __init__(__self__, *, + baseline_config_items: Optional[pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]]] = None, + member_uin_lists: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None): + """ + Input properties used for looking up and filtering ApplyAccountBaselines resources. + :param pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]] baseline_config_items: List of baseline item configuration information. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uin_lists: Member account UIN, which is also the UIN of the account to which the baseline is applied. + """ + if baseline_config_items is not None: + pulumi.set(__self__, "baseline_config_items", baseline_config_items) + if member_uin_lists is not None: + pulumi.set(__self__, "member_uin_lists", member_uin_lists) + + @property + @pulumi.getter(name="baselineConfigItems") + def baseline_config_items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]]]: + """ + List of baseline item configuration information. + """ + return pulumi.get(self, "baseline_config_items") + + @baseline_config_items.setter + def baseline_config_items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplyAccountBaselinesBaselineConfigItemArgs']]]]): + pulumi.set(self, "baseline_config_items", value) + + @property + @pulumi.getter(name="memberUinLists") + def member_uin_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Member account UIN, which is also the UIN of the account to which the baseline is applied. + """ + return pulumi.get(self, "member_uin_lists") + + @member_uin_lists.setter + def member_uin_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "member_uin_lists", value) + + +class ApplyAccountBaselines(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + baseline_config_items: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplyAccountBaselinesBaselineConfigItemArgs']]]]] = None, + member_uin_lists: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + __props__=None): + """ + Provides a resource to create a controlcenter batch apply account baselines + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.batch.ApplyAccountBaselines("example", + baseline_config_items=[tencentcloud.batch.ApplyAccountBaselinesBaselineConfigItemArgs( + configuration="{\\"Images\\":[{\\"Region\\":\\"ap-guangzhou\\",\\"ImageId\\":\\"img-mcdsiqrx\\",\\"ImageName\\":\\"demo1\\"}, {\\"Region\\":\\"ap-guangzhou\\",\\"ImageId\\":\\"img-esxgkots\\",\\"ImageName\\":\\"demo2\\"}]}", + identifier="TCC-AF_SHARE_IMAGE", + )], + member_uin_lists=[ + 10037652245, + 10037652240, + ]) + ``` + + + :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['ApplyAccountBaselinesBaselineConfigItemArgs']]]] baseline_config_items: List of baseline item configuration information. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uin_lists: Member account UIN, which is also the UIN of the account to which the baseline is applied. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ApplyAccountBaselinesArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a controlcenter batch apply account baselines + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.batch.ApplyAccountBaselines("example", + baseline_config_items=[tencentcloud.batch.ApplyAccountBaselinesBaselineConfigItemArgs( + configuration="{\\"Images\\":[{\\"Region\\":\\"ap-guangzhou\\",\\"ImageId\\":\\"img-mcdsiqrx\\",\\"ImageName\\":\\"demo1\\"}, {\\"Region\\":\\"ap-guangzhou\\",\\"ImageId\\":\\"img-esxgkots\\",\\"ImageName\\":\\"demo2\\"}]}", + identifier="TCC-AF_SHARE_IMAGE", + )], + member_uin_lists=[ + 10037652245, + 10037652240, + ]) + ``` + + + :param str resource_name: The name of the resource. + :param ApplyAccountBaselinesArgs 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(ApplyAccountBaselinesArgs, 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, + baseline_config_items: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplyAccountBaselinesBaselineConfigItemArgs']]]]] = None, + member_uin_lists: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = 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__ = ApplyAccountBaselinesArgs.__new__(ApplyAccountBaselinesArgs) + + if baseline_config_items is None and not opts.urn: + raise TypeError("Missing required property 'baseline_config_items'") + __props__.__dict__["baseline_config_items"] = baseline_config_items + if member_uin_lists is None and not opts.urn: + raise TypeError("Missing required property 'member_uin_lists'") + __props__.__dict__["member_uin_lists"] = member_uin_lists + super(ApplyAccountBaselines, __self__).__init__( + 'tencentcloud:Batch/applyAccountBaselines:ApplyAccountBaselines', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + baseline_config_items: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ApplyAccountBaselinesBaselineConfigItemArgs']]]]] = None, + member_uin_lists: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None) -> 'ApplyAccountBaselines': + """ + Get an existing ApplyAccountBaselines 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['ApplyAccountBaselinesBaselineConfigItemArgs']]]] baseline_config_items: List of baseline item configuration information. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uin_lists: Member account UIN, which is also the UIN of the account to which the baseline is applied. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ApplyAccountBaselinesState.__new__(_ApplyAccountBaselinesState) + + __props__.__dict__["baseline_config_items"] = baseline_config_items + __props__.__dict__["member_uin_lists"] = member_uin_lists + return ApplyAccountBaselines(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="baselineConfigItems") + def baseline_config_items(self) -> pulumi.Output[Sequence['outputs.ApplyAccountBaselinesBaselineConfigItem']]: + """ + List of baseline item configuration information. + """ + return pulumi.get(self, "baseline_config_items") + + @property + @pulumi.getter(name="memberUinLists") + def member_uin_lists(self) -> pulumi.Output[Sequence[int]]: + """ + Member account UIN, which is also the UIN of the account to which the baseline is applied. + """ + return pulumi.get(self, "member_uin_lists") + diff --git a/sdk/python/tencentcloud_iac_pulumi/batch/outputs.py b/sdk/python/tencentcloud_iac_pulumi/batch/outputs.py new file mode 100644 index 000000000..5dedd0f1c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/batch/outputs.py @@ -0,0 +1,46 @@ +# 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__ = [ + 'ApplyAccountBaselinesBaselineConfigItem', +] + +@pulumi.output_type +class ApplyAccountBaselinesBaselineConfigItem(dict): + def __init__(__self__, *, + configuration: Optional[str] = None, + identifier: Optional[str] = None): + """ + :param str configuration: Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + :param str identifier: A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + """ + if configuration is not None: + pulumi.set(__self__, "configuration", configuration) + if identifier is not None: + pulumi.set(__self__, "identifier", identifier) + + @property + @pulumi.getter + def configuration(self) -> Optional[str]: + """ + Account Factory baseline item configuration. Different items have different parameters.Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "configuration") + + @property + @pulumi.getter + def identifier(self) -> Optional[str]: + """ + A unique identifier for an Account Factory baseline item, which can only contain English letters, digits, and @,._[]-:()+=. It must be 2-128 characters long.Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "identifier") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages.py b/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages.py index 2504ef5a4..bbba2e689 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages.py +++ b/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages.py @@ -22,13 +22,16 @@ class GetStoragesResult: """ A collection of values returned by getStorages. """ - def __init__(__self__, availability_zone=None, charge_types=None, id=None, instance_ips=None, instance_names=None, portable=None, project_id=None, result_output_file=None, storage_id=None, storage_lists=None, storage_name=None, storage_states=None, storage_type=None, storage_usage=None, tag_keys=None, tag_values=None): + def __init__(__self__, availability_zone=None, charge_types=None, dedicated_cluster_id=None, id=None, instance_ips=None, instance_names=None, portable=None, project_id=None, result_output_file=None, storage_id=None, storage_lists=None, storage_name=None, storage_states=None, storage_type=None, storage_usage=None, tag_keys=None, tag_values=None): if availability_zone and not isinstance(availability_zone, str): raise TypeError("Expected argument 'availability_zone' to be a str") pulumi.set(__self__, "availability_zone", availability_zone) if charge_types and not isinstance(charge_types, list): raise TypeError("Expected argument 'charge_types' to be a list") pulumi.set(__self__, "charge_types", charge_types) + if dedicated_cluster_id and not isinstance(dedicated_cluster_id, str): + raise TypeError("Expected argument 'dedicated_cluster_id' to be a str") + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -88,6 +91,14 @@ def charge_types(self) -> Optional[Sequence[str]]: """ return pulumi.get(self, "charge_types") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[str]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter def id(self) -> str: @@ -188,6 +199,7 @@ def __await__(self): return GetStoragesResult( availability_zone=self.availability_zone, charge_types=self.charge_types, + dedicated_cluster_id=self.dedicated_cluster_id, id=self.id, instance_ips=self.instance_ips, instance_names=self.instance_names, @@ -206,6 +218,7 @@ def __await__(self): def get_storages(availability_zone: Optional[str] = None, charge_types: Optional[Sequence[str]] = None, + dedicated_cluster_id: Optional[str] = None, instance_ips: Optional[Sequence[str]] = None, instance_names: Optional[Sequence[str]] = None, portable: Optional[bool] = None, @@ -224,13 +237,37 @@ def get_storages(availability_zone: Optional[str] = None, ## Example Usage + ### Query all CBS storages + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cbs.get_storages() + ``` + + + ### Query CBS by storage id + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cbs.get_storages(result_output_file="my-test-path", + storage_id="disk-6goq404g") + ``` + + + ### Query CBS by dedicated cluster id + ```python import pulumi import pulumi_tencentcloud as tencentcloud - storages = tencentcloud.Cbs.get_storages(result_output_file="mytestpath", - storage_id="disk-kdt0sq6m") + example = tencentcloud.Cbs.get_storages(dedicated_cluster_id="cluster-262n63e8") ``` @@ -244,12 +281,14 @@ def get_storages(availability_zone: Optional[str] = None, whats_new = tencentcloud.Cbs.get_storages(charge_types=[ "POSTPAID_BY_HOUR", "PREPAID", + "CDCPAID", + "DEDICATED_CLUSTER_PAID", ], instance_ips=["10.0.0.2"], instance_names=["my-instance"], portable=True, storage_states=["ATTACHED"], - tag_keys=["foo"], + tag_keys=["example"], tag_values=[ "bar", "baz", @@ -259,7 +298,8 @@ def get_storages(availability_zone: Optional[str] = None, :param str availability_zone: The available zone that the CBS instance locates at. - :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). + :param str dedicated_cluster_id: Exclusive cluster id. :param Sequence[str] instance_ips: List filter by attached instance public or private IPs. :param Sequence[str] instance_names: List filter by attached instance name. :param bool portable: Filter by whether the disk is portable (Boolean `true` or `false`). @@ -276,6 +316,7 @@ def get_storages(availability_zone: Optional[str] = None, __args__ = dict() __args__['availabilityZone'] = availability_zone __args__['chargeTypes'] = charge_types + __args__['dedicatedClusterId'] = dedicated_cluster_id __args__['instanceIps'] = instance_ips __args__['instanceNames'] = instance_names __args__['portable'] = portable @@ -294,6 +335,7 @@ def get_storages(availability_zone: Optional[str] = None, return AwaitableGetStoragesResult( availability_zone=pulumi.get(__ret__, 'availability_zone'), charge_types=pulumi.get(__ret__, 'charge_types'), + dedicated_cluster_id=pulumi.get(__ret__, 'dedicated_cluster_id'), id=pulumi.get(__ret__, 'id'), instance_ips=pulumi.get(__ret__, 'instance_ips'), instance_names=pulumi.get(__ret__, 'instance_names'), @@ -313,6 +355,7 @@ def get_storages(availability_zone: Optional[str] = None, @_utilities.lift_output_func(get_storages) def get_storages_output(availability_zone: Optional[pulumi.Input[Optional[str]]] = None, charge_types: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[Optional[str]]] = None, instance_ips: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, instance_names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, portable: Optional[pulumi.Input[Optional[bool]]] = None, @@ -331,13 +374,37 @@ def get_storages_output(availability_zone: Optional[pulumi.Input[Optional[str]]] ## Example Usage + ### Query all CBS storages + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cbs.get_storages() + ``` + + + ### Query CBS by storage id + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cbs.get_storages(result_output_file="my-test-path", + storage_id="disk-6goq404g") + ``` + + + ### Query CBS by dedicated cluster id + ```python import pulumi import pulumi_tencentcloud as tencentcloud - storages = tencentcloud.Cbs.get_storages(result_output_file="mytestpath", - storage_id="disk-kdt0sq6m") + example = tencentcloud.Cbs.get_storages(dedicated_cluster_id="cluster-262n63e8") ``` @@ -351,12 +418,14 @@ def get_storages_output(availability_zone: Optional[pulumi.Input[Optional[str]]] whats_new = tencentcloud.Cbs.get_storages(charge_types=[ "POSTPAID_BY_HOUR", "PREPAID", + "CDCPAID", + "DEDICATED_CLUSTER_PAID", ], instance_ips=["10.0.0.2"], instance_names=["my-instance"], portable=True, storage_states=["ATTACHED"], - tag_keys=["foo"], + tag_keys=["example"], tag_values=[ "bar", "baz", @@ -366,7 +435,8 @@ def get_storages_output(availability_zone: Optional[pulumi.Input[Optional[str]]] :param str availability_zone: The available zone that the CBS instance locates at. - :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). + :param str dedicated_cluster_id: Exclusive cluster id. :param Sequence[str] instance_ips: List filter by attached instance public or private IPs. :param Sequence[str] instance_names: List filter by attached instance name. :param bool portable: Filter by whether the disk is portable (Boolean `true` or `false`). diff --git a/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages_set.py b/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages_set.py index ba81a39d7..8f80f9a9a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages_set.py +++ b/sdk/python/tencentcloud_iac_pulumi/cbs/get_storages_set.py @@ -22,13 +22,16 @@ class GetStoragesSetResult: """ A collection of values returned by getStoragesSet. """ - def __init__(__self__, availability_zone=None, charge_types=None, id=None, instance_ips=None, instance_names=None, portable=None, project_id=None, result_output_file=None, storage_id=None, storage_lists=None, storage_name=None, storage_states=None, storage_type=None, storage_usage=None, tag_keys=None, tag_values=None): + def __init__(__self__, availability_zone=None, charge_types=None, dedicated_cluster_id=None, id=None, instance_ips=None, instance_names=None, portable=None, project_id=None, result_output_file=None, storage_id=None, storage_lists=None, storage_name=None, storage_states=None, storage_type=None, storage_usage=None, tag_keys=None, tag_values=None): if availability_zone and not isinstance(availability_zone, str): raise TypeError("Expected argument 'availability_zone' to be a str") pulumi.set(__self__, "availability_zone", availability_zone) if charge_types and not isinstance(charge_types, list): raise TypeError("Expected argument 'charge_types' to be a list") pulumi.set(__self__, "charge_types", charge_types) + if dedicated_cluster_id and not isinstance(dedicated_cluster_id, str): + raise TypeError("Expected argument 'dedicated_cluster_id' to be a str") + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -88,6 +91,14 @@ def charge_types(self) -> Optional[Sequence[str]]: """ return pulumi.get(self, "charge_types") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[str]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter def id(self) -> str: @@ -188,6 +199,7 @@ def __await__(self): return GetStoragesSetResult( availability_zone=self.availability_zone, charge_types=self.charge_types, + dedicated_cluster_id=self.dedicated_cluster_id, id=self.id, instance_ips=self.instance_ips, instance_names=self.instance_names, @@ -206,6 +218,7 @@ def __await__(self): def get_storages_set(availability_zone: Optional[str] = None, charge_types: Optional[Sequence[str]] = None, + dedicated_cluster_id: Optional[str] = None, instance_ips: Optional[Sequence[str]] = None, instance_names: Optional[Sequence[str]] = None, portable: Optional[bool] = None, @@ -224,18 +237,21 @@ def get_storages_set(availability_zone: Optional[str] = None, ## Example Usage + ### Query CBS by storage set by zone + ```python import pulumi import pulumi_tencentcloud as tencentcloud - storages = tencentcloud.Cbs.get_storages_set(availability_zone="ap-guangzhou-3") + example = tencentcloud.Cbs.get_storages_set(availability_zone="ap-guangzhou-3") ``` :param str availability_zone: The available zone that the CBS instance locates at. - :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). + :param str dedicated_cluster_id: Exclusive cluster id. :param Sequence[str] instance_ips: List filter by attached instance public or private IPs. :param Sequence[str] instance_names: List filter by attached instance name. :param bool portable: Filter by whether the disk is portable (Boolean `true` or `false`). @@ -252,6 +268,7 @@ def get_storages_set(availability_zone: Optional[str] = None, __args__ = dict() __args__['availabilityZone'] = availability_zone __args__['chargeTypes'] = charge_types + __args__['dedicatedClusterId'] = dedicated_cluster_id __args__['instanceIps'] = instance_ips __args__['instanceNames'] = instance_names __args__['portable'] = portable @@ -270,6 +287,7 @@ def get_storages_set(availability_zone: Optional[str] = None, return AwaitableGetStoragesSetResult( availability_zone=pulumi.get(__ret__, 'availability_zone'), charge_types=pulumi.get(__ret__, 'charge_types'), + dedicated_cluster_id=pulumi.get(__ret__, 'dedicated_cluster_id'), id=pulumi.get(__ret__, 'id'), instance_ips=pulumi.get(__ret__, 'instance_ips'), instance_names=pulumi.get(__ret__, 'instance_names'), @@ -289,6 +307,7 @@ def get_storages_set(availability_zone: Optional[str] = None, @_utilities.lift_output_func(get_storages_set) def get_storages_set_output(availability_zone: Optional[pulumi.Input[Optional[str]]] = None, charge_types: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[Optional[str]]] = None, instance_ips: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, instance_names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, portable: Optional[pulumi.Input[Optional[bool]]] = None, @@ -307,18 +326,21 @@ def get_storages_set_output(availability_zone: Optional[pulumi.Input[Optional[st ## Example Usage + ### Query CBS by storage set by zone + ```python import pulumi import pulumi_tencentcloud as tencentcloud - storages = tencentcloud.Cbs.get_storages_set(availability_zone="ap-guangzhou-3") + example = tencentcloud.Cbs.get_storages_set(availability_zone="ap-guangzhou-3") ``` :param str availability_zone: The available zone that the CBS instance locates at. - :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + :param Sequence[str] charge_types: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). + :param str dedicated_cluster_id: Exclusive cluster id. :param Sequence[str] instance_ips: List filter by attached instance public or private IPs. :param Sequence[str] instance_names: List filter by attached instance name. :param bool portable: Filter by whether the disk is portable (Boolean `true` or `false`). diff --git a/sdk/python/tencentcloud_iac_pulumi/cbs/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cbs/outputs.py index 865dffabb..e12f2241d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cbs/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cbs/outputs.py @@ -235,6 +235,7 @@ def __init__(__self__, *, availability_zone: str, charge_type: str, create_time: str, + dedicated_cluster_id: str, encrypt: bool, instance_id: str, prepaid_renew_flag: str, @@ -250,8 +251,9 @@ def __init__(__self__, *, """ :param bool attached: Indicates whether the CBS is mounted the CVM. :param str availability_zone: The available zone that the CBS instance locates at. - :param str charge_type: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + :param str charge_type: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). :param str create_time: Creation time of CBS. + :param str dedicated_cluster_id: Exclusive cluster id. :param bool encrypt: Indicates whether CBS is encrypted. :param str instance_id: ID of the CVM instance that be mounted by this CBS. :param str prepaid_renew_flag: The way that CBS instance will be renew automatically or not when it reach the end of the prepaid tenancy. @@ -269,6 +271,7 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) pulumi.set(__self__, "charge_type", charge_type) pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) pulumi.set(__self__, "encrypt", encrypt) pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "prepaid_renew_flag", prepaid_renew_flag) @@ -302,7 +305,7 @@ def availability_zone(self) -> str: @pulumi.getter(name="chargeType") def charge_type(self) -> str: """ - List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). """ return pulumi.get(self, "charge_type") @@ -314,6 +317,14 @@ def create_time(self) -> str: """ return pulumi.get(self, "create_time") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> str: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter def encrypt(self) -> bool: @@ -418,6 +429,7 @@ def __init__(__self__, *, availability_zone: str, charge_type: str, create_time: str, + dedicated_cluster_id: str, encrypt: bool, instance_id: str, prepaid_renew_flag: str, @@ -433,8 +445,9 @@ def __init__(__self__, *, """ :param bool attached: Indicates whether the CBS is mounted the CVM. :param str availability_zone: The available zone that the CBS instance locates at. - :param str charge_type: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + :param str charge_type: List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). :param str create_time: Creation time of CBS. + :param str dedicated_cluster_id: Exclusive cluster id. :param bool encrypt: Indicates whether CBS is encrypted. :param str instance_id: ID of the CVM instance that be mounted by this CBS. :param str prepaid_renew_flag: The way that CBS instance will be renew automatically or not when it reach the end of the prepaid tenancy. @@ -452,6 +465,7 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) pulumi.set(__self__, "charge_type", charge_type) pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) pulumi.set(__self__, "encrypt", encrypt) pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "prepaid_renew_flag", prepaid_renew_flag) @@ -485,7 +499,7 @@ def availability_zone(self) -> str: @pulumi.getter(name="chargeType") def charge_type(self) -> str: """ - List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID`). + List filter by disk charge type (`POSTPAID_BY_HOUR` | `PREPAID` | `CDCPAID` | `DEDICATED_CLUSTER_PAID`). """ return pulumi.get(self, "charge_type") @@ -497,6 +511,14 @@ def create_time(self) -> str: """ return pulumi.get(self, "create_time") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> str: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter def encrypt(self) -> bool: diff --git a/sdk/python/tencentcloud_iac_pulumi/cbs/storage.py b/sdk/python/tencentcloud_iac_pulumi/cbs/storage.py index 9787b25d6..1b96d9fbf 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cbs/storage.py +++ b/sdk/python/tencentcloud_iac_pulumi/cbs/storage.py @@ -19,6 +19,7 @@ def __init__(__self__, *, storage_size: pulumi.Input[int], storage_type: pulumi.Input[str], charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_backup_quota: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -35,7 +36,8 @@ def __init__(__self__, *, :param pulumi.Input[str] storage_name: Name of CBS. The maximum length can not exceed 60 bytes. :param pulumi.Input[int] storage_size: Volume of CBS, and unit is GB. :param pulumi.Input[str] storage_type: Type of CBS medium. Valid values: CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: General Purpose SSD, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_backup_quota: The quota of backup points of cloud disk. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. :param pulumi.Input[bool] force_delete: Indicate whether to delete CBS instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. @@ -53,6 +55,8 @@ def __init__(__self__, *, pulumi.set(__self__, "storage_type", storage_type) if charge_type is not None: pulumi.set(__self__, "charge_type", charge_type) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if disk_backup_quota is not None: pulumi.set(__self__, "disk_backup_quota", disk_backup_quota) if encrypt is not None: @@ -129,7 +133,7 @@ def storage_type(self, value: pulumi.Input[str]): @pulumi.getter(name="chargeType") def charge_type(self) -> Optional[pulumi.Input[str]]: """ - The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. """ return pulumi.get(self, "charge_type") @@ -137,6 +141,18 @@ def charge_type(self) -> Optional[pulumi.Input[str]]: def charge_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "charge_type", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="diskBackupQuota") def disk_backup_quota(self) -> Optional[pulumi.Input[int]]: @@ -267,6 +283,7 @@ def __init__(__self__, *, attached: Optional[pulumi.Input[bool]] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_backup_quota: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -285,7 +302,8 @@ def __init__(__self__, *, Input properties used for looking up and filtering Storage resources. :param pulumi.Input[bool] attached: Indicates whether the CBS is mounted the CVM. :param pulumi.Input[str] availability_zone: The available zone that the CBS instance locates at. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_backup_quota: The quota of backup points of cloud disk. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. :param pulumi.Input[bool] force_delete: Indicate whether to delete CBS instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. @@ -307,6 +325,8 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) if charge_type is not None: pulumi.set(__self__, "charge_type", charge_type) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if disk_backup_quota is not None: pulumi.set(__self__, "disk_backup_quota", disk_backup_quota) if encrypt is not None: @@ -367,7 +387,7 @@ def availability_zone(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="chargeType") def charge_type(self) -> Optional[pulumi.Input[str]]: """ - The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. """ return pulumi.get(self, "charge_type") @@ -375,6 +395,18 @@ def charge_type(self) -> Optional[pulumi.Input[str]]: def charge_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "charge_type", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="diskBackupQuota") def disk_backup_quota(self) -> Optional[pulumi.Input[int]]: @@ -554,6 +586,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_backup_quota: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -569,24 +602,48 @@ def __init__(__self__, throughput_performance: Optional[pulumi.Input[int]] = None, __props__=None): """ - Provides a resource to create a CBS. + Provides a resource to create a CBS storage. ## Example Usage + ### Create a standard CBS storage + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - storage = tencentcloud.cbs.Storage("storage", + example = tencentcloud.cbs.Storage("example", availability_zone="ap-guangzhou-3", encrypt=False, project_id=0, - storage_name="mystorage", + storage_name="tf-example", + storage_size=100, + storage_type="CLOUD_SSD", + tags={ + "createBy": "terraform", + }) + ``` + + + ### Create a dedicated cluster CBS storage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cbs.Storage("example", + availability_zone="ap-guangzhou-4", + charge_type="DEDICATED_CLUSTER_PAID", + dedicated_cluster_id="cluster-262n63e8", + encrypt=False, + project_id=0, + storage_name="tf-example", storage_size=100, storage_type="CLOUD_SSD", tags={ - "test": "tf", + "createBy": "terraform", }) ``` @@ -596,13 +653,14 @@ def __init__(__self__, CBS storage can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cbs/storage:Storage storage disk-41s6jwy4 + $ pulumi import tencentcloud:Cbs/storage:Storage example disk-41s6jwy4 ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] availability_zone: The available zone that the CBS instance locates at. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_backup_quota: The quota of backup points of cloud disk. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. :param pulumi.Input[bool] force_delete: Indicate whether to delete CBS instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. @@ -624,24 +682,48 @@ def __init__(__self__, args: StorageArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a resource to create a CBS. + Provides a resource to create a CBS storage. ## Example Usage + ### Create a standard CBS storage + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - storage = tencentcloud.cbs.Storage("storage", + example = tencentcloud.cbs.Storage("example", availability_zone="ap-guangzhou-3", encrypt=False, project_id=0, - storage_name="mystorage", + storage_name="tf-example", storage_size=100, storage_type="CLOUD_SSD", tags={ - "test": "tf", + "createBy": "terraform", + }) + ``` + + + ### Create a dedicated cluster CBS storage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cbs.Storage("example", + availability_zone="ap-guangzhou-4", + charge_type="DEDICATED_CLUSTER_PAID", + dedicated_cluster_id="cluster-262n63e8", + encrypt=False, + project_id=0, + storage_name="tf-example", + storage_size=100, + storage_type="CLOUD_SSD", + tags={ + "createBy": "terraform", }) ``` @@ -651,7 +733,7 @@ def __init__(__self__, CBS storage can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cbs/storage:Storage storage disk-41s6jwy4 + $ pulumi import tencentcloud:Cbs/storage:Storage example disk-41s6jwy4 ``` :param str resource_name: The name of the resource. @@ -671,6 +753,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_backup_quota: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -697,6 +780,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'availability_zone'") __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["charge_type"] = charge_type + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["disk_backup_quota"] = disk_backup_quota __props__.__dict__["encrypt"] = encrypt __props__.__dict__["force_delete"] = force_delete @@ -731,6 +815,7 @@ def get(resource_name: str, attached: Optional[pulumi.Input[bool]] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_backup_quota: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -754,7 +839,8 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] attached: Indicates whether the CBS is mounted the CVM. :param pulumi.Input[str] availability_zone: The available zone that the CBS instance locates at. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_backup_quota: The quota of backup points of cloud disk. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. :param pulumi.Input[bool] force_delete: Indicate whether to delete CBS instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. @@ -777,6 +863,7 @@ def get(resource_name: str, __props__.__dict__["attached"] = attached __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["charge_type"] = charge_type + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["disk_backup_quota"] = disk_backup_quota __props__.__dict__["encrypt"] = encrypt __props__.__dict__["force_delete"] = force_delete @@ -813,10 +900,18 @@ def availability_zone(self) -> pulumi.Output[str]: @pulumi.getter(name="chargeType") def charge_type(self) -> pulumi.Output[Optional[str]]: """ - The charge type of CBS instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. + The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. """ return pulumi.get(self, "charge_type") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> pulumi.Output[Optional[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter(name="diskBackupQuota") def disk_backup_quota(self) -> pulumi.Output[int]: diff --git a/sdk/python/tencentcloud_iac_pulumi/cbs/storage_set.py b/sdk/python/tencentcloud_iac_pulumi/cbs/storage_set.py index c8177662f..3d9339dad 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cbs/storage_set.py +++ b/sdk/python/tencentcloud_iac_pulumi/cbs/storage_set.py @@ -19,6 +19,7 @@ def __init__(__self__, *, storage_size: pulumi.Input[int], storage_type: pulumi.Input[str], charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_count: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, project_id: Optional[pulumi.Input[int]] = None, @@ -30,7 +31,8 @@ def __init__(__self__, *, :param pulumi.Input[str] storage_name: Name of CBS. The maximum length can not exceed 60 bytes. :param pulumi.Input[int] storage_size: Volume of CBS, and unit is GB. :param pulumi.Input[str] storage_type: Type of CBS medium. Valid values: CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: General Purpose SSD, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_count: The number of disks to be purchased. Default 1. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. :param pulumi.Input[int] project_id: ID of the project to which the instance belongs. @@ -43,6 +45,8 @@ def __init__(__self__, *, pulumi.set(__self__, "storage_type", storage_type) if charge_type is not None: pulumi.set(__self__, "charge_type", charge_type) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if disk_count is not None: pulumi.set(__self__, "disk_count", disk_count) if encrypt is not None: @@ -106,7 +110,7 @@ def storage_type(self, value: pulumi.Input[str]): @pulumi.getter(name="chargeType") def charge_type(self) -> Optional[pulumi.Input[str]]: """ - The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. """ return pulumi.get(self, "charge_type") @@ -114,6 +118,18 @@ def charge_type(self) -> Optional[pulumi.Input[str]]: def charge_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "charge_type", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="diskCount") def disk_count(self) -> Optional[pulumi.Input[int]]: @@ -181,6 +197,7 @@ def __init__(__self__, *, attached: Optional[pulumi.Input[bool]] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_count: Optional[pulumi.Input[int]] = None, disk_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, encrypt: Optional[pulumi.Input[bool]] = None, @@ -195,7 +212,8 @@ def __init__(__self__, *, Input properties used for looking up and filtering StorageSet resources. :param pulumi.Input[bool] attached: Indicates whether the CBS is mounted the CVM. :param pulumi.Input[str] availability_zone: The available zone that the CBS instance locates at. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_count: The number of disks to be purchased. Default 1. :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_ids: disk id list. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. @@ -213,6 +231,8 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) if charge_type is not None: pulumi.set(__self__, "charge_type", charge_type) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if disk_count is not None: pulumi.set(__self__, "disk_count", disk_count) if disk_ids is not None: @@ -262,7 +282,7 @@ def availability_zone(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="chargeType") def charge_type(self) -> Optional[pulumi.Input[str]]: """ - The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. """ return pulumi.get(self, "charge_type") @@ -270,6 +290,18 @@ def charge_type(self) -> Optional[pulumi.Input[str]]: def charge_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "charge_type", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="diskCount") def disk_count(self) -> Optional[pulumi.Input[int]]: @@ -398,6 +430,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_count: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, project_id: Optional[pulumi.Input[int]] = None, @@ -412,17 +445,39 @@ def __init__(__self__, ## Example Usage + ### Create 3 standard CBS storages + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - storage = tencentcloud.cbs.StorageSet("storage", + example = tencentcloud.cbs.StorageSet("example", availability_zone="ap-guangzhou-3", - disk_count=10, + disk_count=3, + encrypt=False, + project_id=0, + storage_name="tf-example", + storage_size=100, + storage_type="CLOUD_SSD") + ``` + + + ### Create 3 dedicated cluster CBS storages + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cbs.StorageSet("example", + availability_zone="ap-guangzhou-4", + charge_type="DEDICATED_CLUSTER_PAID", + dedicated_cluster_id="cluster-262n63e8", + disk_count=3, encrypt=False, project_id=0, - storage_name="mystorage", + storage_name="tf-example", storage_size=100, storage_type="CLOUD_SSD") ``` @@ -431,7 +486,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] availability_zone: The available zone that the CBS instance locates at. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_count: The number of disks to be purchased. Default 1. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. :param pulumi.Input[int] project_id: ID of the project to which the instance belongs. @@ -452,17 +508,39 @@ def __init__(__self__, ## Example Usage + ### Create 3 standard CBS storages + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - storage = tencentcloud.cbs.StorageSet("storage", + example = tencentcloud.cbs.StorageSet("example", availability_zone="ap-guangzhou-3", - disk_count=10, + disk_count=3, encrypt=False, project_id=0, - storage_name="mystorage", + storage_name="tf-example", + storage_size=100, + storage_type="CLOUD_SSD") + ``` + + + ### Create 3 dedicated cluster CBS storages + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cbs.StorageSet("example", + availability_zone="ap-guangzhou-4", + charge_type="DEDICATED_CLUSTER_PAID", + dedicated_cluster_id="cluster-262n63e8", + disk_count=3, + encrypt=False, + project_id=0, + storage_name="tf-example", storage_size=100, storage_type="CLOUD_SSD") ``` @@ -485,6 +563,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_count: Optional[pulumi.Input[int]] = None, encrypt: Optional[pulumi.Input[bool]] = None, project_id: Optional[pulumi.Input[int]] = None, @@ -506,6 +585,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'availability_zone'") __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["charge_type"] = charge_type + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["disk_count"] = disk_count __props__.__dict__["encrypt"] = encrypt __props__.__dict__["project_id"] = project_id @@ -536,6 +616,7 @@ def get(resource_name: str, attached: Optional[pulumi.Input[bool]] = None, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disk_count: Optional[pulumi.Input[int]] = None, disk_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, encrypt: Optional[pulumi.Input[bool]] = None, @@ -555,7 +636,8 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] attached: Indicates whether the CBS is mounted the CVM. :param pulumi.Input[str] availability_zone: The available zone that the CBS instance locates at. - :param pulumi.Input[str] charge_type: The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] charge_type: The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[int] disk_count: The number of disks to be purchased. Default 1. :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_ids: disk id list. :param pulumi.Input[bool] encrypt: Indicates whether CBS is encrypted. @@ -574,6 +656,7 @@ def get(resource_name: str, __props__.__dict__["attached"] = attached __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["charge_type"] = charge_type + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["disk_count"] = disk_count __props__.__dict__["disk_ids"] = disk_ids __props__.__dict__["encrypt"] = encrypt @@ -606,10 +689,18 @@ def availability_zone(self) -> pulumi.Output[str]: @pulumi.getter(name="chargeType") def charge_type(self) -> pulumi.Output[Optional[str]]: """ - The charge type of CBS instance. Only support `POSTPAID_BY_HOUR`. + The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. """ return pulumi.get(self, "charge_type") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> pulumi.Output[Optional[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter(name="diskCount") def disk_count(self) -> pulumi.Output[Optional[int]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/__init__.py b/sdk/python/tencentcloud_iac_pulumi/ccn/__init__.py index c4139b995..1a96a6bf6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ccn/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/__init__.py @@ -12,11 +12,17 @@ from .get_cross_border_flow_monitor import * from .get_cross_border_region_bandwidth_limits import * from .get_instances import * +from .get_routes import * from .get_tenant_instances import * from .instance import * from .instances_accept_attach import * from .instances_reject_attach import * from .instances_reset_attach import * +from .route_table import * +from .route_table_associate_instance_config import * +from .route_table_broadcast_policies import * +from .route_table_input_policies import * +from .route_table_selection_policies import * from .routes import * from ._inputs import * from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/ccn/_inputs.py index 739fdfbdd..3d2a7f185 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ccn/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/_inputs.py @@ -13,7 +13,15 @@ 'InstancesAcceptAttachInstanceArgs', 'InstancesRejectAttachInstanceArgs', 'InstancesResetAttachInstanceArgs', + 'RouteTableAssociateInstanceConfigInstanceArgs', + 'RouteTableBroadcastPoliciesPolicyArgs', + 'RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs', + 'RouteTableBroadcastPoliciesPolicyRouteConditionArgs', + 'RouteTableInputPoliciesPolicyArgs', + 'RouteTableInputPoliciesPolicyRouteConditionArgs', + 'RouteTableSelectionPoliciesSelectionPolicyArgs', 'GetCrossBorderRegionBandwidthLimitsFilterArgs', + 'GetRoutesFilterArgs', ] @pulumi.input_type @@ -271,6 +279,400 @@ def route_table_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "route_table_id", value) +@pulumi.input_type +class RouteTableAssociateInstanceConfigInstanceArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + instance_type: pulumi.Input[str]): + """ + :param pulumi.Input[str] instance_id: Instances ID. + :param pulumi.Input[str] instance_type: Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_type", instance_type) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + Instances 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="instanceType") + def instance_type(self) -> pulumi.Input[str]: + """ + Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + """ + return pulumi.get(self, "instance_type") + + @instance_type.setter + def instance_type(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_type", value) + + +@pulumi.input_type +class RouteTableBroadcastPoliciesPolicyArgs: + def __init__(__self__, *, + action: pulumi.Input[str], + broadcast_conditions: pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs']]], + description: pulumi.Input[str], + route_conditions: pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyRouteConditionArgs']]]): + """ + :param pulumi.Input[str] action: Routing behavior, `accept` allows, `drop` rejects. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs']]] broadcast_conditions: propagation conditions. + :param pulumi.Input[str] description: Policy description. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyRouteConditionArgs']]] route_conditions: Routing conditions. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "broadcast_conditions", broadcast_conditions) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "route_conditions", route_conditions) + + @property + @pulumi.getter + def action(self) -> pulumi.Input[str]: + """ + Routing behavior, `accept` allows, `drop` rejects. + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input[str]): + pulumi.set(self, "action", value) + + @property + @pulumi.getter(name="broadcastConditions") + def broadcast_conditions(self) -> pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs']]]: + """ + propagation conditions. + """ + return pulumi.get(self, "broadcast_conditions") + + @broadcast_conditions.setter + def broadcast_conditions(self, value: pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs']]]): + pulumi.set(self, "broadcast_conditions", value) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Policy description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="routeConditions") + def route_conditions(self) -> pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyRouteConditionArgs']]]: + """ + Routing conditions. + """ + return pulumi.get(self, "route_conditions") + + @route_conditions.setter + def route_conditions(self, value: pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyRouteConditionArgs']]]): + pulumi.set(self, "route_conditions", value) + + +@pulumi.input_type +class RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs: + def __init__(__self__, *, + match_pattern: pulumi.Input[int], + name: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[int] match_pattern: Matching mode, `1` precise matching, `0` fuzzy matching. + :param pulumi.Input[str] name: condition type. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: List of conditional values. + """ + pulumi.set(__self__, "match_pattern", match_pattern) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="matchPattern") + def match_pattern(self) -> pulumi.Input[int]: + """ + Matching mode, `1` precise matching, `0` fuzzy matching. + """ + return pulumi.get(self, "match_pattern") + + @match_pattern.setter + def match_pattern(self, value: pulumi.Input[int]): + pulumi.set(self, "match_pattern", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + condition type. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of conditional values. + """ + 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 RouteTableBroadcastPoliciesPolicyRouteConditionArgs: + def __init__(__self__, *, + match_pattern: pulumi.Input[int], + name: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[int] match_pattern: Matching mode, `1` precise matching, `0` fuzzy matching. + :param pulumi.Input[str] name: condition type. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: List of conditional values. + """ + pulumi.set(__self__, "match_pattern", match_pattern) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="matchPattern") + def match_pattern(self) -> pulumi.Input[int]: + """ + Matching mode, `1` precise matching, `0` fuzzy matching. + """ + return pulumi.get(self, "match_pattern") + + @match_pattern.setter + def match_pattern(self, value: pulumi.Input[int]): + pulumi.set(self, "match_pattern", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + condition type. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of conditional values. + """ + 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 RouteTableInputPoliciesPolicyArgs: + def __init__(__self__, *, + action: pulumi.Input[str], + description: pulumi.Input[str], + route_conditions: pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyRouteConditionArgs']]]): + """ + :param pulumi.Input[str] action: Routing behavior, `accept` allows, `drop` rejects. + :param pulumi.Input[str] description: Policy description. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyRouteConditionArgs']]] route_conditions: Routing conditions. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "route_conditions", route_conditions) + + @property + @pulumi.getter + def action(self) -> pulumi.Input[str]: + """ + Routing behavior, `accept` allows, `drop` rejects. + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input[str]): + pulumi.set(self, "action", value) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Policy description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="routeConditions") + def route_conditions(self) -> pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyRouteConditionArgs']]]: + """ + Routing conditions. + """ + return pulumi.get(self, "route_conditions") + + @route_conditions.setter + def route_conditions(self, value: pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyRouteConditionArgs']]]): + pulumi.set(self, "route_conditions", value) + + +@pulumi.input_type +class RouteTableInputPoliciesPolicyRouteConditionArgs: + def __init__(__self__, *, + match_pattern: pulumi.Input[int], + name: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[int] match_pattern: Matching mode, `1` precise matching, `0` fuzzy matching. + :param pulumi.Input[str] name: condition type. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: List of conditional values. + """ + pulumi.set(__self__, "match_pattern", match_pattern) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="matchPattern") + def match_pattern(self) -> pulumi.Input[int]: + """ + Matching mode, `1` precise matching, `0` fuzzy matching. + """ + return pulumi.get(self, "match_pattern") + + @match_pattern.setter + def match_pattern(self, value: pulumi.Input[int]): + pulumi.set(self, "match_pattern", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + condition type. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of conditional values. + """ + 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 RouteTableSelectionPoliciesSelectionPolicyArgs: + def __init__(__self__, *, + description: pulumi.Input[str], + instance_id: pulumi.Input[str], + instance_type: pulumi.Input[str], + route_table_id: pulumi.Input[str], + source_cidr_block: pulumi.Input[str]): + """ + :param pulumi.Input[str] description: description. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[str] instance_type: Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + :param pulumi.Input[str] route_table_id: route table ID. + :param pulumi.Input[str] source_cidr_block: Source CIDR. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "route_table_id", route_table_id) + pulumi.set(__self__, "source_cidr_block", source_cidr_block) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", 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="instanceType") + def instance_type(self) -> pulumi.Input[str]: + """ + Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + """ + return pulumi.get(self, "instance_type") + + @instance_type.setter + def instance_type(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_type", value) + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Input[str]: + """ + route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: pulumi.Input[str]): + pulumi.set(self, "route_table_id", value) + + @property + @pulumi.getter(name="sourceCidrBlock") + def source_cidr_block(self) -> pulumi.Input[str]: + """ + Source CIDR. + """ + return pulumi.get(self, "source_cidr_block") + + @source_cidr_block.setter + def source_cidr_block(self, value: pulumi.Input[str]): + pulumi.set(self, "source_cidr_block", value) + + @pulumi.input_type class GetCrossBorderRegionBandwidthLimitsFilterArgs: def __init__(__self__, *, @@ -308,3 +710,40 @@ def values(self, value: Sequence[str]): pulumi.set(self, "values", value) +@pulumi.input_type +class GetRoutesFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + :param Sequence[str] values: Filter value of the field. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + """ + 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]: + """ + Filter value of the field. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/attachment.py b/sdk/python/tencentcloud_iac_pulumi/ccn/attachment.py index 52e631807..3182f521a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ccn/attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/attachment.py @@ -19,7 +19,8 @@ def __init__(__self__, *, instance_region: pulumi.Input[str], instance_type: pulumi.Input[str], ccn_uin: Optional[pulumi.Input[str]] = None, - description: Optional[pulumi.Input[str]] = None): + description: Optional[pulumi.Input[str]] = None, + route_table_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Attachment resource. :param pulumi.Input[str] ccn_id: ID of the CCN. @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[str] instance_type: Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now. :param pulumi.Input[str] ccn_uin: Uin of the ccn attached. If not set, which means the uin of this account. This parameter is used with case when attaching ccn of other account to the instance of this account. For now only support instance type `VPC`. :param pulumi.Input[str] description: Remark of attachment. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. """ pulumi.set(__self__, "ccn_id", ccn_id) pulumi.set(__self__, "instance_id", instance_id) @@ -37,6 +39,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ccn_uin", ccn_uin) if description is not None: pulumi.set(__self__, "description", description) + if route_table_id is not None: + pulumi.set(__self__, "route_table_id", route_table_id) @property @pulumi.getter(name="ccnId") @@ -110,6 +114,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> Optional[pulumi.Input[str]]: + """ + Ccn instance route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "route_table_id", value) + @pulumi.input_type class _AttachmentState: @@ -123,6 +139,7 @@ def __init__(__self__, *, instance_region: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input[str]] = None, route_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Attachment resources. @@ -135,6 +152,7 @@ def __init__(__self__, *, :param pulumi.Input[str] instance_region: The region that the instance locates at. :param pulumi.Input[str] instance_type: Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now. :param pulumi.Input[Sequence[pulumi.Input[str]]] route_ids: Route id list. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. :param pulumi.Input[str] state: States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. """ if attached_time is not None: @@ -155,6 +173,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_type", instance_type) if route_ids is not None: pulumi.set(__self__, "route_ids", route_ids) + if route_table_id is not None: + pulumi.set(__self__, "route_table_id", route_table_id) if state is not None: pulumi.set(__self__, "state", state) @@ -266,6 +286,18 @@ def route_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def route_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "route_ids", value) + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> Optional[pulumi.Input[str]]: + """ + Ccn instance route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "route_table_id", value) + @property @pulumi.getter def state(self) -> Optional[pulumi.Input[str]]: @@ -290,12 +322,15 @@ def __init__(__self__, instance_id: Optional[pulumi.Input[str]] = None, instance_region: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input[str]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, __props__=None): """ Provides a CCN attaching resource. ## Example Usage + ### Only Attachment instance + ```python import pulumi @@ -305,33 +340,90 @@ def __init__(__self__, region = config.get("region") if region is None: region = "ap-guangzhou" - otheruin = config.get("otheruin") - if otheruin is None: - otheruin = "123353" - otherccn = config.get("otherccn") - if otherccn is None: - otherccn = "ccn-151ssaga" - vpc = tencentcloud.vpc.Instance("vpc", - cidr_block="10.0.0.0/16", - dns_servers=[ - "119.29.29.29", - "8.8.8.8", - ], + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + other_uin = config.get("otherUin") + if other_uin is None: + other_uin = "100031344528" + other_ccn = config.get("otherCcn") + if other_ccn is None: + other_ccn = "ccn-qhgojahx" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", is_multicast=False) - main = tencentcloud.ccn.Instance("main", - description="ci-temp-test-ccn-des", - qos="AG") + # create ccn + example = tencentcloud.ccn.Instance("example", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # attachment instance attachment = tencentcloud.ccn.Attachment("attachment", - ccn_id=main.id, - instance_type="VPC", + ccn_id=example.id, instance_id=vpc.id, + instance_type="VPC", instance_region=region) + # attachment other instance other_account = tencentcloud.ccn.Attachment("otherAccount", - ccn_id=otherccn, + ccn_id=other_ccn, + instance_id=vpc.id, instance_type="VPC", + instance_region=region, + ccn_uin=other_uin) + ``` + + + ### Attachment instance & route table + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance & route table + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, instance_id=vpc.id, + instance_type="VPC", instance_region=region, - ccn_uin=otheruin) + route_table_id=example_route_table.id) ``` @@ -343,6 +435,7 @@ def __init__(__self__, :param pulumi.Input[str] instance_id: ID of instance is attached. :param pulumi.Input[str] instance_region: The region that the instance locates at. :param pulumi.Input[str] instance_type: Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. """ ... @overload @@ -355,6 +448,8 @@ def __init__(__self__, ## Example Usage + ### Only Attachment instance + ```python import pulumi @@ -364,33 +459,90 @@ def __init__(__self__, region = config.get("region") if region is None: region = "ap-guangzhou" - otheruin = config.get("otheruin") - if otheruin is None: - otheruin = "123353" - otherccn = config.get("otherccn") - if otherccn is None: - otherccn = "ccn-151ssaga" - vpc = tencentcloud.vpc.Instance("vpc", - cidr_block="10.0.0.0/16", - dns_servers=[ - "119.29.29.29", - "8.8.8.8", - ], + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + other_uin = config.get("otherUin") + if other_uin is None: + other_uin = "100031344528" + other_ccn = config.get("otherCcn") + if other_ccn is None: + other_ccn = "ccn-qhgojahx" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", is_multicast=False) - main = tencentcloud.ccn.Instance("main", - description="ci-temp-test-ccn-des", - qos="AG") + # create ccn + example = tencentcloud.ccn.Instance("example", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # attachment instance attachment = tencentcloud.ccn.Attachment("attachment", - ccn_id=main.id, - instance_type="VPC", + ccn_id=example.id, instance_id=vpc.id, + instance_type="VPC", instance_region=region) + # attachment other instance other_account = tencentcloud.ccn.Attachment("otherAccount", - ccn_id=otherccn, + ccn_id=other_ccn, + instance_id=vpc.id, instance_type="VPC", + instance_region=region, + ccn_uin=other_uin) + ``` + + + ### Attachment instance & route table + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance & route table + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, instance_id=vpc.id, + instance_type="VPC", instance_region=region, - ccn_uin=otheruin) + route_table_id=example_route_table.id) ``` @@ -415,6 +567,7 @@ def _internal_init(__self__, instance_id: Optional[pulumi.Input[str]] = None, instance_region: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input[str]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -438,6 +591,7 @@ def _internal_init(__self__, if instance_type is None and not opts.urn: raise TypeError("Missing required property 'instance_type'") __props__.__dict__["instance_type"] = instance_type + __props__.__dict__["route_table_id"] = route_table_id __props__.__dict__["attached_time"] = None __props__.__dict__["cidr_blocks"] = None __props__.__dict__["route_ids"] = None @@ -461,6 +615,7 @@ def get(resource_name: str, instance_region: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input[str]] = None, route_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, state: Optional[pulumi.Input[str]] = None) -> 'Attachment': """ Get an existing Attachment resource's state with the given name, id, and optional extra @@ -478,6 +633,7 @@ def get(resource_name: str, :param pulumi.Input[str] instance_region: The region that the instance locates at. :param pulumi.Input[str] instance_type: Type of attached instance network, and available values include `VPC`, `DIRECTCONNECT`, `BMVPC` and `VPNGW`. Note: `VPNGW` type is only for whitelist customer now. :param pulumi.Input[Sequence[pulumi.Input[str]]] route_ids: Route id list. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. :param pulumi.Input[str] state: States of instance is attached. Valid values: `PENDING`, `ACTIVE`, `EXPIRED`, `REJECTED`, `DELETED`, `FAILED`, `ATTACHING`, `DETACHING` and `DETACHFAILED`. `FAILED` means asynchronous forced disassociation after 2 hours. `DETACHFAILED` means asynchronous forced disassociation after 2 hours. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -493,6 +649,7 @@ def get(resource_name: str, __props__.__dict__["instance_region"] = instance_region __props__.__dict__["instance_type"] = instance_type __props__.__dict__["route_ids"] = route_ids + __props__.__dict__["route_table_id"] = route_table_id __props__.__dict__["state"] = state return Attachment(resource_name, opts=opts, __props__=__props__) @@ -568,6 +725,14 @@ def route_ids(self) -> pulumi.Output[Sequence[str]]: """ return pulumi.get(self, "route_ids") + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Output[str]: + """ + Ccn instance route table ID. + """ + return pulumi.get(self, "route_table_id") + @property @pulumi.getter def state(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/get_routes.py b/sdk/python/tencentcloud_iac_pulumi/ccn/get_routes.py new file mode 100644 index 000000000..8c55a5e84 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/get_routes.py @@ -0,0 +1,184 @@ +# 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__ = [ + 'GetRoutesResult', + 'AwaitableGetRoutesResult', + 'get_routes', + 'get_routes_output', +] + +@pulumi.output_type +class GetRoutesResult: + """ + A collection of values returned by getRoutes. + """ + def __init__(__self__, ccn_id=None, filters=None, id=None, result_output_file=None, route_lists=None): + if ccn_id and not isinstance(ccn_id, str): + raise TypeError("Expected argument 'ccn_id' to be a str") + pulumi.set(__self__, "ccn_id", ccn_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 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) + if route_lists and not isinstance(route_lists, list): + raise TypeError("Expected argument 'route_lists' to be a list") + pulumi.set(__self__, "route_lists", route_lists) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> str: + return pulumi.get(self, "ccn_id") + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetRoutesFilterResult']]: + 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="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="routeLists") + def route_lists(self) -> Sequence['outputs.GetRoutesRouteListResult']: + """ + CCN route list. + """ + return pulumi.get(self, "route_lists") + + +class AwaitableGetRoutesResult(GetRoutesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRoutesResult( + ccn_id=self.ccn_id, + filters=self.filters, + id=self.id, + result_output_file=self.result_output_file, + route_lists=self.route_lists) + + +def get_routes(ccn_id: Optional[str] = None, + filters: Optional[Sequence[pulumi.InputType['GetRoutesFilterArgs']]] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRoutesResult: + """ + Use this data source to query detailed information of CCN routes. + + ## Example Usage + + ### Query CCN instance all routes + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + routes = tencentcloud.Ccn.get_routes(ccn_id="ccn-gr7nynbd") + ``` + + + ### Query CCN instance routes by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + routes = tencentcloud.Ccn.get_routes(ccn_id="ccn-gr7nynbd", + filters=[tencentcloud.ccn.GetRoutesFilterArgs( + name="route-table-id", + values=["ccnrtb-jpf7bzn3"], + )]) + ``` + + + + :param str ccn_id: ID of the CCN to be queried. + :param Sequence[pulumi.InputType['GetRoutesFilterArgs']] filters: Filter conditions. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['ccnId'] = ccn_id + __args__['filters'] = filters + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Ccn/getRoutes:getRoutes', __args__, opts=opts, typ=GetRoutesResult).value + + return AwaitableGetRoutesResult( + ccn_id=pulumi.get(__ret__, 'ccn_id'), + filters=pulumi.get(__ret__, 'filters'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + route_lists=pulumi.get(__ret__, 'route_lists')) + + +@_utilities.lift_output_func(get_routes) +def get_routes_output(ccn_id: Optional[pulumi.Input[str]] = None, + filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetRoutesFilterArgs']]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRoutesResult]: + """ + Use this data source to query detailed information of CCN routes. + + ## Example Usage + + ### Query CCN instance all routes + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + routes = tencentcloud.Ccn.get_routes(ccn_id="ccn-gr7nynbd") + ``` + + + ### Query CCN instance routes by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + routes = tencentcloud.Ccn.get_routes(ccn_id="ccn-gr7nynbd", + filters=[tencentcloud.ccn.GetRoutesFilterArgs( + name="route-table-id", + values=["ccnrtb-jpf7bzn3"], + )]) + ``` + + + + :param str ccn_id: ID of the CCN to be queried. + :param Sequence[pulumi.InputType['GetRoutesFilterArgs']] filters: Filter conditions. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/instance.py b/sdk/python/tencentcloud_iac_pulumi/ccn/instance.py index e1a61b105..d709d9195 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ccn/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/instance.py @@ -19,6 +19,8 @@ def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos: Optional[pulumi.Input[str]] = None, + route_ecmp_flag: Optional[pulumi.Input[bool]] = None, + route_overlap_flag: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ The set of arguments for constructing a Instance resource. @@ -27,6 +29,8 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Description of CCN, and maximum length does not exceed 100 bytes. :param pulumi.Input[str] name: Name of the CCN to be queried, and maximum length does not exceed 60 bytes. :param pulumi.Input[str] qos: Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. + :param pulumi.Input[bool] route_ecmp_flag: Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + :param pulumi.Input[bool] route_overlap_flag: Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. :param pulumi.Input[Mapping[str, Any]] tags: Instance tag. """ if bandwidth_limit_type is not None: @@ -39,6 +43,10 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if qos is not None: pulumi.set(__self__, "qos", qos) + if route_ecmp_flag is not None: + pulumi.set(__self__, "route_ecmp_flag", route_ecmp_flag) + if route_overlap_flag is not None: + pulumi.set(__self__, "route_overlap_flag", route_overlap_flag) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -102,6 +110,30 @@ def qos(self) -> Optional[pulumi.Input[str]]: def qos(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "qos", value) + @property + @pulumi.getter(name="routeEcmpFlag") + def route_ecmp_flag(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + """ + return pulumi.get(self, "route_ecmp_flag") + + @route_ecmp_flag.setter + def route_ecmp_flag(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "route_ecmp_flag", value) + + @property + @pulumi.getter(name="routeOverlapFlag") + def route_overlap_flag(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + """ + return pulumi.get(self, "route_overlap_flag") + + @route_overlap_flag.setter + def route_overlap_flag(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "route_overlap_flag", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: @@ -125,6 +157,8 @@ def __init__(__self__, *, instance_count: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, qos: Optional[pulumi.Input[str]] = None, + route_ecmp_flag: Optional[pulumi.Input[bool]] = None, + route_overlap_flag: Optional[pulumi.Input[bool]] = None, state: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ @@ -136,6 +170,8 @@ def __init__(__self__, *, :param pulumi.Input[int] instance_count: Number of attached instances. :param pulumi.Input[str] name: Name of the CCN to be queried, and maximum length does not exceed 60 bytes. :param pulumi.Input[str] qos: Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. + :param pulumi.Input[bool] route_ecmp_flag: Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + :param pulumi.Input[bool] route_overlap_flag: Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. :param pulumi.Input[str] state: States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. :param pulumi.Input[Mapping[str, Any]] tags: Instance tag. """ @@ -153,6 +189,10 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if qos is not None: pulumi.set(__self__, "qos", qos) + if route_ecmp_flag is not None: + pulumi.set(__self__, "route_ecmp_flag", route_ecmp_flag) + if route_overlap_flag is not None: + pulumi.set(__self__, "route_overlap_flag", route_overlap_flag) if state is not None: pulumi.set(__self__, "state", state) if tags is not None: @@ -242,6 +282,30 @@ def qos(self) -> Optional[pulumi.Input[str]]: def qos(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "qos", value) + @property + @pulumi.getter(name="routeEcmpFlag") + def route_ecmp_flag(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + """ + return pulumi.get(self, "route_ecmp_flag") + + @route_ecmp_flag.setter + def route_ecmp_flag(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "route_ecmp_flag", value) + + @property + @pulumi.getter(name="routeOverlapFlag") + def route_overlap_flag(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + """ + return pulumi.get(self, "route_overlap_flag") + + @route_overlap_flag.setter + def route_overlap_flag(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "route_overlap_flag", value) + @property @pulumi.getter def state(self) -> Optional[pulumi.Input[str]]: @@ -277,6 +341,8 @@ def __init__(__self__, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos: Optional[pulumi.Input[str]] = None, + route_ecmp_flag: Optional[pulumi.Input[bool]] = None, + route_overlap_flag: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): """ @@ -291,11 +357,16 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - main = tencentcloud.ccn.Instance("main", + example = tencentcloud.ccn.Instance("example", bandwidth_limit_type="INTER_REGION_LIMIT", charge_type="PREPAID", - description="ci-temp-test-ccn-des", - qos="AG") + description="desc.", + qos="AG", + route_ecmp_flag=True, + route_overlap_flag=True, + tags={ + "createBy": "terraform", + }) ``` @@ -306,11 +377,16 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - main = tencentcloud.ccn.Instance("main", + example = tencentcloud.ccn.Instance("example", bandwidth_limit_type="OUTER_REGION_LIMIT", charge_type="POSTPAID", - description="ci-temp-test-ccn-des", - qos="AG") + description="desc.", + qos="AG", + route_ecmp_flag=False, + route_overlap_flag=False, + tags={ + "createBy": "terraform", + }) ``` @@ -321,10 +397,10 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - main = tencentcloud.ccn.Instance("main", + example = tencentcloud.ccn.Instance("example", bandwidth_limit_type="INTER_REGION_LIMIT", charge_type="POSTPAID", - description="ci-temp-test-ccn-des", + description="desc.", qos="AG") ``` @@ -334,7 +410,7 @@ def __init__(__self__, Ccn instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Ccn/instance:Instance test ccn-id + $ pulumi import tencentcloud:Ccn/instance:Instance example ccn-al70jo89 ``` :param str resource_name: The name of the resource. @@ -344,6 +420,8 @@ def __init__(__self__, :param pulumi.Input[str] description: Description of CCN, and maximum length does not exceed 100 bytes. :param pulumi.Input[str] name: Name of the CCN to be queried, and maximum length does not exceed 60 bytes. :param pulumi.Input[str] qos: Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. + :param pulumi.Input[bool] route_ecmp_flag: Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + :param pulumi.Input[bool] route_overlap_flag: Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. :param pulumi.Input[Mapping[str, Any]] tags: Instance tag. """ ... @@ -364,11 +442,16 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - main = tencentcloud.ccn.Instance("main", + example = tencentcloud.ccn.Instance("example", bandwidth_limit_type="INTER_REGION_LIMIT", charge_type="PREPAID", - description="ci-temp-test-ccn-des", - qos="AG") + description="desc.", + qos="AG", + route_ecmp_flag=True, + route_overlap_flag=True, + tags={ + "createBy": "terraform", + }) ``` @@ -379,11 +462,16 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - main = tencentcloud.ccn.Instance("main", + example = tencentcloud.ccn.Instance("example", bandwidth_limit_type="OUTER_REGION_LIMIT", charge_type="POSTPAID", - description="ci-temp-test-ccn-des", - qos="AG") + description="desc.", + qos="AG", + route_ecmp_flag=False, + route_overlap_flag=False, + tags={ + "createBy": "terraform", + }) ``` @@ -394,10 +482,10 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - main = tencentcloud.ccn.Instance("main", + example = tencentcloud.ccn.Instance("example", bandwidth_limit_type="INTER_REGION_LIMIT", charge_type="POSTPAID", - description="ci-temp-test-ccn-des", + description="desc.", qos="AG") ``` @@ -407,7 +495,7 @@ def __init__(__self__, Ccn instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Ccn/instance:Instance test ccn-id + $ pulumi import tencentcloud:Ccn/instance:Instance example ccn-al70jo89 ``` :param str resource_name: The name of the resource. @@ -430,6 +518,8 @@ def _internal_init(__self__, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos: Optional[pulumi.Input[str]] = None, + route_ecmp_flag: Optional[pulumi.Input[bool]] = None, + route_overlap_flag: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -445,6 +535,8 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["name"] = name __props__.__dict__["qos"] = qos + __props__.__dict__["route_ecmp_flag"] = route_ecmp_flag + __props__.__dict__["route_overlap_flag"] = route_overlap_flag __props__.__dict__["tags"] = tags __props__.__dict__["create_time"] = None __props__.__dict__["instance_count"] = None @@ -466,6 +558,8 @@ def get(resource_name: str, instance_count: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, qos: Optional[pulumi.Input[str]] = None, + route_ecmp_flag: Optional[pulumi.Input[bool]] = None, + route_overlap_flag: Optional[pulumi.Input[bool]] = None, state: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None) -> 'Instance': """ @@ -482,6 +576,8 @@ def get(resource_name: str, :param pulumi.Input[int] instance_count: Number of attached instances. :param pulumi.Input[str] name: Name of the CCN to be queried, and maximum length does not exceed 60 bytes. :param pulumi.Input[str] qos: Service quality of CCN. Valid values: `PT`, `AU`, `AG`. The default is `AU`. + :param pulumi.Input[bool] route_ecmp_flag: Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + :param pulumi.Input[bool] route_overlap_flag: Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. :param pulumi.Input[str] state: States of instance. Valid values: `ISOLATED`(arrears) and `AVAILABLE`. :param pulumi.Input[Mapping[str, Any]] tags: Instance tag. """ @@ -496,6 +592,8 @@ def get(resource_name: str, __props__.__dict__["instance_count"] = instance_count __props__.__dict__["name"] = name __props__.__dict__["qos"] = qos + __props__.__dict__["route_ecmp_flag"] = route_ecmp_flag + __props__.__dict__["route_overlap_flag"] = route_overlap_flag __props__.__dict__["state"] = state __props__.__dict__["tags"] = tags return Instance(resource_name, opts=opts, __props__=__props__) @@ -556,6 +654,22 @@ def qos(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "qos") + @property + @pulumi.getter(name="routeEcmpFlag") + def route_ecmp_flag(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to enable the equivalent routing function. `true`: enabled, `false`: disabled. + """ + return pulumi.get(self, "route_ecmp_flag") + + @property + @pulumi.getter(name="routeOverlapFlag") + def route_overlap_flag(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to enable the routing overlap function. `true`: enabled, `false`: disabled. + """ + return pulumi.get(self, "route_overlap_flag") + @property @pulumi.getter def state(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/outputs.py b/sdk/python/tencentcloud_iac_pulumi/ccn/outputs.py index 47e86af03..8dab4a1d8 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ccn/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/outputs.py @@ -14,6 +14,13 @@ 'InstancesAcceptAttachInstance', 'InstancesRejectAttachInstance', 'InstancesResetAttachInstance', + 'RouteTableAssociateInstanceConfigInstance', + 'RouteTableBroadcastPoliciesPolicy', + 'RouteTableBroadcastPoliciesPolicyBroadcastCondition', + 'RouteTableBroadcastPoliciesPolicyRouteCondition', + 'RouteTableInputPoliciesPolicy', + 'RouteTableInputPoliciesPolicyRouteCondition', + 'RouteTableSelectionPoliciesSelectionPolicy', 'GetBandwidthLimitsLimitResult', 'GetCrossBorderFlowMonitorCrossBorderFlowMonitorDataResult', 'GetCrossBorderRegionBandwidthLimitsCcnBandwidthSetResult', @@ -21,6 +28,8 @@ 'GetCrossBorderRegionBandwidthLimitsFilterResult', 'GetInstancesInstanceListResult', 'GetInstancesInstanceListAttachmentListResult', + 'GetRoutesFilterResult', + 'GetRoutesRouteListResult', ] @pulumi.output_type @@ -287,6 +296,437 @@ def route_table_id(self) -> Optional[str]: return pulumi.get(self, "route_table_id") +@pulumi.output_type +class RouteTableAssociateInstanceConfigInstance(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceId": + suggest = "instance_id" + elif key == "instanceType": + suggest = "instance_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteTableAssociateInstanceConfigInstance. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteTableAssociateInstanceConfigInstance.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteTableAssociateInstanceConfigInstance.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_id: str, + instance_type: str): + """ + :param str instance_id: Instances ID. + :param str instance_type: Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_type", instance_type) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + """ + Instances ID. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + """ + Cloud networking supports instance types: VPC, DIRECTCONNECT, BMVPC, EDGE, EDGE_TUNNEL, EDGE_VPNGW, VPNGW. + """ + return pulumi.get(self, "instance_type") + + +@pulumi.output_type +class RouteTableBroadcastPoliciesPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "broadcastConditions": + suggest = "broadcast_conditions" + elif key == "routeConditions": + suggest = "route_conditions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteTableBroadcastPoliciesPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteTableBroadcastPoliciesPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteTableBroadcastPoliciesPolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action: str, + broadcast_conditions: Sequence['outputs.RouteTableBroadcastPoliciesPolicyBroadcastCondition'], + description: str, + route_conditions: Sequence['outputs.RouteTableBroadcastPoliciesPolicyRouteCondition']): + """ + :param str action: Routing behavior, `accept` allows, `drop` rejects. + :param Sequence['RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs'] broadcast_conditions: propagation conditions. + :param str description: Policy description. + :param Sequence['RouteTableBroadcastPoliciesPolicyRouteConditionArgs'] route_conditions: Routing conditions. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "broadcast_conditions", broadcast_conditions) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "route_conditions", route_conditions) + + @property + @pulumi.getter + def action(self) -> str: + """ + Routing behavior, `accept` allows, `drop` rejects. + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter(name="broadcastConditions") + def broadcast_conditions(self) -> Sequence['outputs.RouteTableBroadcastPoliciesPolicyBroadcastCondition']: + """ + propagation conditions. + """ + return pulumi.get(self, "broadcast_conditions") + + @property + @pulumi.getter + def description(self) -> str: + """ + Policy description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="routeConditions") + def route_conditions(self) -> Sequence['outputs.RouteTableBroadcastPoliciesPolicyRouteCondition']: + """ + Routing conditions. + """ + return pulumi.get(self, "route_conditions") + + +@pulumi.output_type +class RouteTableBroadcastPoliciesPolicyBroadcastCondition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchPattern": + suggest = "match_pattern" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteTableBroadcastPoliciesPolicyBroadcastCondition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteTableBroadcastPoliciesPolicyBroadcastCondition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteTableBroadcastPoliciesPolicyBroadcastCondition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + match_pattern: int, + name: str, + values: Sequence[str]): + """ + :param int match_pattern: Matching mode, `1` precise matching, `0` fuzzy matching. + :param str name: condition type. + :param Sequence[str] values: List of conditional values. + """ + pulumi.set(__self__, "match_pattern", match_pattern) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="matchPattern") + def match_pattern(self) -> int: + """ + Matching mode, `1` precise matching, `0` fuzzy matching. + """ + return pulumi.get(self, "match_pattern") + + @property + @pulumi.getter + def name(self) -> str: + """ + condition type. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + List of conditional values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class RouteTableBroadcastPoliciesPolicyRouteCondition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchPattern": + suggest = "match_pattern" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteTableBroadcastPoliciesPolicyRouteCondition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteTableBroadcastPoliciesPolicyRouteCondition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteTableBroadcastPoliciesPolicyRouteCondition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + match_pattern: int, + name: str, + values: Sequence[str]): + """ + :param int match_pattern: Matching mode, `1` precise matching, `0` fuzzy matching. + :param str name: condition type. + :param Sequence[str] values: List of conditional values. + """ + pulumi.set(__self__, "match_pattern", match_pattern) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="matchPattern") + def match_pattern(self) -> int: + """ + Matching mode, `1` precise matching, `0` fuzzy matching. + """ + return pulumi.get(self, "match_pattern") + + @property + @pulumi.getter + def name(self) -> str: + """ + condition type. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + List of conditional values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class RouteTableInputPoliciesPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "routeConditions": + suggest = "route_conditions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteTableInputPoliciesPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteTableInputPoliciesPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteTableInputPoliciesPolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action: str, + description: str, + route_conditions: Sequence['outputs.RouteTableInputPoliciesPolicyRouteCondition']): + """ + :param str action: Routing behavior, `accept` allows, `drop` rejects. + :param str description: Policy description. + :param Sequence['RouteTableInputPoliciesPolicyRouteConditionArgs'] route_conditions: Routing conditions. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "route_conditions", route_conditions) + + @property + @pulumi.getter + def action(self) -> str: + """ + Routing behavior, `accept` allows, `drop` rejects. + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter + def description(self) -> str: + """ + Policy description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="routeConditions") + def route_conditions(self) -> Sequence['outputs.RouteTableInputPoliciesPolicyRouteCondition']: + """ + Routing conditions. + """ + return pulumi.get(self, "route_conditions") + + +@pulumi.output_type +class RouteTableInputPoliciesPolicyRouteCondition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchPattern": + suggest = "match_pattern" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteTableInputPoliciesPolicyRouteCondition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteTableInputPoliciesPolicyRouteCondition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteTableInputPoliciesPolicyRouteCondition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + match_pattern: int, + name: str, + values: Sequence[str]): + """ + :param int match_pattern: Matching mode, `1` precise matching, `0` fuzzy matching. + :param str name: condition type. + :param Sequence[str] values: List of conditional values. + """ + pulumi.set(__self__, "match_pattern", match_pattern) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="matchPattern") + def match_pattern(self) -> int: + """ + Matching mode, `1` precise matching, `0` fuzzy matching. + """ + return pulumi.get(self, "match_pattern") + + @property + @pulumi.getter + def name(self) -> str: + """ + condition type. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + List of conditional values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class RouteTableSelectionPoliciesSelectionPolicy(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceId": + suggest = "instance_id" + elif key == "instanceType": + suggest = "instance_type" + elif key == "routeTableId": + suggest = "route_table_id" + elif key == "sourceCidrBlock": + suggest = "source_cidr_block" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteTableSelectionPoliciesSelectionPolicy. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteTableSelectionPoliciesSelectionPolicy.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteTableSelectionPoliciesSelectionPolicy.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + instance_id: str, + instance_type: str, + route_table_id: str, + source_cidr_block: str): + """ + :param str description: description. + :param str instance_id: Instance ID. + :param str instance_type: Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + :param str route_table_id: route table ID. + :param str source_cidr_block: Source CIDR. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "route_table_id", route_table_id) + pulumi.set(__self__, "source_cidr_block", source_cidr_block) + + @property + @pulumi.getter + def description(self) -> str: + """ + description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + """ + Instance ID. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + """ + Instance Type: Private Network: VPC, Dedicated Gateway: DIRECTCONNECT, Blackstone Private Network: BMVPC, EDGE Device: EDGE, EDGE Tunnel: EDGE_TUNNEL, EDGE Gateway: EDGE_VPNGW, VPN Gateway: VPNGW. + """ + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> str: + """ + route table ID. + """ + return pulumi.get(self, "route_table_id") + + @property + @pulumi.getter(name="sourceCidrBlock") + def source_cidr_block(self) -> str: + """ + Source CIDR. + """ + return pulumi.get(self, "source_cidr_block") + + @pulumi.output_type class GetBandwidthLimitsLimitResult(dict): def __init__(__self__, *, @@ -765,3 +1205,182 @@ def state(self) -> str: return pulumi.get(self, "state") +@pulumi.output_type +class GetRoutesFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + :param Sequence[str] values: Filter value of the field. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Field to be filtered. Support `route-id`, `cidr-block`, `instance-type`, `instance-region`, `instance-id`, `route-table-id`. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Filter value of the field. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetRoutesRouteListResult(dict): + def __init__(__self__, *, + destination_cidr_block: str, + enabled: bool, + extra_state: str, + instance_extra_name: str, + instance_id: str, + instance_name: str, + instance_region: str, + instance_type: str, + instance_uin: str, + is_bgp: bool, + route_id: str, + route_priority: int, + update_time: str): + """ + :param str destination_cidr_block: Destination. + :param bool enabled: Is routing enabled. + :param str extra_state: Extension status of routing. + :param str instance_extra_name: Next hop extension name (associated instance extension name). + :param str instance_id: Next jump (associated instance ID). + :param str instance_name: Next jump (associated instance name). + :param str instance_region: Next jump (associated instance region). + :param str instance_type: Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. + :param str instance_uin: The UIN (root account) to which the associated instance belongs. + :param bool is_bgp: Is it dynamic routing. + :param str route_id: route ID. + :param int route_priority: Routing priority. + :param str update_time: update time. + """ + pulumi.set(__self__, "destination_cidr_block", destination_cidr_block) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "extra_state", extra_state) + pulumi.set(__self__, "instance_extra_name", instance_extra_name) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_name", instance_name) + pulumi.set(__self__, "instance_region", instance_region) + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "instance_uin", instance_uin) + pulumi.set(__self__, "is_bgp", is_bgp) + pulumi.set(__self__, "route_id", route_id) + pulumi.set(__self__, "route_priority", route_priority) + pulumi.set(__self__, "update_time", update_time) + + @property + @pulumi.getter(name="destinationCidrBlock") + def destination_cidr_block(self) -> str: + """ + Destination. + """ + return pulumi.get(self, "destination_cidr_block") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Is routing enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="extraState") + def extra_state(self) -> str: + """ + Extension status of routing. + """ + return pulumi.get(self, "extra_state") + + @property + @pulumi.getter(name="instanceExtraName") + def instance_extra_name(self) -> str: + """ + Next hop extension name (associated instance extension name). + """ + return pulumi.get(self, "instance_extra_name") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + """ + Next jump (associated instance ID). + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> str: + """ + Next jump (associated instance name). + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="instanceRegion") + def instance_region(self) -> str: + """ + Next jump (associated instance region). + """ + return pulumi.get(self, "instance_region") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + """ + Next hop type (associated instance type), all types: VPC, DIRECTCONNECT. + """ + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter(name="instanceUin") + def instance_uin(self) -> str: + """ + The UIN (root account) to which the associated instance belongs. + """ + return pulumi.get(self, "instance_uin") + + @property + @pulumi.getter(name="isBgp") + def is_bgp(self) -> bool: + """ + Is it dynamic routing. + """ + return pulumi.get(self, "is_bgp") + + @property + @pulumi.getter(name="routeId") + def route_id(self) -> str: + """ + route ID. + """ + return pulumi.get(self, "route_id") + + @property + @pulumi.getter(name="routePriority") + def route_priority(self) -> int: + """ + Routing priority. + """ + return pulumi.get(self, "route_priority") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> str: + """ + update time. + """ + return pulumi.get(self, "update_time") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/route_table.py b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table.py new file mode 100644 index 000000000..79b084787 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table.py @@ -0,0 +1,389 @@ +# 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__ = ['RouteTableArgs', 'RouteTable'] + +@pulumi.input_type +class RouteTableArgs: + def __init__(__self__, *, + ccn_id: pulumi.Input[str], + description: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a RouteTable resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[str] description: Description of CCN Route table. + :param pulumi.Input[str] name: CCN Route table name. + """ + pulumi.set(__self__, "ccn_id", ccn_id) + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Input[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: pulumi.Input[str]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Description of CCN Route table. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + CCN Route table name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _RouteTableState: + def __init__(__self__, *, + ccn_id: Optional[pulumi.Input[str]] = None, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + is_default_table: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RouteTable resources. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[str] create_time: create time. + :param pulumi.Input[str] description: Description of CCN Route table. + :param pulumi.Input[bool] is_default_table: True: default routing table False: non default routing table. + :param pulumi.Input[str] name: CCN Route table name. + """ + if ccn_id is not None: + pulumi.set(__self__, "ccn_id", ccn_id) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if is_default_table is not None: + pulumi.set(__self__, "is_default_table", is_default_table) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> Optional[pulumi.Input[str]]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + create 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 + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of CCN Route table. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="isDefaultTable") + def is_default_table(self) -> Optional[pulumi.Input[bool]]: + """ + True: default routing table False: non default routing table. + """ + return pulumi.get(self, "is_default_table") + + @is_default_table.setter + def is_default_table(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_default_table", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + CCN Route table name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class RouteTable(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a CCN Route table. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTable:RouteTable example ccnrtb-r5hrr417 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[str] description: Description of CCN Route table. + :param pulumi.Input[str] name: CCN Route table name. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RouteTableArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CCN Route table. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTable:RouteTable example ccnrtb-r5hrr417 + ``` + + :param str resource_name: The name of the resource. + :param RouteTableArgs 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(RouteTableArgs, 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, + ccn_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: 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__ = RouteTableArgs.__new__(RouteTableArgs) + + if ccn_id is None and not opts.urn: + raise TypeError("Missing required property 'ccn_id'") + __props__.__dict__["ccn_id"] = ccn_id + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["create_time"] = None + __props__.__dict__["is_default_table"] = None + super(RouteTable, __self__).__init__( + 'tencentcloud:Ccn/routeTable:RouteTable', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + is_default_table: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'RouteTable': + """ + Get an existing RouteTable 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] ccn_id: CCN Instance ID. + :param pulumi.Input[str] create_time: create time. + :param pulumi.Input[str] description: Description of CCN Route table. + :param pulumi.Input[bool] is_default_table: True: default routing table False: non default routing table. + :param pulumi.Input[str] name: CCN Route table name. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RouteTableState.__new__(_RouteTableState) + + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["is_default_table"] = is_default_table + __props__.__dict__["name"] = name + return RouteTable(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Output[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + Description of CCN Route table. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="isDefaultTable") + def is_default_table(self) -> pulumi.Output[bool]: + """ + True: default routing table False: non default routing table. + """ + return pulumi.get(self, "is_default_table") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + CCN Route table name. + """ + return pulumi.get(self, "name") + diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_associate_instance_config.py b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_associate_instance_config.py new file mode 100644 index 000000000..be1ee8281 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_associate_instance_config.py @@ -0,0 +1,368 @@ +# 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__ = ['RouteTableAssociateInstanceConfigArgs', 'RouteTableAssociateInstanceConfig'] + +@pulumi.input_type +class RouteTableAssociateInstanceConfigArgs: + def __init__(__self__, *, + ccn_id: pulumi.Input[str], + instances: pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]], + route_table_id: pulumi.Input[str]): + """ + The set of arguments for constructing a RouteTableAssociateInstanceConfig resource. + :param pulumi.Input[str] ccn_id: ID of the CCN. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]] instances: Instances list. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. + """ + pulumi.set(__self__, "ccn_id", ccn_id) + pulumi.set(__self__, "instances", instances) + pulumi.set(__self__, "route_table_id", route_table_id) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Input[str]: + """ + ID of the CCN. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: pulumi.Input[str]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter + def instances(self) -> pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]]: + """ + Instances list. + """ + return pulumi.get(self, "instances") + + @instances.setter + def instances(self, value: pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]]): + pulumi.set(self, "instances", value) + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Input[str]: + """ + Ccn instance route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: pulumi.Input[str]): + pulumi.set(self, "route_table_id", value) + + +@pulumi.input_type +class _RouteTableAssociateInstanceConfigState: + def __init__(__self__, *, + ccn_id: Optional[pulumi.Input[str]] = None, + instances: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RouteTableAssociateInstanceConfig resources. + :param pulumi.Input[str] ccn_id: ID of the CCN. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]] instances: Instances list. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. + """ + if ccn_id is not None: + pulumi.set(__self__, "ccn_id", ccn_id) + if instances is not None: + pulumi.set(__self__, "instances", instances) + if route_table_id is not None: + pulumi.set(__self__, "route_table_id", route_table_id) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the CCN. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter + def instances(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]]]: + """ + Instances list. + """ + return pulumi.get(self, "instances") + + @instances.setter + def instances(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableAssociateInstanceConfigInstanceArgs']]]]): + pulumi.set(self, "instances", value) + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> Optional[pulumi.Input[str]]: + """ + Ccn instance route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "route_table_id", value) + + +class RouteTableAssociateInstanceConfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableAssociateInstanceConfigInstanceArgs']]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a CCN Route table associate instance config. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # route table associate instance + example_route_table_associate_instance_config = tencentcloud.ccn.RouteTableAssociateInstanceConfig("exampleRouteTableAssociateInstanceConfig", + ccn_id=example_instance.id, + route_table_id=example_route_table.id, + instances=[tencentcloud.ccn.RouteTableAssociateInstanceConfigInstanceArgs( + instance_id=vpc.id, + instance_type="VPC", + )], + opts=pulumi.ResourceOptions(depends_on=[attachment])) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] ccn_id: ID of the CCN. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableAssociateInstanceConfigInstanceArgs']]]] instances: Instances list. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RouteTableAssociateInstanceConfigArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CCN Route table associate instance config. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # route table associate instance + example_route_table_associate_instance_config = tencentcloud.ccn.RouteTableAssociateInstanceConfig("exampleRouteTableAssociateInstanceConfig", + ccn_id=example_instance.id, + route_table_id=example_route_table.id, + instances=[tencentcloud.ccn.RouteTableAssociateInstanceConfigInstanceArgs( + instance_id=vpc.id, + instance_type="VPC", + )], + opts=pulumi.ResourceOptions(depends_on=[attachment])) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + ``` + + :param str resource_name: The name of the resource. + :param RouteTableAssociateInstanceConfigArgs 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(RouteTableAssociateInstanceConfigArgs, 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, + ccn_id: Optional[pulumi.Input[str]] = None, + instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableAssociateInstanceConfigInstanceArgs']]]]] = None, + route_table_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__ = RouteTableAssociateInstanceConfigArgs.__new__(RouteTableAssociateInstanceConfigArgs) + + if ccn_id is None and not opts.urn: + raise TypeError("Missing required property 'ccn_id'") + __props__.__dict__["ccn_id"] = ccn_id + if instances is None and not opts.urn: + raise TypeError("Missing required property 'instances'") + __props__.__dict__["instances"] = instances + if route_table_id is None and not opts.urn: + raise TypeError("Missing required property 'route_table_id'") + __props__.__dict__["route_table_id"] = route_table_id + super(RouteTableAssociateInstanceConfig, __self__).__init__( + 'tencentcloud:Ccn/routeTableAssociateInstanceConfig:RouteTableAssociateInstanceConfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableAssociateInstanceConfigInstanceArgs']]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None) -> 'RouteTableAssociateInstanceConfig': + """ + Get an existing RouteTableAssociateInstanceConfig 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] ccn_id: ID of the CCN. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableAssociateInstanceConfigInstanceArgs']]]] instances: Instances list. + :param pulumi.Input[str] route_table_id: Ccn instance route table ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RouteTableAssociateInstanceConfigState.__new__(_RouteTableAssociateInstanceConfigState) + + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["instances"] = instances + __props__.__dict__["route_table_id"] = route_table_id + return RouteTableAssociateInstanceConfig(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Output[str]: + """ + ID of the CCN. + """ + return pulumi.get(self, "ccn_id") + + @property + @pulumi.getter + def instances(self) -> pulumi.Output[Sequence['outputs.RouteTableAssociateInstanceConfigInstance']]: + """ + Instances list. + """ + return pulumi.get(self, "instances") + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Output[str]: + """ + Ccn instance route table ID. + """ + return pulumi.get(self, "route_table_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_broadcast_policies.py b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_broadcast_policies.py new file mode 100644 index 000000000..0932e49c0 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_broadcast_policies.py @@ -0,0 +1,390 @@ +# 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__ = ['RouteTableBroadcastPoliciesArgs', 'RouteTableBroadcastPolicies'] + +@pulumi.input_type +class RouteTableBroadcastPoliciesArgs: + def __init__(__self__, *, + ccn_id: pulumi.Input[str], + policies: pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]], + route_table_id: pulumi.Input[str]): + """ + The set of arguments for constructing a RouteTableBroadcastPolicies resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]] policies: Routing propagation strategy. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + """ + pulumi.set(__self__, "ccn_id", ccn_id) + pulumi.set(__self__, "policies", policies) + pulumi.set(__self__, "route_table_id", route_table_id) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Input[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: pulumi.Input[str]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter + def policies(self) -> pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]]: + """ + Routing propagation strategy. + """ + return pulumi.get(self, "policies") + + @policies.setter + def policies(self, value: pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]]): + pulumi.set(self, "policies", value) + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Input[str]: + """ + CCN Route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: pulumi.Input[str]): + pulumi.set(self, "route_table_id", value) + + +@pulumi.input_type +class _RouteTableBroadcastPoliciesState: + def __init__(__self__, *, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RouteTableBroadcastPolicies resources. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]] policies: Routing propagation strategy. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + """ + if ccn_id is not None: + pulumi.set(__self__, "ccn_id", ccn_id) + if policies is not None: + pulumi.set(__self__, "policies", policies) + if route_table_id is not None: + pulumi.set(__self__, "route_table_id", route_table_id) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> Optional[pulumi.Input[str]]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter + def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]]]: + """ + Routing propagation strategy. + """ + return pulumi.get(self, "policies") + + @policies.setter + def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableBroadcastPoliciesPolicyArgs']]]]): + pulumi.set(self, "policies", value) + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> Optional[pulumi.Input[str]]: + """ + CCN Route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "route_table_id", value) + + +class RouteTableBroadcastPolicies(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableBroadcastPoliciesPolicyArgs']]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a CCN Route table broadcast policies. + + > **NOTE:** Use this resource to manage all broadcast policies under the routing table of CCN instances. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # create route table broadcast policy + example_route_table_broadcast_policies = tencentcloud.ccn.RouteTableBroadcastPolicies("exampleRouteTableBroadcastPolicies", + ccn_id=example_instance.id, + route_table_id=example_route_table.id, + policies=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyArgs( + action="accept", + description="desc.", + route_conditions=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyRouteConditionArgs( + name="instance-region", + values=["ap-guangzhou"], + match_pattern=1, + )], + broadcast_conditions=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs( + name="instance-region", + values=["ap-shanghai"], + match_pattern=1, + )], + )]) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableBroadcastPoliciesPolicyArgs']]]] policies: Routing propagation strategy. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RouteTableBroadcastPoliciesArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CCN Route table broadcast policies. + + > **NOTE:** Use this resource to manage all broadcast policies under the routing table of CCN instances. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # create route table broadcast policy + example_route_table_broadcast_policies = tencentcloud.ccn.RouteTableBroadcastPolicies("exampleRouteTableBroadcastPolicies", + ccn_id=example_instance.id, + route_table_id=example_route_table.id, + policies=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyArgs( + action="accept", + description="desc.", + route_conditions=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyRouteConditionArgs( + name="instance-region", + values=["ap-guangzhou"], + match_pattern=1, + )], + broadcast_conditions=[tencentcloud.ccn.RouteTableBroadcastPoliciesPolicyBroadcastConditionArgs( + name="instance-region", + values=["ap-shanghai"], + match_pattern=1, + )], + )]) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + ``` + + :param str resource_name: The name of the resource. + :param RouteTableBroadcastPoliciesArgs 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(RouteTableBroadcastPoliciesArgs, 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, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableBroadcastPoliciesPolicyArgs']]]]] = None, + route_table_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__ = RouteTableBroadcastPoliciesArgs.__new__(RouteTableBroadcastPoliciesArgs) + + if ccn_id is None and not opts.urn: + raise TypeError("Missing required property 'ccn_id'") + __props__.__dict__["ccn_id"] = ccn_id + if policies is None and not opts.urn: + raise TypeError("Missing required property 'policies'") + __props__.__dict__["policies"] = policies + if route_table_id is None and not opts.urn: + raise TypeError("Missing required property 'route_table_id'") + __props__.__dict__["route_table_id"] = route_table_id + super(RouteTableBroadcastPolicies, __self__).__init__( + 'tencentcloud:Ccn/routeTableBroadcastPolicies:RouteTableBroadcastPolicies', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableBroadcastPoliciesPolicyArgs']]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None) -> 'RouteTableBroadcastPolicies': + """ + Get an existing RouteTableBroadcastPolicies 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] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableBroadcastPoliciesPolicyArgs']]]] policies: Routing propagation strategy. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RouteTableBroadcastPoliciesState.__new__(_RouteTableBroadcastPoliciesState) + + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["policies"] = policies + __props__.__dict__["route_table_id"] = route_table_id + return RouteTableBroadcastPolicies(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Output[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @property + @pulumi.getter + def policies(self) -> pulumi.Output[Sequence['outputs.RouteTableBroadcastPoliciesPolicy']]: + """ + Routing propagation strategy. + """ + return pulumi.get(self, "policies") + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Output[str]: + """ + CCN Route table ID. + """ + return pulumi.get(self, "route_table_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_input_policies.py b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_input_policies.py new file mode 100644 index 000000000..323d01578 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_input_policies.py @@ -0,0 +1,379 @@ +# 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__ = ['RouteTableInputPoliciesArgs', 'RouteTableInputPolicies'] + +@pulumi.input_type +class RouteTableInputPoliciesArgs: + def __init__(__self__, *, + ccn_id: pulumi.Input[str], + route_table_id: pulumi.Input[str], + policies: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]]] = None): + """ + The set of arguments for constructing a RouteTableInputPolicies resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]] policies: Routing reception strategy. + """ + pulumi.set(__self__, "ccn_id", ccn_id) + pulumi.set(__self__, "route_table_id", route_table_id) + if policies is not None: + pulumi.set(__self__, "policies", policies) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Input[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: pulumi.Input[str]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Input[str]: + """ + CCN Route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: pulumi.Input[str]): + pulumi.set(self, "route_table_id", value) + + @property + @pulumi.getter + def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]]]: + """ + Routing reception strategy. + """ + return pulumi.get(self, "policies") + + @policies.setter + def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]]]): + pulumi.set(self, "policies", value) + + +@pulumi.input_type +class _RouteTableInputPoliciesState: + def __init__(__self__, *, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RouteTableInputPolicies resources. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]] policies: Routing reception strategy. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + """ + if ccn_id is not None: + pulumi.set(__self__, "ccn_id", ccn_id) + if policies is not None: + pulumi.set(__self__, "policies", policies) + if route_table_id is not None: + pulumi.set(__self__, "route_table_id", route_table_id) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> Optional[pulumi.Input[str]]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter + def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]]]: + """ + Routing reception strategy. + """ + return pulumi.get(self, "policies") + + @policies.setter + def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableInputPoliciesPolicyArgs']]]]): + pulumi.set(self, "policies", value) + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> Optional[pulumi.Input[str]]: + """ + CCN Route table ID. + """ + return pulumi.get(self, "route_table_id") + + @route_table_id.setter + def route_table_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "route_table_id", value) + + +class RouteTableInputPolicies(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableInputPoliciesPolicyArgs']]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a CCN Route table input policies. + + > **NOTE:** Use this resource to manage all input policies under the routing table of CCN instances. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # create route table input policy + example_route_table_input_policies = tencentcloud.ccn.RouteTableInputPolicies("exampleRouteTableInputPolicies", + ccn_id=example_instance.id, + route_table_id=example_route_table.id, + policies=[tencentcloud.ccn.RouteTableInputPoliciesPolicyArgs( + action="accept", + description="desc.", + route_conditions=[tencentcloud.ccn.RouteTableInputPoliciesPolicyRouteConditionArgs( + name="instance-region", + values=[region], + match_pattern=1, + )], + )]) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableInputPoliciesPolicyArgs']]]] policies: Routing reception strategy. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RouteTableInputPoliciesArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CCN Route table input policies. + + > **NOTE:** Use this resource to manage all input policies under the routing table of CCN instances. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # create route table input policy + example_route_table_input_policies = tencentcloud.ccn.RouteTableInputPolicies("exampleRouteTableInputPolicies", + ccn_id=example_instance.id, + route_table_id=example_route_table.id, + policies=[tencentcloud.ccn.RouteTableInputPoliciesPolicyArgs( + action="accept", + description="desc.", + route_conditions=[tencentcloud.ccn.RouteTableInputPoliciesPolicyRouteConditionArgs( + name="instance-region", + values=[region], + match_pattern=1, + )], + )]) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies example ccn-gr7nynbd#ccnrtb-jpf7bzn3 + ``` + + :param str resource_name: The name of the resource. + :param RouteTableInputPoliciesArgs 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(RouteTableInputPoliciesArgs, 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, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableInputPoliciesPolicyArgs']]]]] = None, + route_table_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__ = RouteTableInputPoliciesArgs.__new__(RouteTableInputPoliciesArgs) + + if ccn_id is None and not opts.urn: + raise TypeError("Missing required property 'ccn_id'") + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["policies"] = policies + if route_table_id is None and not opts.urn: + raise TypeError("Missing required property 'route_table_id'") + __props__.__dict__["route_table_id"] = route_table_id + super(RouteTableInputPolicies, __self__).__init__( + 'tencentcloud:Ccn/routeTableInputPolicies:RouteTableInputPolicies', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableInputPoliciesPolicyArgs']]]]] = None, + route_table_id: Optional[pulumi.Input[str]] = None) -> 'RouteTableInputPolicies': + """ + Get an existing RouteTableInputPolicies 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] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableInputPoliciesPolicyArgs']]]] policies: Routing reception strategy. + :param pulumi.Input[str] route_table_id: CCN Route table ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RouteTableInputPoliciesState.__new__(_RouteTableInputPoliciesState) + + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["policies"] = policies + __props__.__dict__["route_table_id"] = route_table_id + return RouteTableInputPolicies(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Output[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @property + @pulumi.getter + def policies(self) -> pulumi.Output[Optional[Sequence['outputs.RouteTableInputPoliciesPolicy']]]: + """ + Routing reception strategy. + """ + return pulumi.get(self, "policies") + + @property + @pulumi.getter(name="routeTableId") + def route_table_id(self) -> pulumi.Output[str]: + """ + CCN Route table ID. + """ + return pulumi.get(self, "route_table_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_selection_policies.py b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_selection_policies.py new file mode 100644 index 000000000..a42ff81cd --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/route_table_selection_policies.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 +from . import outputs +from ._inputs import * + +__all__ = ['RouteTableSelectionPoliciesArgs', 'RouteTableSelectionPolicies'] + +@pulumi.input_type +class RouteTableSelectionPoliciesArgs: + def __init__(__self__, *, + ccn_id: pulumi.Input[str], + selection_policies: pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]]): + """ + The set of arguments for constructing a RouteTableSelectionPolicies resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]] selection_policies: Select strategy information set. + """ + pulumi.set(__self__, "ccn_id", ccn_id) + pulumi.set(__self__, "selection_policies", selection_policies) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Input[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: pulumi.Input[str]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter(name="selectionPolicies") + def selection_policies(self) -> pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]]: + """ + Select strategy information set. + """ + return pulumi.get(self, "selection_policies") + + @selection_policies.setter + def selection_policies(self, value: pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]]): + pulumi.set(self, "selection_policies", value) + + +@pulumi.input_type +class _RouteTableSelectionPoliciesState: + def __init__(__self__, *, + ccn_id: Optional[pulumi.Input[str]] = None, + selection_policies: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]]] = None): + """ + Input properties used for looking up and filtering RouteTableSelectionPolicies resources. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]] selection_policies: Select strategy information set. + """ + if ccn_id is not None: + pulumi.set(__self__, "ccn_id", ccn_id) + if selection_policies is not None: + pulumi.set(__self__, "selection_policies", selection_policies) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> Optional[pulumi.Input[str]]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter(name="selectionPolicies") + def selection_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]]]: + """ + Select strategy information set. + """ + return pulumi.get(self, "selection_policies") + + @selection_policies.setter + def selection_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteTableSelectionPoliciesSelectionPolicyArgs']]]]): + pulumi.set(self, "selection_policies", value) + + +class RouteTableSelectionPolicies(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + selection_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableSelectionPoliciesSelectionPolicyArgs']]]]] = None, + __props__=None): + """ + Provides a resource to create a CCN Route table selection policies. + + > **NOTE:** Use this resource to manage all selection policies under the routing table of CCN instances. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # create route table selection policy + example_route_table_selection_policies = tencentcloud.ccn.RouteTableSelectionPolicies("exampleRouteTableSelectionPolicies", + ccn_id=example_instance.id, + selection_policies=[tencentcloud.ccn.RouteTableSelectionPoliciesSelectionPolicyArgs( + instance_type="VPC", + instance_id=vpc.id, + source_cidr_block="192.168.100.0/24", + route_table_id=example_route_table.id, + description="desc.", + )]) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies example ccn-gr7nynbd + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableSelectionPoliciesSelectionPolicyArgs']]]] selection_policies: Select strategy information set. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RouteTableSelectionPoliciesArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CCN Route table selection policies. + + > **NOTE:** Use this resource to manage all selection policies under the routing table of CCN instances. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + region = config.get("region") + if region is None: + region = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create ccn + example_instance = tencentcloud.ccn.Instance("exampleInstance", + description="desc.", + qos="AG", + charge_type="PREPAID", + bandwidth_limit_type="INTER_REGION_LIMIT", + tags={ + "createBy": "terraform", + }) + # create ccn route table + example_route_table = tencentcloud.ccn.RouteTable("exampleRouteTable", + ccn_id=example_instance.id, + description="desc.") + # attachment instance + attachment = tencentcloud.ccn.Attachment("attachment", + ccn_id=example_instance.id, + instance_id=vpc.id, + instance_type="VPC", + instance_region=region, + route_table_id=example_route_table.id) + # create route table selection policy + example_route_table_selection_policies = tencentcloud.ccn.RouteTableSelectionPolicies("exampleRouteTableSelectionPolicies", + ccn_id=example_instance.id, + selection_policies=[tencentcloud.ccn.RouteTableSelectionPoliciesSelectionPolicyArgs( + instance_type="VPC", + instance_id=vpc.id, + source_cidr_block="192.168.100.0/24", + route_table_id=example_route_table.id, + description="desc.", + )]) + ``` + + + ## Import + + Ccn instance can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies example ccn-gr7nynbd + ``` + + :param str resource_name: The name of the resource. + :param RouteTableSelectionPoliciesArgs 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(RouteTableSelectionPoliciesArgs, 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, + ccn_id: Optional[pulumi.Input[str]] = None, + selection_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableSelectionPoliciesSelectionPolicyArgs']]]]] = 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__ = RouteTableSelectionPoliciesArgs.__new__(RouteTableSelectionPoliciesArgs) + + if ccn_id is None and not opts.urn: + raise TypeError("Missing required property 'ccn_id'") + __props__.__dict__["ccn_id"] = ccn_id + if selection_policies is None and not opts.urn: + raise TypeError("Missing required property 'selection_policies'") + __props__.__dict__["selection_policies"] = selection_policies + super(RouteTableSelectionPolicies, __self__).__init__( + 'tencentcloud:Ccn/routeTableSelectionPolicies:RouteTableSelectionPolicies', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + selection_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableSelectionPoliciesSelectionPolicyArgs']]]]] = None) -> 'RouteTableSelectionPolicies': + """ + Get an existing RouteTableSelectionPolicies 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] ccn_id: CCN Instance ID. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RouteTableSelectionPoliciesSelectionPolicyArgs']]]] selection_policies: Select strategy information set. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RouteTableSelectionPoliciesState.__new__(_RouteTableSelectionPoliciesState) + + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["selection_policies"] = selection_policies + return RouteTableSelectionPolicies(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Output[str]: + """ + CCN Instance ID. + """ + return pulumi.get(self, "ccn_id") + + @property + @pulumi.getter(name="selectionPolicies") + def selection_policies(self) -> pulumi.Output[Sequence['outputs.RouteTableSelectionPoliciesSelectionPolicy']]: + """ + Select strategy information set. + """ + return pulumi.get(self, "selection_policies") + diff --git a/sdk/python/tencentcloud_iac_pulumi/ccn/routes.py b/sdk/python/tencentcloud_iac_pulumi/ccn/routes.py index bcf33b73d..0cc413b76 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ccn/routes.py +++ b/sdk/python/tencentcloud_iac_pulumi/ccn/routes.py @@ -130,7 +130,7 @@ def __init__(__self__, switch: Optional[pulumi.Input[str]] = None, __props__=None): """ - Provides a resource to create a vpc ccn_routes + Provides a resource to create a vpc ccn_routes switch ## Example Usage @@ -139,10 +139,10 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - ccn_routes = tencentcloud.ccn.Routes("ccnRoutes", - ccn_id="ccn-39lqkygf", - route_id="ccnr-3o0dfyuw", - switch="on") + example = tencentcloud.ccn.Routes("example", + ccn_id="ccn-gr7nynbd", + route_id="ccnrtb-jpf7bzn3", + switch="off") ``` @@ -151,7 +151,7 @@ def __init__(__self__, vpc ccn_routes can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccnId#routesId + $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccn-gr7nynbd#ccnr-5uhewx1s ``` :param str resource_name: The name of the resource. @@ -167,7 +167,7 @@ def __init__(__self__, args: RoutesArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a resource to create a vpc ccn_routes + Provides a resource to create a vpc ccn_routes switch ## Example Usage @@ -176,10 +176,10 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - ccn_routes = tencentcloud.ccn.Routes("ccnRoutes", - ccn_id="ccn-39lqkygf", - route_id="ccnr-3o0dfyuw", - switch="on") + example = tencentcloud.ccn.Routes("example", + ccn_id="ccn-gr7nynbd", + route_id="ccnrtb-jpf7bzn3", + switch="off") ``` @@ -188,7 +188,7 @@ def __init__(__self__, vpc ccn_routes can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccnId#routesId + $ pulumi import tencentcloud:Ccn/routes:Routes ccn_routes ccn-gr7nynbd#ccnr-5uhewx1s ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/cdc/__init__.py b/sdk/python/tencentcloud_iac_pulumi/cdc/__init__.py new file mode 100644 index 000000000..069c0fa96 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdc/__init__.py @@ -0,0 +1,13 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .dedicated_cluster import * +from .get_dedicated_cluster_hosts import * +from .get_dedicated_cluster_instance_types import * +from .get_dedicated_cluster_orders import * +from .site import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/cdc/dedicated_cluster.py b/sdk/python/tencentcloud_iac_pulumi/cdc/dedicated_cluster.py new file mode 100644 index 000000000..0f02e51d1 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdc/dedicated_cluster.py @@ -0,0 +1,348 @@ +# 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__ = ['DedicatedClusterArgs', 'DedicatedCluster'] + +@pulumi.input_type +class DedicatedClusterArgs: + def __init__(__self__, *, + site_id: pulumi.Input[str], + zone: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DedicatedCluster resource. + :param pulumi.Input[str] site_id: Dedicated Cluster Site ID. + :param pulumi.Input[str] zone: Dedicated Cluster Zone. + :param pulumi.Input[str] description: Dedicated Cluster Description. + :param pulumi.Input[str] name: Dedicated Cluster Name. + """ + pulumi.set(__self__, "site_id", site_id) + pulumi.set(__self__, "zone", zone) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="siteId") + def site_id(self) -> pulumi.Input[str]: + """ + Dedicated Cluster Site ID. + """ + return pulumi.get(self, "site_id") + + @site_id.setter + def site_id(self, value: pulumi.Input[str]): + pulumi.set(self, "site_id", value) + + @property + @pulumi.getter + def zone(self) -> pulumi.Input[str]: + """ + Dedicated Cluster Zone. + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: pulumi.Input[str]): + pulumi.set(self, "zone", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated Cluster Description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated Cluster Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _DedicatedClusterState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + site_id: Optional[pulumi.Input[str]] = None, + zone: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DedicatedCluster resources. + :param pulumi.Input[str] description: Dedicated Cluster Description. + :param pulumi.Input[str] name: Dedicated Cluster Name. + :param pulumi.Input[str] site_id: Dedicated Cluster Site ID. + :param pulumi.Input[str] zone: Dedicated Cluster Zone. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if site_id is not None: + pulumi.set(__self__, "site_id", site_id) + if zone is not None: + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated Cluster Description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated Cluster Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="siteId") + def site_id(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated Cluster Site ID. + """ + return pulumi.get(self, "site_id") + + @site_id.setter + def site_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "site_id", value) + + @property + @pulumi.getter + def zone(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated Cluster Zone. + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone", value) + + +class DedicatedCluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + site_id: Optional[pulumi.Input[str]] = None, + zone: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a CDC dedicated cluster + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + # create cdc site + example_site = tencentcloud.cdc.Site("exampleSite", + country="China", + province="Guangdong Province", + city="Guangzhou", + address_line="Tencent Building", + description="desc.") + # create cdc dedicated cluster + example_dedicated_cluster = tencentcloud.cdc.DedicatedCluster("exampleDedicatedCluster", + site_id=example_site.id, + zone="ap-guangzhou-6", + description="desc.") + ``` + + + ## Import + + CDC dedicated cluster can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Cdc/dedicatedCluster:DedicatedCluster example cluster-d574omhk + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Dedicated Cluster Description. + :param pulumi.Input[str] name: Dedicated Cluster Name. + :param pulumi.Input[str] site_id: Dedicated Cluster Site ID. + :param pulumi.Input[str] zone: Dedicated Cluster Zone. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DedicatedClusterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CDC dedicated cluster + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + # create cdc site + example_site = tencentcloud.cdc.Site("exampleSite", + country="China", + province="Guangdong Province", + city="Guangzhou", + address_line="Tencent Building", + description="desc.") + # create cdc dedicated cluster + example_dedicated_cluster = tencentcloud.cdc.DedicatedCluster("exampleDedicatedCluster", + site_id=example_site.id, + zone="ap-guangzhou-6", + description="desc.") + ``` + + + ## Import + + CDC dedicated cluster can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Cdc/dedicatedCluster:DedicatedCluster example cluster-d574omhk + ``` + + :param str resource_name: The name of the resource. + :param DedicatedClusterArgs 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(DedicatedClusterArgs, 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, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + site_id: Optional[pulumi.Input[str]] = None, + zone: 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__ = DedicatedClusterArgs.__new__(DedicatedClusterArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if site_id is None and not opts.urn: + raise TypeError("Missing required property 'site_id'") + __props__.__dict__["site_id"] = site_id + if zone is None and not opts.urn: + raise TypeError("Missing required property 'zone'") + __props__.__dict__["zone"] = zone + super(DedicatedCluster, __self__).__init__( + 'tencentcloud:Cdc/dedicatedCluster:DedicatedCluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + site_id: Optional[pulumi.Input[str]] = None, + zone: Optional[pulumi.Input[str]] = None) -> 'DedicatedCluster': + """ + Get an existing DedicatedCluster 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] description: Dedicated Cluster Description. + :param pulumi.Input[str] name: Dedicated Cluster Name. + :param pulumi.Input[str] site_id: Dedicated Cluster Site ID. + :param pulumi.Input[str] zone: Dedicated Cluster Zone. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DedicatedClusterState.__new__(_DedicatedClusterState) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["site_id"] = site_id + __props__.__dict__["zone"] = zone + return DedicatedCluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Dedicated Cluster Description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Dedicated Cluster Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="siteId") + def site_id(self) -> pulumi.Output[str]: + """ + Dedicated Cluster Site ID. + """ + return pulumi.get(self, "site_id") + + @property + @pulumi.getter + def zone(self) -> pulumi.Output[str]: + """ + Dedicated Cluster Zone. + """ + return pulumi.get(self, "zone") + diff --git a/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_hosts.py b/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_hosts.py new file mode 100644 index 000000000..82e0b7958 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_hosts.py @@ -0,0 +1,134 @@ +# 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 + +__all__ = [ + 'GetDedicatedClusterHostsResult', + 'AwaitableGetDedicatedClusterHostsResult', + 'get_dedicated_cluster_hosts', + 'get_dedicated_cluster_hosts_output', +] + +@pulumi.output_type +class GetDedicatedClusterHostsResult: + """ + A collection of values returned by getDedicatedClusterHosts. + """ + def __init__(__self__, dedicated_cluster_id=None, host_info_sets=None, id=None, result_output_file=None): + if dedicated_cluster_id and not isinstance(dedicated_cluster_id, str): + raise TypeError("Expected argument 'dedicated_cluster_id' to be a str") + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + if host_info_sets and not isinstance(host_info_sets, list): + raise TypeError("Expected argument 'host_info_sets' to be a list") + pulumi.set(__self__, "host_info_sets", host_info_sets) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + 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="dedicatedClusterId") + def dedicated_cluster_id(self) -> str: + return pulumi.get(self, "dedicated_cluster_id") + + @property + @pulumi.getter(name="hostInfoSets") + def host_info_sets(self) -> Sequence['outputs.GetDedicatedClusterHostsHostInfoSetResult']: + """ + Dedicated Cluster Host Info. + """ + return pulumi.get(self, "host_info_sets") + + @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="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetDedicatedClusterHostsResult(GetDedicatedClusterHostsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDedicatedClusterHostsResult( + dedicated_cluster_id=self.dedicated_cluster_id, + host_info_sets=self.host_info_sets, + id=self.id, + result_output_file=self.result_output_file) + + +def get_dedicated_cluster_hosts(dedicated_cluster_id: Optional[str] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDedicatedClusterHostsResult: + """ + Use this data source to query detailed information of CDC dedicated cluster hosts + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + hosts = tencentcloud.Cdc.get_dedicated_cluster_hosts(dedicated_cluster_id="cluster-262n63e8") + ``` + + + + :param str dedicated_cluster_id: Dedicated Cluster ID. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['dedicatedClusterId'] = dedicated_cluster_id + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Cdc/getDedicatedClusterHosts:getDedicatedClusterHosts', __args__, opts=opts, typ=GetDedicatedClusterHostsResult).value + + return AwaitableGetDedicatedClusterHostsResult( + dedicated_cluster_id=pulumi.get(__ret__, 'dedicated_cluster_id'), + host_info_sets=pulumi.get(__ret__, 'host_info_sets'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_dedicated_cluster_hosts) +def get_dedicated_cluster_hosts_output(dedicated_cluster_id: Optional[pulumi.Input[str]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedClusterHostsResult]: + """ + Use this data source to query detailed information of CDC dedicated cluster hosts + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + hosts = tencentcloud.Cdc.get_dedicated_cluster_hosts(dedicated_cluster_id="cluster-262n63e8") + ``` + + + + :param str dedicated_cluster_id: Dedicated Cluster ID. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_instance_types.py b/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_instance_types.py new file mode 100644 index 000000000..fbddf3f0e --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_instance_types.py @@ -0,0 +1,134 @@ +# 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 + +__all__ = [ + 'GetDedicatedClusterInstanceTypesResult', + 'AwaitableGetDedicatedClusterInstanceTypesResult', + 'get_dedicated_cluster_instance_types', + 'get_dedicated_cluster_instance_types_output', +] + +@pulumi.output_type +class GetDedicatedClusterInstanceTypesResult: + """ + A collection of values returned by getDedicatedClusterInstanceTypes. + """ + def __init__(__self__, dedicated_cluster_id=None, dedicated_cluster_instance_type_sets=None, id=None, result_output_file=None): + if dedicated_cluster_id and not isinstance(dedicated_cluster_id, str): + raise TypeError("Expected argument 'dedicated_cluster_id' to be a str") + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + if dedicated_cluster_instance_type_sets and not isinstance(dedicated_cluster_instance_type_sets, list): + raise TypeError("Expected argument 'dedicated_cluster_instance_type_sets' to be a list") + pulumi.set(__self__, "dedicated_cluster_instance_type_sets", dedicated_cluster_instance_type_sets) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + 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="dedicatedClusterId") + def dedicated_cluster_id(self) -> str: + return pulumi.get(self, "dedicated_cluster_id") + + @property + @pulumi.getter(name="dedicatedClusterInstanceTypeSets") + def dedicated_cluster_instance_type_sets(self) -> Sequence['outputs.GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult']: + """ + Dedicated Cluster Supported InstanceType. + """ + return pulumi.get(self, "dedicated_cluster_instance_type_sets") + + @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="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetDedicatedClusterInstanceTypesResult(GetDedicatedClusterInstanceTypesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDedicatedClusterInstanceTypesResult( + dedicated_cluster_id=self.dedicated_cluster_id, + dedicated_cluster_instance_type_sets=self.dedicated_cluster_instance_type_sets, + id=self.id, + result_output_file=self.result_output_file) + + +def get_dedicated_cluster_instance_types(dedicated_cluster_id: Optional[str] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDedicatedClusterInstanceTypesResult: + """ + Use this data source to query detailed information of CDC dedicated cluster instance types + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + types = tencentcloud.Cdc.get_dedicated_cluster_instance_types(dedicated_cluster_id="cluster-262n63e8") + ``` + + + + :param str dedicated_cluster_id: Dedicated Cluster ID. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['dedicatedClusterId'] = dedicated_cluster_id + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Cdc/getDedicatedClusterInstanceTypes:getDedicatedClusterInstanceTypes', __args__, opts=opts, typ=GetDedicatedClusterInstanceTypesResult).value + + return AwaitableGetDedicatedClusterInstanceTypesResult( + dedicated_cluster_id=pulumi.get(__ret__, 'dedicated_cluster_id'), + dedicated_cluster_instance_type_sets=pulumi.get(__ret__, 'dedicated_cluster_instance_type_sets'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_dedicated_cluster_instance_types) +def get_dedicated_cluster_instance_types_output(dedicated_cluster_id: Optional[pulumi.Input[str]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedClusterInstanceTypesResult]: + """ + Use this data source to query detailed information of CDC dedicated cluster instance types + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + types = tencentcloud.Cdc.get_dedicated_cluster_instance_types(dedicated_cluster_id="cluster-262n63e8") + ``` + + + + :param str dedicated_cluster_id: Dedicated Cluster ID. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_orders.py b/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_orders.py new file mode 100644 index 000000000..1fb2f4be7 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdc/get_dedicated_cluster_orders.py @@ -0,0 +1,194 @@ +# 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 + +__all__ = [ + 'GetDedicatedClusterOrdersResult', + 'AwaitableGetDedicatedClusterOrdersResult', + 'get_dedicated_cluster_orders', + 'get_dedicated_cluster_orders_output', +] + +@pulumi.output_type +class GetDedicatedClusterOrdersResult: + """ + A collection of values returned by getDedicatedClusterOrders. + """ + def __init__(__self__, action_type=None, dedicated_cluster_ids=None, dedicated_cluster_order_sets=None, id=None, result_output_file=None, status=None): + if action_type and not isinstance(action_type, str): + raise TypeError("Expected argument 'action_type' to be a str") + pulumi.set(__self__, "action_type", action_type) + if dedicated_cluster_ids and not isinstance(dedicated_cluster_ids, list): + raise TypeError("Expected argument 'dedicated_cluster_ids' to be a list") + pulumi.set(__self__, "dedicated_cluster_ids", dedicated_cluster_ids) + if dedicated_cluster_order_sets and not isinstance(dedicated_cluster_order_sets, list): + raise TypeError("Expected argument 'dedicated_cluster_order_sets' to be a list") + pulumi.set(__self__, "dedicated_cluster_order_sets", dedicated_cluster_order_sets) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + 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) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> Optional[str]: + return pulumi.get(self, "action_type") + + @property + @pulumi.getter(name="dedicatedClusterIds") + def dedicated_cluster_ids(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "dedicated_cluster_ids") + + @property + @pulumi.getter(name="dedicatedClusterOrderSets") + def dedicated_cluster_order_sets(self) -> Sequence['outputs.GetDedicatedClusterOrdersDedicatedClusterOrderSetResult']: + """ + Filter by Dedicated Cluster Order. + """ + return pulumi.get(self, "dedicated_cluster_order_sets") + + @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="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + return pulumi.get(self, "status") + + +class AwaitableGetDedicatedClusterOrdersResult(GetDedicatedClusterOrdersResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDedicatedClusterOrdersResult( + action_type=self.action_type, + dedicated_cluster_ids=self.dedicated_cluster_ids, + dedicated_cluster_order_sets=self.dedicated_cluster_order_sets, + id=self.id, + result_output_file=self.result_output_file, + status=self.status) + + +def get_dedicated_cluster_orders(action_type: Optional[str] = None, + dedicated_cluster_ids: Optional[Sequence[str]] = None, + result_output_file: Optional[str] = None, + status: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDedicatedClusterOrdersResult: + """ + Use this data source to query detailed information of CDC dedicated cluster orders + + ## Example Usage + + ### Query all orders + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + orders = tencentcloud.Cdc.get_dedicated_cluster_orders() + ``` + + + ### Query orders by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + orders1 = tencentcloud.Cdc.get_dedicated_cluster_orders(dedicated_cluster_ids=["cluster-262n63e8"]) + orders3 = tencentcloud.Cdc.get_dedicated_cluster_orders(action_type="CREATE", + status="PENDING") + ``` + + + + :param str action_type: Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + :param Sequence[str] dedicated_cluster_ids: Filter by Dedicated Cluster ID. + :param str result_output_file: Used to save results. + :param str status: Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + """ + __args__ = dict() + __args__['actionType'] = action_type + __args__['dedicatedClusterIds'] = dedicated_cluster_ids + __args__['resultOutputFile'] = result_output_file + __args__['status'] = status + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Cdc/getDedicatedClusterOrders:getDedicatedClusterOrders', __args__, opts=opts, typ=GetDedicatedClusterOrdersResult).value + + return AwaitableGetDedicatedClusterOrdersResult( + action_type=pulumi.get(__ret__, 'action_type'), + dedicated_cluster_ids=pulumi.get(__ret__, 'dedicated_cluster_ids'), + dedicated_cluster_order_sets=pulumi.get(__ret__, 'dedicated_cluster_order_sets'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + status=pulumi.get(__ret__, 'status')) + + +@_utilities.lift_output_func(get_dedicated_cluster_orders) +def get_dedicated_cluster_orders_output(action_type: Optional[pulumi.Input[Optional[str]]] = None, + dedicated_cluster_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + status: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedClusterOrdersResult]: + """ + Use this data source to query detailed information of CDC dedicated cluster orders + + ## Example Usage + + ### Query all orders + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + orders = tencentcloud.Cdc.get_dedicated_cluster_orders() + ``` + + + ### Query orders by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + orders1 = tencentcloud.Cdc.get_dedicated_cluster_orders(dedicated_cluster_ids=["cluster-262n63e8"]) + orders3 = tencentcloud.Cdc.get_dedicated_cluster_orders(action_type="CREATE", + status="PENDING") + ``` + + + + :param str action_type: Filter by Dedicated Cluster Order Action Type. Allow filter value: CREATE, EXTEND. + :param Sequence[str] dedicated_cluster_ids: Filter by Dedicated Cluster ID. + :param str result_output_file: Used to save results. + :param str status: Filter by Dedicated Cluster Order Status. Allow filter value: PENDING, INCONSTRUCTION, DELIVERING, DELIVERED, EXPIRED, CANCELLED, OFFLINE. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/cdc/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cdc/outputs.py new file mode 100644 index 000000000..4af888de8 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdc/outputs.py @@ -0,0 +1,762 @@ +# 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 + +__all__ = [ + 'GetDedicatedClusterHostsHostInfoSetResult', + 'GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult', + 'GetDedicatedClusterOrdersDedicatedClusterOrderSetResult', + 'GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult', +] + +@pulumi.output_type +class GetDedicatedClusterHostsHostInfoSetResult(dict): + def __init__(__self__, *, + cpu_available: int, + cpu_total: int, + expire_time: str, + host_id: str, + host_ip: str, + host_status: str, + host_type: str, + mem_available: int, + mem_total: int, + run_time: str, + service_type: str): + """ + :param int cpu_available: Dedicated Cluster Host CPU Available Count. + :param int cpu_total: Dedicated Cluster Host CPU Total Count. + :param str expire_time: Dedicated Cluster Host Expire Time. + :param str host_id: Dedicated Cluster Host ID. + :param str host_ip: Dedicated Cluster Host Ip (Deprecated). + :param str host_status: Dedicated Cluster Host Status. + :param str host_type: Dedicated Cluster Host Type. + :param int mem_available: Dedicated Cluster Host Memory Available Count (GB). + :param int mem_total: Dedicated Cluster Host Memory Total Count (GB). + :param str run_time: Dedicated Cluster Host Run Time. + :param str service_type: Dedicated Cluster Service Type. + """ + pulumi.set(__self__, "cpu_available", cpu_available) + pulumi.set(__self__, "cpu_total", cpu_total) + pulumi.set(__self__, "expire_time", expire_time) + pulumi.set(__self__, "host_id", host_id) + pulumi.set(__self__, "host_ip", host_ip) + pulumi.set(__self__, "host_status", host_status) + pulumi.set(__self__, "host_type", host_type) + pulumi.set(__self__, "mem_available", mem_available) + pulumi.set(__self__, "mem_total", mem_total) + pulumi.set(__self__, "run_time", run_time) + pulumi.set(__self__, "service_type", service_type) + + @property + @pulumi.getter(name="cpuAvailable") + def cpu_available(self) -> int: + """ + Dedicated Cluster Host CPU Available Count. + """ + return pulumi.get(self, "cpu_available") + + @property + @pulumi.getter(name="cpuTotal") + def cpu_total(self) -> int: + """ + Dedicated Cluster Host CPU Total Count. + """ + return pulumi.get(self, "cpu_total") + + @property + @pulumi.getter(name="expireTime") + def expire_time(self) -> str: + """ + Dedicated Cluster Host Expire Time. + """ + return pulumi.get(self, "expire_time") + + @property + @pulumi.getter(name="hostId") + def host_id(self) -> str: + """ + Dedicated Cluster Host ID. + """ + return pulumi.get(self, "host_id") + + @property + @pulumi.getter(name="hostIp") + def host_ip(self) -> str: + """ + Dedicated Cluster Host Ip (Deprecated). + """ + return pulumi.get(self, "host_ip") + + @property + @pulumi.getter(name="hostStatus") + def host_status(self) -> str: + """ + Dedicated Cluster Host Status. + """ + return pulumi.get(self, "host_status") + + @property + @pulumi.getter(name="hostType") + def host_type(self) -> str: + """ + Dedicated Cluster Host Type. + """ + return pulumi.get(self, "host_type") + + @property + @pulumi.getter(name="memAvailable") + def mem_available(self) -> int: + """ + Dedicated Cluster Host Memory Available Count (GB). + """ + return pulumi.get(self, "mem_available") + + @property + @pulumi.getter(name="memTotal") + def mem_total(self) -> int: + """ + Dedicated Cluster Host Memory Total Count (GB). + """ + return pulumi.get(self, "mem_total") + + @property + @pulumi.getter(name="runTime") + def run_time(self) -> str: + """ + Dedicated Cluster Host Run Time. + """ + return pulumi.get(self, "run_time") + + @property + @pulumi.getter(name="serviceType") + def service_type(self) -> str: + """ + Dedicated Cluster Service Type. + """ + return pulumi.get(self, "service_type") + + +@pulumi.output_type +class GetDedicatedClusterInstanceTypesDedicatedClusterInstanceTypeSetResult(dict): + def __init__(__self__, *, + cpu: int, + cpu_type: str, + fpga: int, + gpu: int, + instance_bandwidth: float, + instance_family: str, + instance_pps: int, + instance_type: str, + memory: int, + network_card: int, + remark: str, + status: str, + storage_block_amount: int, + type_name: str, + zone: str): + """ + :param int cpu: Instance CPU. + :param str cpu_type: Instance CPU Type. + :param int fpga: Instance Fpga. + :param int gpu: Instance GPU. + :param float instance_bandwidth: Instance Bandwidth. + :param str instance_family: Instance Family. + :param int instance_pps: Instance Pps. + :param str instance_type: Instance Type. + :param int memory: Instance Memory. + :param int network_card: Instance Type. + :param str remark: Instance Remark. + :param str status: Instance Status. + :param int storage_block_amount: Instance Storage Block Amount. + :param str type_name: Instance Type Name. + :param str zone: Zone Name. + """ + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "cpu_type", cpu_type) + pulumi.set(__self__, "fpga", fpga) + pulumi.set(__self__, "gpu", gpu) + pulumi.set(__self__, "instance_bandwidth", instance_bandwidth) + pulumi.set(__self__, "instance_family", instance_family) + pulumi.set(__self__, "instance_pps", instance_pps) + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "network_card", network_card) + pulumi.set(__self__, "remark", remark) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "storage_block_amount", storage_block_amount) + pulumi.set(__self__, "type_name", type_name) + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter + def cpu(self) -> int: + """ + Instance CPU. + """ + return pulumi.get(self, "cpu") + + @property + @pulumi.getter(name="cpuType") + def cpu_type(self) -> str: + """ + Instance CPU Type. + """ + return pulumi.get(self, "cpu_type") + + @property + @pulumi.getter + def fpga(self) -> int: + """ + Instance Fpga. + """ + return pulumi.get(self, "fpga") + + @property + @pulumi.getter + def gpu(self) -> int: + """ + Instance GPU. + """ + return pulumi.get(self, "gpu") + + @property + @pulumi.getter(name="instanceBandwidth") + def instance_bandwidth(self) -> float: + """ + Instance Bandwidth. + """ + return pulumi.get(self, "instance_bandwidth") + + @property + @pulumi.getter(name="instanceFamily") + def instance_family(self) -> str: + """ + Instance Family. + """ + return pulumi.get(self, "instance_family") + + @property + @pulumi.getter(name="instancePps") + def instance_pps(self) -> int: + """ + Instance Pps. + """ + return pulumi.get(self, "instance_pps") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + """ + Instance Type. + """ + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter + def memory(self) -> int: + """ + Instance Memory. + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter(name="networkCard") + def network_card(self) -> int: + """ + Instance Type. + """ + return pulumi.get(self, "network_card") + + @property + @pulumi.getter + def remark(self) -> str: + """ + Instance Remark. + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter + def status(self) -> str: + """ + Instance Status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="storageBlockAmount") + def storage_block_amount(self) -> int: + """ + Instance Storage Block Amount. + """ + return pulumi.get(self, "storage_block_amount") + + @property + @pulumi.getter(name="typeName") + def type_name(self) -> str: + """ + Instance Type Name. + """ + return pulumi.get(self, "type_name") + + @property + @pulumi.getter + def zone(self) -> str: + """ + Zone Name. + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class GetDedicatedClusterOrdersDedicatedClusterOrderSetResult(dict): + def __init__(__self__, *, + action: str, + cpu: int, + create_time: str, + dedicated_cluster_id: str, + dedicated_cluster_order_id: str, + dedicated_cluster_order_items: Sequence['outputs.GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult'], + dedicated_cluster_type_id: str, + gpu: int, + mem: int, + order_status: str, + order_type: str, + pay_status: int, + pay_type: str, + power_draw: float, + supported_instance_families: Sequence[str], + supported_storage_types: Sequence[str], + supported_uplink_speeds: Sequence[int], + time_span: int, + time_unit: str, + weight: int): + """ + :param str action: Dedicated Cluster Order Action Type. + :param int cpu: Dedicated Cluster CPU. + :param str create_time: Dedicated Cluster Order Create time. + :param str dedicated_cluster_id: Dedicated Cluster ID. + :param str dedicated_cluster_order_id: Dedicated Cluster Order ID. + :param Sequence['GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemArgs'] dedicated_cluster_order_items: Dedicated Cluster Order Item List. + :param str dedicated_cluster_type_id: Dedicated Cluster Type ID. + :param int gpu: Dedicated Cluster GPU. + :param int mem: Dedicated Cluster Memory. + :param str order_status: Dedicated Cluster Order Status. + :param str order_type: Dedicated Cluster Order Type. + :param int pay_status: Dedicated Cluster Order Pay Status. + :param str pay_type: Dedicated Cluster Order Pay Type. + :param float power_draw: Dedicated Cluster Supported PowerDraw. + :param Sequence[str] supported_instance_families: Dedicated Cluster Supported Instance Family. + :param Sequence[str] supported_storage_types: Dedicated Cluster Storage Type. + :param Sequence[int] supported_uplink_speeds: Dedicated Cluster Supported Uplink Speed. + :param int time_span: Dedicated Cluster Order Pay Time Span. + :param str time_unit: Dedicated Cluster Order Pay Time Unit. + :param int weight: Dedicated Cluster Supported Weight. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + pulumi.set(__self__, "dedicated_cluster_order_id", dedicated_cluster_order_id) + pulumi.set(__self__, "dedicated_cluster_order_items", dedicated_cluster_order_items) + pulumi.set(__self__, "dedicated_cluster_type_id", dedicated_cluster_type_id) + pulumi.set(__self__, "gpu", gpu) + pulumi.set(__self__, "mem", mem) + pulumi.set(__self__, "order_status", order_status) + pulumi.set(__self__, "order_type", order_type) + pulumi.set(__self__, "pay_status", pay_status) + pulumi.set(__self__, "pay_type", pay_type) + pulumi.set(__self__, "power_draw", power_draw) + pulumi.set(__self__, "supported_instance_families", supported_instance_families) + pulumi.set(__self__, "supported_storage_types", supported_storage_types) + pulumi.set(__self__, "supported_uplink_speeds", supported_uplink_speeds) + pulumi.set(__self__, "time_span", time_span) + pulumi.set(__self__, "time_unit", time_unit) + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter + def action(self) -> str: + """ + Dedicated Cluster Order Action Type. + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter + def cpu(self) -> int: + """ + Dedicated Cluster CPU. + """ + return pulumi.get(self, "cpu") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Dedicated Cluster Order Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> str: + """ + Dedicated Cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @property + @pulumi.getter(name="dedicatedClusterOrderId") + def dedicated_cluster_order_id(self) -> str: + """ + Dedicated Cluster Order ID. + """ + return pulumi.get(self, "dedicated_cluster_order_id") + + @property + @pulumi.getter(name="dedicatedClusterOrderItems") + def dedicated_cluster_order_items(self) -> Sequence['outputs.GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult']: + """ + Dedicated Cluster Order Item List. + """ + return pulumi.get(self, "dedicated_cluster_order_items") + + @property + @pulumi.getter(name="dedicatedClusterTypeId") + def dedicated_cluster_type_id(self) -> str: + """ + Dedicated Cluster Type ID. + """ + return pulumi.get(self, "dedicated_cluster_type_id") + + @property + @pulumi.getter + def gpu(self) -> int: + """ + Dedicated Cluster GPU. + """ + return pulumi.get(self, "gpu") + + @property + @pulumi.getter + def mem(self) -> int: + """ + Dedicated Cluster Memory. + """ + return pulumi.get(self, "mem") + + @property + @pulumi.getter(name="orderStatus") + def order_status(self) -> str: + """ + Dedicated Cluster Order Status. + """ + return pulumi.get(self, "order_status") + + @property + @pulumi.getter(name="orderType") + def order_type(self) -> str: + """ + Dedicated Cluster Order Type. + """ + return pulumi.get(self, "order_type") + + @property + @pulumi.getter(name="payStatus") + def pay_status(self) -> int: + """ + Dedicated Cluster Order Pay Status. + """ + return pulumi.get(self, "pay_status") + + @property + @pulumi.getter(name="payType") + def pay_type(self) -> str: + """ + Dedicated Cluster Order Pay Type. + """ + return pulumi.get(self, "pay_type") + + @property + @pulumi.getter(name="powerDraw") + def power_draw(self) -> float: + """ + Dedicated Cluster Supported PowerDraw. + """ + return pulumi.get(self, "power_draw") + + @property + @pulumi.getter(name="supportedInstanceFamilies") + def supported_instance_families(self) -> Sequence[str]: + """ + Dedicated Cluster Supported Instance Family. + """ + return pulumi.get(self, "supported_instance_families") + + @property + @pulumi.getter(name="supportedStorageTypes") + def supported_storage_types(self) -> Sequence[str]: + """ + Dedicated Cluster Storage Type. + """ + return pulumi.get(self, "supported_storage_types") + + @property + @pulumi.getter(name="supportedUplinkSpeeds") + def supported_uplink_speeds(self) -> Sequence[int]: + """ + Dedicated Cluster Supported Uplink Speed. + """ + return pulumi.get(self, "supported_uplink_speeds") + + @property + @pulumi.getter(name="timeSpan") + def time_span(self) -> int: + """ + Dedicated Cluster Order Pay Time Span. + """ + return pulumi.get(self, "time_span") + + @property + @pulumi.getter(name="timeUnit") + def time_unit(self) -> str: + """ + Dedicated Cluster Order Pay Time Unit. + """ + return pulumi.get(self, "time_unit") + + @property + @pulumi.getter + def weight(self) -> int: + """ + Dedicated Cluster Supported Weight. + """ + return pulumi.get(self, "weight") + + +@pulumi.output_type +class GetDedicatedClusterOrdersDedicatedClusterOrderSetDedicatedClusterOrderItemResult(dict): + def __init__(__self__, *, + compute_format: str, + count: int, + create_time: str, + dedicated_cluster_type_id: str, + description: str, + name: str, + power_draw: float, + sub_order_id: str, + sub_order_pay_status: int, + sub_order_status: str, + supported_instance_families: Sequence[str], + supported_storage_types: Sequence[str], + supported_uplink_speeds: Sequence[int], + total_cpu: int, + total_gpu: int, + total_mem: int, + type_family: str, + type_name: str, + weight: int): + """ + :param str compute_format: Dedicated Cluster Compute Format. + :param int count: Dedicated Cluster SubOrder Count. + :param str create_time: Dedicated Cluster Order Create time. + :param str dedicated_cluster_type_id: Dedicated Cluster Type ID. + :param str description: Dedicated Cluster Type Description. + :param str name: Dedicated Cluster Type Name. + :param float power_draw: Dedicated Cluster Supported PowerDraw. + :param str sub_order_id: Dedicated Cluster SubOrder ID. + :param int sub_order_pay_status: Dedicated Cluster SubOrder Pay Status. + :param str sub_order_status: Dedicated Cluster Order Status. + :param Sequence[str] supported_instance_families: Dedicated Cluster Supported Instance Family. + :param Sequence[str] supported_storage_types: Dedicated Cluster Storage Type. + :param Sequence[int] supported_uplink_speeds: Dedicated Cluster Supported Uplink Speed. + :param int total_cpu: Dedicated Cluster Total CPU. + :param int total_gpu: Dedicated Cluster Total GPU. + :param int total_mem: Dedicated Cluster Total Memory. + :param str type_family: Dedicated Cluster Type Family. + :param str type_name: Dedicated Cluster Type Name. + :param int weight: Dedicated Cluster Supported Weight. + """ + pulumi.set(__self__, "compute_format", compute_format) + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "dedicated_cluster_type_id", dedicated_cluster_type_id) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "power_draw", power_draw) + pulumi.set(__self__, "sub_order_id", sub_order_id) + pulumi.set(__self__, "sub_order_pay_status", sub_order_pay_status) + pulumi.set(__self__, "sub_order_status", sub_order_status) + pulumi.set(__self__, "supported_instance_families", supported_instance_families) + pulumi.set(__self__, "supported_storage_types", supported_storage_types) + pulumi.set(__self__, "supported_uplink_speeds", supported_uplink_speeds) + pulumi.set(__self__, "total_cpu", total_cpu) + pulumi.set(__self__, "total_gpu", total_gpu) + pulumi.set(__self__, "total_mem", total_mem) + pulumi.set(__self__, "type_family", type_family) + pulumi.set(__self__, "type_name", type_name) + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter(name="computeFormat") + def compute_format(self) -> str: + """ + Dedicated Cluster Compute Format. + """ + return pulumi.get(self, "compute_format") + + @property + @pulumi.getter + def count(self) -> int: + """ + Dedicated Cluster SubOrder Count. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Dedicated Cluster Order Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="dedicatedClusterTypeId") + def dedicated_cluster_type_id(self) -> str: + """ + Dedicated Cluster Type ID. + """ + return pulumi.get(self, "dedicated_cluster_type_id") + + @property + @pulumi.getter + def description(self) -> str: + """ + Dedicated Cluster Type Description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> str: + """ + Dedicated Cluster Type Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="powerDraw") + def power_draw(self) -> float: + """ + Dedicated Cluster Supported PowerDraw. + """ + return pulumi.get(self, "power_draw") + + @property + @pulumi.getter(name="subOrderId") + def sub_order_id(self) -> str: + """ + Dedicated Cluster SubOrder ID. + """ + return pulumi.get(self, "sub_order_id") + + @property + @pulumi.getter(name="subOrderPayStatus") + def sub_order_pay_status(self) -> int: + """ + Dedicated Cluster SubOrder Pay Status. + """ + return pulumi.get(self, "sub_order_pay_status") + + @property + @pulumi.getter(name="subOrderStatus") + def sub_order_status(self) -> str: + """ + Dedicated Cluster Order Status. + """ + return pulumi.get(self, "sub_order_status") + + @property + @pulumi.getter(name="supportedInstanceFamilies") + def supported_instance_families(self) -> Sequence[str]: + """ + Dedicated Cluster Supported Instance Family. + """ + return pulumi.get(self, "supported_instance_families") + + @property + @pulumi.getter(name="supportedStorageTypes") + def supported_storage_types(self) -> Sequence[str]: + """ + Dedicated Cluster Storage Type. + """ + return pulumi.get(self, "supported_storage_types") + + @property + @pulumi.getter(name="supportedUplinkSpeeds") + def supported_uplink_speeds(self) -> Sequence[int]: + """ + Dedicated Cluster Supported Uplink Speed. + """ + return pulumi.get(self, "supported_uplink_speeds") + + @property + @pulumi.getter(name="totalCpu") + def total_cpu(self) -> int: + """ + Dedicated Cluster Total CPU. + """ + return pulumi.get(self, "total_cpu") + + @property + @pulumi.getter(name="totalGpu") + def total_gpu(self) -> int: + """ + Dedicated Cluster Total GPU. + """ + return pulumi.get(self, "total_gpu") + + @property + @pulumi.getter(name="totalMem") + def total_mem(self) -> int: + """ + Dedicated Cluster Total Memory. + """ + return pulumi.get(self, "total_mem") + + @property + @pulumi.getter(name="typeFamily") + def type_family(self) -> str: + """ + Dedicated Cluster Type Family. + """ + return pulumi.get(self, "type_family") + + @property + @pulumi.getter(name="typeName") + def type_name(self) -> str: + """ + Dedicated Cluster Type Name. + """ + return pulumi.get(self, "type_name") + + @property + @pulumi.getter + def weight(self) -> int: + """ + Dedicated Cluster Supported Weight. + """ + return pulumi.get(self, "weight") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/cdc/site.py b/sdk/python/tencentcloud_iac_pulumi/cdc/site.py new file mode 100644 index 000000000..ed2a44485 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdc/site.py @@ -0,0 +1,1203 @@ +# 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__ = ['SiteArgs', 'Site'] + +@pulumi.input_type +class SiteArgs: + def __init__(__self__, *, + address_line: pulumi.Input[str], + city: pulumi.Input[str], + country: pulumi.Input[str], + province: pulumi.Input[str], + breaker_requirement: Optional[pulumi.Input[bool]] = None, + condition_requirement: Optional[pulumi.Input[bool]] = None, + description: Optional[pulumi.Input[str]] = None, + dimension_requirement: Optional[pulumi.Input[bool]] = None, + fiber_type: Optional[pulumi.Input[str]] = None, + max_weight: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_help: Optional[pulumi.Input[bool]] = None, + optical_standard: Optional[pulumi.Input[str]] = None, + optional_address_line: Optional[pulumi.Input[str]] = None, + power_connectors: Optional[pulumi.Input[str]] = None, + power_draw_kva: Optional[pulumi.Input[int]] = None, + power_feed_drop: Optional[pulumi.Input[str]] = None, + redundant_networking: Optional[pulumi.Input[bool]] = None, + redundant_power: Optional[pulumi.Input[bool]] = None, + uplink_count: Optional[pulumi.Input[int]] = None, + uplink_speed_gbps: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a Site resource. + :param pulumi.Input[str] address_line: Site Detail Address. + :param pulumi.Input[str] city: Site City. + :param pulumi.Input[str] country: Site Country. + :param pulumi.Input[str] province: Site Province. + :param pulumi.Input[bool] breaker_requirement: Whether there is an upstream circuit breaker. + :param pulumi.Input[bool] condition_requirement: Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + :param pulumi.Input[str] description: Site Description. + :param pulumi.Input[bool] dimension_requirement: Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + :param pulumi.Input[str] fiber_type: Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + :param pulumi.Input[int] max_weight: Site Max Weight capacity (KG). + :param pulumi.Input[str] name: Site Name. + :param pulumi.Input[bool] need_help: Whether you need help from Tencent Cloud for rack installation. + :param pulumi.Input[str] optical_standard: Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + :param pulumi.Input[str] optional_address_line: Detailed address of the site area (to be added). + :param pulumi.Input[str] power_connectors: Site Power Connectors. Example: 380VAC3P. + :param pulumi.Input[int] power_draw_kva: Site Power DrawKva (KW). + :param pulumi.Input[str] power_feed_drop: Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + :param pulumi.Input[bool] redundant_networking: Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + :param pulumi.Input[bool] redundant_power: Whether there is power redundancy. + :param pulumi.Input[int] uplink_count: Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + :param pulumi.Input[int] uplink_speed_gbps: Uplink speed from the network to Tencent Cloud Region. + """ + pulumi.set(__self__, "address_line", address_line) + pulumi.set(__self__, "city", city) + pulumi.set(__self__, "country", country) + pulumi.set(__self__, "province", province) + if breaker_requirement is not None: + pulumi.set(__self__, "breaker_requirement", breaker_requirement) + if condition_requirement is not None: + pulumi.set(__self__, "condition_requirement", condition_requirement) + if description is not None: + pulumi.set(__self__, "description", description) + if dimension_requirement is not None: + pulumi.set(__self__, "dimension_requirement", dimension_requirement) + if fiber_type is not None: + pulumi.set(__self__, "fiber_type", fiber_type) + if max_weight is not None: + pulumi.set(__self__, "max_weight", max_weight) + if name is not None: + pulumi.set(__self__, "name", name) + if need_help is not None: + pulumi.set(__self__, "need_help", need_help) + if optical_standard is not None: + pulumi.set(__self__, "optical_standard", optical_standard) + if optional_address_line is not None: + pulumi.set(__self__, "optional_address_line", optional_address_line) + if power_connectors is not None: + pulumi.set(__self__, "power_connectors", power_connectors) + if power_draw_kva is not None: + pulumi.set(__self__, "power_draw_kva", power_draw_kva) + if power_feed_drop is not None: + pulumi.set(__self__, "power_feed_drop", power_feed_drop) + if redundant_networking is not None: + pulumi.set(__self__, "redundant_networking", redundant_networking) + if redundant_power is not None: + pulumi.set(__self__, "redundant_power", redundant_power) + if uplink_count is not None: + pulumi.set(__self__, "uplink_count", uplink_count) + if uplink_speed_gbps is not None: + pulumi.set(__self__, "uplink_speed_gbps", uplink_speed_gbps) + + @property + @pulumi.getter(name="addressLine") + def address_line(self) -> pulumi.Input[str]: + """ + Site Detail Address. + """ + return pulumi.get(self, "address_line") + + @address_line.setter + def address_line(self, value: pulumi.Input[str]): + pulumi.set(self, "address_line", value) + + @property + @pulumi.getter + def city(self) -> pulumi.Input[str]: + """ + Site City. + """ + return pulumi.get(self, "city") + + @city.setter + def city(self, value: pulumi.Input[str]): + pulumi.set(self, "city", value) + + @property + @pulumi.getter + def country(self) -> pulumi.Input[str]: + """ + Site Country. + """ + return pulumi.get(self, "country") + + @country.setter + def country(self, value: pulumi.Input[str]): + pulumi.set(self, "country", value) + + @property + @pulumi.getter + def province(self) -> pulumi.Input[str]: + """ + Site Province. + """ + return pulumi.get(self, "province") + + @province.setter + def province(self, value: pulumi.Input[str]): + pulumi.set(self, "province", value) + + @property + @pulumi.getter(name="breakerRequirement") + def breaker_requirement(self) -> Optional[pulumi.Input[bool]]: + """ + Whether there is an upstream circuit breaker. + """ + return pulumi.get(self, "breaker_requirement") + + @breaker_requirement.setter + def breaker_requirement(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "breaker_requirement", value) + + @property + @pulumi.getter(name="conditionRequirement") + def condition_requirement(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + """ + return pulumi.get(self, "condition_requirement") + + @condition_requirement.setter + def condition_requirement(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "condition_requirement", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Site Description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="dimensionRequirement") + def dimension_requirement(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + """ + return pulumi.get(self, "dimension_requirement") + + @dimension_requirement.setter + def dimension_requirement(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dimension_requirement", value) + + @property + @pulumi.getter(name="fiberType") + def fiber_type(self) -> Optional[pulumi.Input[str]]: + """ + Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + """ + return pulumi.get(self, "fiber_type") + + @fiber_type.setter + def fiber_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fiber_type", value) + + @property + @pulumi.getter(name="maxWeight") + def max_weight(self) -> Optional[pulumi.Input[int]]: + """ + Site Max Weight capacity (KG). + """ + return pulumi.get(self, "max_weight") + + @max_weight.setter + def max_weight(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_weight", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Site Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="needHelp") + def need_help(self) -> Optional[pulumi.Input[bool]]: + """ + Whether you need help from Tencent Cloud for rack installation. + """ + return pulumi.get(self, "need_help") + + @need_help.setter + def need_help(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "need_help", value) + + @property + @pulumi.getter(name="opticalStandard") + def optical_standard(self) -> Optional[pulumi.Input[str]]: + """ + Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + """ + return pulumi.get(self, "optical_standard") + + @optical_standard.setter + def optical_standard(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "optical_standard", value) + + @property + @pulumi.getter(name="optionalAddressLine") + def optional_address_line(self) -> Optional[pulumi.Input[str]]: + """ + Detailed address of the site area (to be added). + """ + return pulumi.get(self, "optional_address_line") + + @optional_address_line.setter + def optional_address_line(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "optional_address_line", value) + + @property + @pulumi.getter(name="powerConnectors") + def power_connectors(self) -> Optional[pulumi.Input[str]]: + """ + Site Power Connectors. Example: 380VAC3P. + """ + return pulumi.get(self, "power_connectors") + + @power_connectors.setter + def power_connectors(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "power_connectors", value) + + @property + @pulumi.getter(name="powerDrawKva") + def power_draw_kva(self) -> Optional[pulumi.Input[int]]: + """ + Site Power DrawKva (KW). + """ + return pulumi.get(self, "power_draw_kva") + + @power_draw_kva.setter + def power_draw_kva(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "power_draw_kva", value) + + @property + @pulumi.getter(name="powerFeedDrop") + def power_feed_drop(self) -> Optional[pulumi.Input[str]]: + """ + Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + """ + return pulumi.get(self, "power_feed_drop") + + @power_feed_drop.setter + def power_feed_drop(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "power_feed_drop", value) + + @property + @pulumi.getter(name="redundantNetworking") + def redundant_networking(self) -> Optional[pulumi.Input[bool]]: + """ + Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + """ + return pulumi.get(self, "redundant_networking") + + @redundant_networking.setter + def redundant_networking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "redundant_networking", value) + + @property + @pulumi.getter(name="redundantPower") + def redundant_power(self) -> Optional[pulumi.Input[bool]]: + """ + Whether there is power redundancy. + """ + return pulumi.get(self, "redundant_power") + + @redundant_power.setter + def redundant_power(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "redundant_power", value) + + @property + @pulumi.getter(name="uplinkCount") + def uplink_count(self) -> Optional[pulumi.Input[int]]: + """ + Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + """ + return pulumi.get(self, "uplink_count") + + @uplink_count.setter + def uplink_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "uplink_count", value) + + @property + @pulumi.getter(name="uplinkSpeedGbps") + def uplink_speed_gbps(self) -> Optional[pulumi.Input[int]]: + """ + Uplink speed from the network to Tencent Cloud Region. + """ + return pulumi.get(self, "uplink_speed_gbps") + + @uplink_speed_gbps.setter + def uplink_speed_gbps(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "uplink_speed_gbps", value) + + +@pulumi.input_type +class _SiteState: + def __init__(__self__, *, + address_line: Optional[pulumi.Input[str]] = None, + breaker_requirement: Optional[pulumi.Input[bool]] = None, + city: Optional[pulumi.Input[str]] = None, + condition_requirement: Optional[pulumi.Input[bool]] = None, + country: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + dimension_requirement: Optional[pulumi.Input[bool]] = None, + fiber_type: Optional[pulumi.Input[str]] = None, + max_weight: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_help: Optional[pulumi.Input[bool]] = None, + optical_standard: Optional[pulumi.Input[str]] = None, + optional_address_line: Optional[pulumi.Input[str]] = None, + power_connectors: Optional[pulumi.Input[str]] = None, + power_draw_kva: Optional[pulumi.Input[int]] = None, + power_feed_drop: Optional[pulumi.Input[str]] = None, + province: Optional[pulumi.Input[str]] = None, + redundant_networking: Optional[pulumi.Input[bool]] = None, + redundant_power: Optional[pulumi.Input[bool]] = None, + uplink_count: Optional[pulumi.Input[int]] = None, + uplink_speed_gbps: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering Site resources. + :param pulumi.Input[str] address_line: Site Detail Address. + :param pulumi.Input[bool] breaker_requirement: Whether there is an upstream circuit breaker. + :param pulumi.Input[str] city: Site City. + :param pulumi.Input[bool] condition_requirement: Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + :param pulumi.Input[str] country: Site Country. + :param pulumi.Input[str] description: Site Description. + :param pulumi.Input[bool] dimension_requirement: Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + :param pulumi.Input[str] fiber_type: Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + :param pulumi.Input[int] max_weight: Site Max Weight capacity (KG). + :param pulumi.Input[str] name: Site Name. + :param pulumi.Input[bool] need_help: Whether you need help from Tencent Cloud for rack installation. + :param pulumi.Input[str] optical_standard: Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + :param pulumi.Input[str] optional_address_line: Detailed address of the site area (to be added). + :param pulumi.Input[str] power_connectors: Site Power Connectors. Example: 380VAC3P. + :param pulumi.Input[int] power_draw_kva: Site Power DrawKva (KW). + :param pulumi.Input[str] power_feed_drop: Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + :param pulumi.Input[str] province: Site Province. + :param pulumi.Input[bool] redundant_networking: Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + :param pulumi.Input[bool] redundant_power: Whether there is power redundancy. + :param pulumi.Input[int] uplink_count: Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + :param pulumi.Input[int] uplink_speed_gbps: Uplink speed from the network to Tencent Cloud Region. + """ + if address_line is not None: + pulumi.set(__self__, "address_line", address_line) + if breaker_requirement is not None: + pulumi.set(__self__, "breaker_requirement", breaker_requirement) + if city is not None: + pulumi.set(__self__, "city", city) + if condition_requirement is not None: + pulumi.set(__self__, "condition_requirement", condition_requirement) + if country is not None: + pulumi.set(__self__, "country", country) + if description is not None: + pulumi.set(__self__, "description", description) + if dimension_requirement is not None: + pulumi.set(__self__, "dimension_requirement", dimension_requirement) + if fiber_type is not None: + pulumi.set(__self__, "fiber_type", fiber_type) + if max_weight is not None: + pulumi.set(__self__, "max_weight", max_weight) + if name is not None: + pulumi.set(__self__, "name", name) + if need_help is not None: + pulumi.set(__self__, "need_help", need_help) + if optical_standard is not None: + pulumi.set(__self__, "optical_standard", optical_standard) + if optional_address_line is not None: + pulumi.set(__self__, "optional_address_line", optional_address_line) + if power_connectors is not None: + pulumi.set(__self__, "power_connectors", power_connectors) + if power_draw_kva is not None: + pulumi.set(__self__, "power_draw_kva", power_draw_kva) + if power_feed_drop is not None: + pulumi.set(__self__, "power_feed_drop", power_feed_drop) + if province is not None: + pulumi.set(__self__, "province", province) + if redundant_networking is not None: + pulumi.set(__self__, "redundant_networking", redundant_networking) + if redundant_power is not None: + pulumi.set(__self__, "redundant_power", redundant_power) + if uplink_count is not None: + pulumi.set(__self__, "uplink_count", uplink_count) + if uplink_speed_gbps is not None: + pulumi.set(__self__, "uplink_speed_gbps", uplink_speed_gbps) + + @property + @pulumi.getter(name="addressLine") + def address_line(self) -> Optional[pulumi.Input[str]]: + """ + Site Detail Address. + """ + return pulumi.get(self, "address_line") + + @address_line.setter + def address_line(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "address_line", value) + + @property + @pulumi.getter(name="breakerRequirement") + def breaker_requirement(self) -> Optional[pulumi.Input[bool]]: + """ + Whether there is an upstream circuit breaker. + """ + return pulumi.get(self, "breaker_requirement") + + @breaker_requirement.setter + def breaker_requirement(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "breaker_requirement", value) + + @property + @pulumi.getter + def city(self) -> Optional[pulumi.Input[str]]: + """ + Site City. + """ + return pulumi.get(self, "city") + + @city.setter + def city(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "city", value) + + @property + @pulumi.getter(name="conditionRequirement") + def condition_requirement(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + """ + return pulumi.get(self, "condition_requirement") + + @condition_requirement.setter + def condition_requirement(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "condition_requirement", value) + + @property + @pulumi.getter + def country(self) -> Optional[pulumi.Input[str]]: + """ + Site Country. + """ + return pulumi.get(self, "country") + + @country.setter + def country(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "country", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Site Description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="dimensionRequirement") + def dimension_requirement(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + """ + return pulumi.get(self, "dimension_requirement") + + @dimension_requirement.setter + def dimension_requirement(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dimension_requirement", value) + + @property + @pulumi.getter(name="fiberType") + def fiber_type(self) -> Optional[pulumi.Input[str]]: + """ + Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + """ + return pulumi.get(self, "fiber_type") + + @fiber_type.setter + def fiber_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fiber_type", value) + + @property + @pulumi.getter(name="maxWeight") + def max_weight(self) -> Optional[pulumi.Input[int]]: + """ + Site Max Weight capacity (KG). + """ + return pulumi.get(self, "max_weight") + + @max_weight.setter + def max_weight(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_weight", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Site Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="needHelp") + def need_help(self) -> Optional[pulumi.Input[bool]]: + """ + Whether you need help from Tencent Cloud for rack installation. + """ + return pulumi.get(self, "need_help") + + @need_help.setter + def need_help(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "need_help", value) + + @property + @pulumi.getter(name="opticalStandard") + def optical_standard(self) -> Optional[pulumi.Input[str]]: + """ + Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + """ + return pulumi.get(self, "optical_standard") + + @optical_standard.setter + def optical_standard(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "optical_standard", value) + + @property + @pulumi.getter(name="optionalAddressLine") + def optional_address_line(self) -> Optional[pulumi.Input[str]]: + """ + Detailed address of the site area (to be added). + """ + return pulumi.get(self, "optional_address_line") + + @optional_address_line.setter + def optional_address_line(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "optional_address_line", value) + + @property + @pulumi.getter(name="powerConnectors") + def power_connectors(self) -> Optional[pulumi.Input[str]]: + """ + Site Power Connectors. Example: 380VAC3P. + """ + return pulumi.get(self, "power_connectors") + + @power_connectors.setter + def power_connectors(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "power_connectors", value) + + @property + @pulumi.getter(name="powerDrawKva") + def power_draw_kva(self) -> Optional[pulumi.Input[int]]: + """ + Site Power DrawKva (KW). + """ + return pulumi.get(self, "power_draw_kva") + + @power_draw_kva.setter + def power_draw_kva(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "power_draw_kva", value) + + @property + @pulumi.getter(name="powerFeedDrop") + def power_feed_drop(self) -> Optional[pulumi.Input[str]]: + """ + Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + """ + return pulumi.get(self, "power_feed_drop") + + @power_feed_drop.setter + def power_feed_drop(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "power_feed_drop", value) + + @property + @pulumi.getter + def province(self) -> Optional[pulumi.Input[str]]: + """ + Site Province. + """ + return pulumi.get(self, "province") + + @province.setter + def province(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "province", value) + + @property + @pulumi.getter(name="redundantNetworking") + def redundant_networking(self) -> Optional[pulumi.Input[bool]]: + """ + Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + """ + return pulumi.get(self, "redundant_networking") + + @redundant_networking.setter + def redundant_networking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "redundant_networking", value) + + @property + @pulumi.getter(name="redundantPower") + def redundant_power(self) -> Optional[pulumi.Input[bool]]: + """ + Whether there is power redundancy. + """ + return pulumi.get(self, "redundant_power") + + @redundant_power.setter + def redundant_power(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "redundant_power", value) + + @property + @pulumi.getter(name="uplinkCount") + def uplink_count(self) -> Optional[pulumi.Input[int]]: + """ + Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + """ + return pulumi.get(self, "uplink_count") + + @uplink_count.setter + def uplink_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "uplink_count", value) + + @property + @pulumi.getter(name="uplinkSpeedGbps") + def uplink_speed_gbps(self) -> Optional[pulumi.Input[int]]: + """ + Uplink speed from the network to Tencent Cloud Region. + """ + return pulumi.get(self, "uplink_speed_gbps") + + @uplink_speed_gbps.setter + def uplink_speed_gbps(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "uplink_speed_gbps", value) + + +class Site(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + address_line: Optional[pulumi.Input[str]] = None, + breaker_requirement: Optional[pulumi.Input[bool]] = None, + city: Optional[pulumi.Input[str]] = None, + condition_requirement: Optional[pulumi.Input[bool]] = None, + country: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + dimension_requirement: Optional[pulumi.Input[bool]] = None, + fiber_type: Optional[pulumi.Input[str]] = None, + max_weight: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_help: Optional[pulumi.Input[bool]] = None, + optical_standard: Optional[pulumi.Input[str]] = None, + optional_address_line: Optional[pulumi.Input[str]] = None, + power_connectors: Optional[pulumi.Input[str]] = None, + power_draw_kva: Optional[pulumi.Input[int]] = None, + power_feed_drop: Optional[pulumi.Input[str]] = None, + province: Optional[pulumi.Input[str]] = None, + redundant_networking: Optional[pulumi.Input[bool]] = None, + redundant_power: Optional[pulumi.Input[bool]] = None, + uplink_count: Optional[pulumi.Input[int]] = None, + uplink_speed_gbps: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Provides a resource to create a CDC site + + ## Example Usage + + ### Create a basic CDC site + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cdc.Site("example", + address_line="Tencent Building", + city="Guangzhou", + country="China", + description="desc.", + province="Guangdong Province") + ``` + + + ### Create a complete CDC site + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cdc.Site("example", + address_line="Shenzhen Tencent Building", + breaker_requirement=True, + city="Guangzhou", + condition_requirement=True, + country="China", + description="desc.", + dimension_requirement=True, + fiber_type="MM", + max_weight=100, + need_help=True, + optical_standard="MM", + optional_address_line="Shenzhen Tencent Building of Binhai", + power_connectors="380VAC3P", + power_draw_kva=10, + power_feed_drop="DOWN", + province="Guangdong Province", + redundant_networking=True, + redundant_power=True, + uplink_count=2, + uplink_speed_gbps=10) + ``` + + + ## Import + + CDC site can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Cdc/site:Site example site-43qcf1ag + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] address_line: Site Detail Address. + :param pulumi.Input[bool] breaker_requirement: Whether there is an upstream circuit breaker. + :param pulumi.Input[str] city: Site City. + :param pulumi.Input[bool] condition_requirement: Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + :param pulumi.Input[str] country: Site Country. + :param pulumi.Input[str] description: Site Description. + :param pulumi.Input[bool] dimension_requirement: Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + :param pulumi.Input[str] fiber_type: Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + :param pulumi.Input[int] max_weight: Site Max Weight capacity (KG). + :param pulumi.Input[str] name: Site Name. + :param pulumi.Input[bool] need_help: Whether you need help from Tencent Cloud for rack installation. + :param pulumi.Input[str] optical_standard: Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + :param pulumi.Input[str] optional_address_line: Detailed address of the site area (to be added). + :param pulumi.Input[str] power_connectors: Site Power Connectors. Example: 380VAC3P. + :param pulumi.Input[int] power_draw_kva: Site Power DrawKva (KW). + :param pulumi.Input[str] power_feed_drop: Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + :param pulumi.Input[str] province: Site Province. + :param pulumi.Input[bool] redundant_networking: Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + :param pulumi.Input[bool] redundant_power: Whether there is power redundancy. + :param pulumi.Input[int] uplink_count: Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + :param pulumi.Input[int] uplink_speed_gbps: Uplink speed from the network to Tencent Cloud Region. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SiteArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a CDC site + + ## Example Usage + + ### Create a basic CDC site + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cdc.Site("example", + address_line="Tencent Building", + city="Guangzhou", + country="China", + description="desc.", + province="Guangdong Province") + ``` + + + ### Create a complete CDC site + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.cdc.Site("example", + address_line="Shenzhen Tencent Building", + breaker_requirement=True, + city="Guangzhou", + condition_requirement=True, + country="China", + description="desc.", + dimension_requirement=True, + fiber_type="MM", + max_weight=100, + need_help=True, + optical_standard="MM", + optional_address_line="Shenzhen Tencent Building of Binhai", + power_connectors="380VAC3P", + power_draw_kva=10, + power_feed_drop="DOWN", + province="Guangdong Province", + redundant_networking=True, + redundant_power=True, + uplink_count=2, + uplink_speed_gbps=10) + ``` + + + ## Import + + CDC site can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Cdc/site:Site example site-43qcf1ag + ``` + + :param str resource_name: The name of the resource. + :param SiteArgs 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(SiteArgs, 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, + address_line: Optional[pulumi.Input[str]] = None, + breaker_requirement: Optional[pulumi.Input[bool]] = None, + city: Optional[pulumi.Input[str]] = None, + condition_requirement: Optional[pulumi.Input[bool]] = None, + country: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + dimension_requirement: Optional[pulumi.Input[bool]] = None, + fiber_type: Optional[pulumi.Input[str]] = None, + max_weight: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_help: Optional[pulumi.Input[bool]] = None, + optical_standard: Optional[pulumi.Input[str]] = None, + optional_address_line: Optional[pulumi.Input[str]] = None, + power_connectors: Optional[pulumi.Input[str]] = None, + power_draw_kva: Optional[pulumi.Input[int]] = None, + power_feed_drop: Optional[pulumi.Input[str]] = None, + province: Optional[pulumi.Input[str]] = None, + redundant_networking: Optional[pulumi.Input[bool]] = None, + redundant_power: Optional[pulumi.Input[bool]] = None, + uplink_count: Optional[pulumi.Input[int]] = None, + uplink_speed_gbps: Optional[pulumi.Input[int]] = 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__ = SiteArgs.__new__(SiteArgs) + + if address_line is None and not opts.urn: + raise TypeError("Missing required property 'address_line'") + __props__.__dict__["address_line"] = address_line + __props__.__dict__["breaker_requirement"] = breaker_requirement + if city is None and not opts.urn: + raise TypeError("Missing required property 'city'") + __props__.__dict__["city"] = city + __props__.__dict__["condition_requirement"] = condition_requirement + if country is None and not opts.urn: + raise TypeError("Missing required property 'country'") + __props__.__dict__["country"] = country + __props__.__dict__["description"] = description + __props__.__dict__["dimension_requirement"] = dimension_requirement + __props__.__dict__["fiber_type"] = fiber_type + __props__.__dict__["max_weight"] = max_weight + __props__.__dict__["name"] = name + __props__.__dict__["need_help"] = need_help + __props__.__dict__["optical_standard"] = optical_standard + __props__.__dict__["optional_address_line"] = optional_address_line + __props__.__dict__["power_connectors"] = power_connectors + __props__.__dict__["power_draw_kva"] = power_draw_kva + __props__.__dict__["power_feed_drop"] = power_feed_drop + if province is None and not opts.urn: + raise TypeError("Missing required property 'province'") + __props__.__dict__["province"] = province + __props__.__dict__["redundant_networking"] = redundant_networking + __props__.__dict__["redundant_power"] = redundant_power + __props__.__dict__["uplink_count"] = uplink_count + __props__.__dict__["uplink_speed_gbps"] = uplink_speed_gbps + super(Site, __self__).__init__( + 'tencentcloud:Cdc/site:Site', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + address_line: Optional[pulumi.Input[str]] = None, + breaker_requirement: Optional[pulumi.Input[bool]] = None, + city: Optional[pulumi.Input[str]] = None, + condition_requirement: Optional[pulumi.Input[bool]] = None, + country: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + dimension_requirement: Optional[pulumi.Input[bool]] = None, + fiber_type: Optional[pulumi.Input[str]] = None, + max_weight: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + need_help: Optional[pulumi.Input[bool]] = None, + optical_standard: Optional[pulumi.Input[str]] = None, + optional_address_line: Optional[pulumi.Input[str]] = None, + power_connectors: Optional[pulumi.Input[str]] = None, + power_draw_kva: Optional[pulumi.Input[int]] = None, + power_feed_drop: Optional[pulumi.Input[str]] = None, + province: Optional[pulumi.Input[str]] = None, + redundant_networking: Optional[pulumi.Input[bool]] = None, + redundant_power: Optional[pulumi.Input[bool]] = None, + uplink_count: Optional[pulumi.Input[int]] = None, + uplink_speed_gbps: Optional[pulumi.Input[int]] = None) -> 'Site': + """ + Get an existing Site 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] address_line: Site Detail Address. + :param pulumi.Input[bool] breaker_requirement: Whether there is an upstream circuit breaker. + :param pulumi.Input[str] city: Site City. + :param pulumi.Input[bool] condition_requirement: Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + :param pulumi.Input[str] country: Site Country. + :param pulumi.Input[str] description: Site Description. + :param pulumi.Input[bool] dimension_requirement: Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + :param pulumi.Input[str] fiber_type: Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + :param pulumi.Input[int] max_weight: Site Max Weight capacity (KG). + :param pulumi.Input[str] name: Site Name. + :param pulumi.Input[bool] need_help: Whether you need help from Tencent Cloud for rack installation. + :param pulumi.Input[str] optical_standard: Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + :param pulumi.Input[str] optional_address_line: Detailed address of the site area (to be added). + :param pulumi.Input[str] power_connectors: Site Power Connectors. Example: 380VAC3P. + :param pulumi.Input[int] power_draw_kva: Site Power DrawKva (KW). + :param pulumi.Input[str] power_feed_drop: Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + :param pulumi.Input[str] province: Site Province. + :param pulumi.Input[bool] redundant_networking: Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + :param pulumi.Input[bool] redundant_power: Whether there is power redundancy. + :param pulumi.Input[int] uplink_count: Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + :param pulumi.Input[int] uplink_speed_gbps: Uplink speed from the network to Tencent Cloud Region. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SiteState.__new__(_SiteState) + + __props__.__dict__["address_line"] = address_line + __props__.__dict__["breaker_requirement"] = breaker_requirement + __props__.__dict__["city"] = city + __props__.__dict__["condition_requirement"] = condition_requirement + __props__.__dict__["country"] = country + __props__.__dict__["description"] = description + __props__.__dict__["dimension_requirement"] = dimension_requirement + __props__.__dict__["fiber_type"] = fiber_type + __props__.__dict__["max_weight"] = max_weight + __props__.__dict__["name"] = name + __props__.__dict__["need_help"] = need_help + __props__.__dict__["optical_standard"] = optical_standard + __props__.__dict__["optional_address_line"] = optional_address_line + __props__.__dict__["power_connectors"] = power_connectors + __props__.__dict__["power_draw_kva"] = power_draw_kva + __props__.__dict__["power_feed_drop"] = power_feed_drop + __props__.__dict__["province"] = province + __props__.__dict__["redundant_networking"] = redundant_networking + __props__.__dict__["redundant_power"] = redundant_power + __props__.__dict__["uplink_count"] = uplink_count + __props__.__dict__["uplink_speed_gbps"] = uplink_speed_gbps + return Site(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="addressLine") + def address_line(self) -> pulumi.Output[str]: + """ + Site Detail Address. + """ + return pulumi.get(self, "address_line") + + @property + @pulumi.getter(name="breakerRequirement") + def breaker_requirement(self) -> pulumi.Output[bool]: + """ + Whether there is an upstream circuit breaker. + """ + return pulumi.get(self, "breaker_requirement") + + @property + @pulumi.getter + def city(self) -> pulumi.Output[str]: + """ + Site City. + """ + return pulumi.get(self, "city") + + @property + @pulumi.getter(name="conditionRequirement") + def condition_requirement(self) -> pulumi.Output[bool]: + """ + Whether the following environmental conditions are met: n1. There are no material requirements or the acceptance standard on site that will affect the delivery and installation of the CDC device. n2. The following conditions are met for finalized rack positions: Temperature ranges from 41 to 104 degrees F (5 to 40 degrees C). Humidity ranges from 10 degrees F (-12 degrees C) to 70 degrees F (21 degrees C) and relative humidity ranges from 8% RH to 80% RH. Air flows from front to back at the rack position and there is sufficient air in CFM (cubic feet per minute). The air quantity in CFM must be 145.8 times the power consumption (in KVA) of CDC. + """ + return pulumi.get(self, "condition_requirement") + + @property + @pulumi.getter + def country(self) -> pulumi.Output[str]: + """ + Site Country. + """ + return pulumi.get(self, "country") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Site Description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="dimensionRequirement") + def dimension_requirement(self) -> pulumi.Output[bool]: + """ + Whether the following dimension conditions are met: Your loading dock can accommodate one rack container (H x W x D = 94 x 54 x 48). You can provide a clear route from the delivery point of your rack (H x W x D = 80 x 24 x 48) to its final installation location. You should consider platforms, corridors, doors, turns, ramps, freight elevators as well as other access restrictions when measuring the depth. There shall be a 48 or greater front clearance and a 24 or greater rear clearance where the CDC is finally installed. + """ + return pulumi.get(self, "dimension_requirement") + + @property + @pulumi.getter(name="fiberType") + def fiber_type(self) -> pulumi.Output[Optional[str]]: + """ + Site Fiber Type. Using optical fiber type to connect the CDC device to the network SM(Single-Mode) or MM(Multi-Mode) fibers are available. + """ + return pulumi.get(self, "fiber_type") + + @property + @pulumi.getter(name="maxWeight") + def max_weight(self) -> pulumi.Output[int]: + """ + Site Max Weight capacity (KG). + """ + return pulumi.get(self, "max_weight") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Site Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="needHelp") + def need_help(self) -> pulumi.Output[bool]: + """ + Whether you need help from Tencent Cloud for rack installation. + """ + return pulumi.get(self, "need_help") + + @property + @pulumi.getter(name="opticalStandard") + def optical_standard(self) -> pulumi.Output[Optional[str]]: + """ + Site Optical Standard. Optical standard used to connect the CDC device to the network This field depends on the uplink speed, optical fiber type, and distance to upstream equipment. Allow value: `SM`, `MM`. + """ + return pulumi.get(self, "optical_standard") + + @property + @pulumi.getter(name="optionalAddressLine") + def optional_address_line(self) -> pulumi.Output[Optional[str]]: + """ + Detailed address of the site area (to be added). + """ + return pulumi.get(self, "optional_address_line") + + @property + @pulumi.getter(name="powerConnectors") + def power_connectors(self) -> pulumi.Output[Optional[str]]: + """ + Site Power Connectors. Example: 380VAC3P. + """ + return pulumi.get(self, "power_connectors") + + @property + @pulumi.getter(name="powerDrawKva") + def power_draw_kva(self) -> pulumi.Output[int]: + """ + Site Power DrawKva (KW). + """ + return pulumi.get(self, "power_draw_kva") + + @property + @pulumi.getter(name="powerFeedDrop") + def power_feed_drop(self) -> pulumi.Output[Optional[str]]: + """ + Site Power Feed Drop. Whether power is supplied from above or below the rack. Allow value: `UP`, `DOWN`. + """ + return pulumi.get(self, "power_feed_drop") + + @property + @pulumi.getter + def province(self) -> pulumi.Output[str]: + """ + Site Province. + """ + return pulumi.get(self, "province") + + @property + @pulumi.getter(name="redundantNetworking") + def redundant_networking(self) -> pulumi.Output[bool]: + """ + Whether redundant upstream equipment (switch or router) is provided so that both network devices can be connected to the network. + """ + return pulumi.get(self, "redundant_networking") + + @property + @pulumi.getter(name="redundantPower") + def redundant_power(self) -> pulumi.Output[bool]: + """ + Whether there is power redundancy. + """ + return pulumi.get(self, "redundant_power") + + @property + @pulumi.getter(name="uplinkCount") + def uplink_count(self) -> pulumi.Output[int]: + """ + Number of uplinks used by each CDC device (2 devices per rack) when connected to the network. + """ + return pulumi.get(self, "uplink_count") + + @property + @pulumi.getter(name="uplinkSpeedGbps") + def uplink_speed_gbps(self) -> pulumi.Output[int]: + """ + Uplink speed from the network to Tencent Cloud Region. + """ + return pulumi.get(self, "uplink_speed_gbps") + diff --git a/sdk/python/tencentcloud_iac_pulumi/cdn/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cdn/_inputs.py index 4afc4fd9e..3ced00f3c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cdn/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cdn/_inputs.py @@ -42,6 +42,7 @@ 'DomainOriginPullOptimizationArgs', 'DomainOriginPullTimeoutArgs', 'DomainOssPrivateAccessArgs', + 'DomainOthersPrivateAccessArgs', 'DomainPostMaxSizeArgs', 'DomainQnPrivateAccessArgs', 'DomainRefererArgs', @@ -2345,9 +2346,9 @@ def __init__(__self__, *, server_name: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[Sequence[pulumi.Input[str]]] origin_lists: Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `origin_type`. - :param pulumi.Input[str] origin_type: Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + :param pulumi.Input[str] origin_type: Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_origin_lists: Backup origin server list. Valid values can be ip or domain name. When modifying the backup origin server, you need to enter the corresponding `backup_origin_type`. - :param pulumi.Input[str] backup_origin_type: Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + :param pulumi.Input[str] backup_origin_type: Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name. :param pulumi.Input[str] backup_server_name: Host header used when accessing the backup origin server. If left empty, the ServerName of master origin server will be used by default. :param pulumi.Input[str] cos_private_access: When OriginType is COS, you can specify if access to private buckets is allowed. Valid values are `on` and `off`. and default value is `off`. :param pulumi.Input[str] origin_pull_protocol: Origin-pull protocol configuration. `http`: forced HTTP origin-pull, `follow`: protocol follow origin-pull, `https`: forced HTTPS origin-pull. This only supports origin server port 443 for origin-pull. @@ -2384,7 +2385,7 @@ def origin_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @pulumi.getter(name="originType") def origin_type(self) -> pulumi.Input[str]: """ - Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. """ return pulumi.get(self, "origin_type") @@ -2408,7 +2409,7 @@ def backup_origin_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @pulumi.getter(name="backupOriginType") def backup_origin_type(self) -> Optional[pulumi.Input[str]]: """ - Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name. """ return pulumi.get(self, "backup_origin_type") @@ -2626,6 +2627,92 @@ def secret_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "secret_key", value) +@pulumi.input_type +class DomainOthersPrivateAccessArgs: + def __init__(__self__, *, + switch: pulumi.Input[str], + access_key: Optional[pulumi.Input[str]] = None, + bucket: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + secret_key: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] switch: Configuration switch, available values: `on`, `off` (default). + :param pulumi.Input[str] access_key: Access ID. + :param pulumi.Input[str] bucket: Bucket. + :param pulumi.Input[str] region: Region. + :param pulumi.Input[str] secret_key: Key. + """ + pulumi.set(__self__, "switch", switch) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) + if bucket is not None: + pulumi.set(__self__, "bucket", bucket) + if region is not None: + pulumi.set(__self__, "region", region) + if secret_key is not None: + pulumi.set(__self__, "secret_key", secret_key) + + @property + @pulumi.getter + def switch(self) -> pulumi.Input[str]: + """ + Configuration switch, available values: `on`, `off` (default). + """ + return pulumi.get(self, "switch") + + @switch.setter + def switch(self, value: pulumi.Input[str]): + pulumi.set(self, "switch", value) + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> Optional[pulumi.Input[str]]: + """ + Access ID. + """ + 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 + def bucket(self) -> Optional[pulumi.Input[str]]: + """ + Bucket. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + Region. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="secretKey") + def secret_key(self) -> Optional[pulumi.Input[str]]: + """ + Key. + """ + return pulumi.get(self, "secret_key") + + @secret_key.setter + def secret_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_key", value) + + @pulumi.input_type class DomainPostMaxSizeArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/cdn/domain.py b/sdk/python/tencentcloud_iac_pulumi/cdn/domain.py index c4c9b8aa7..2cfaa58b0 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cdn/domain.py +++ b/sdk/python/tencentcloud_iac_pulumi/cdn/domain.py @@ -40,6 +40,7 @@ def __init__(__self__, *, origin_pull_optimization: Optional[pulumi.Input['DomainOriginPullOptimizationArgs']] = None, origin_pull_timeout: Optional[pulumi.Input['DomainOriginPullTimeoutArgs']] = None, oss_private_access: Optional[pulumi.Input['DomainOssPrivateAccessArgs']] = None, + others_private_access: Optional[pulumi.Input['DomainOthersPrivateAccessArgs']] = None, post_max_sizes: Optional[pulumi.Input[Sequence[pulumi.Input['DomainPostMaxSizeArgs']]]] = None, project_id: Optional[pulumi.Input[int]] = None, qn_private_access: Optional[pulumi.Input['DomainQnPrivateAccessArgs']] = None, @@ -82,6 +83,7 @@ def __init__(__self__, *, :param pulumi.Input['DomainOriginPullOptimizationArgs'] origin_pull_optimization: Cross-border linkage optimization configuration. (This feature is in beta and not generally available yet). :param pulumi.Input['DomainOriginPullTimeoutArgs'] origin_pull_timeout: Cross-border linkage optimization configuration. :param pulumi.Input['DomainOssPrivateAccessArgs'] oss_private_access: Access authentication for OSS origin. + :param pulumi.Input['DomainOthersPrivateAccessArgs'] others_private_access: Object storage back-to-source authentication of other vendors. :param pulumi.Input[Sequence[pulumi.Input['DomainPostMaxSizeArgs']]] post_max_sizes: Maximum post size configuration. :param pulumi.Input[int] project_id: The project CDN belongs to, default to 0. :param pulumi.Input['DomainQnPrivateAccessArgs'] qn_private_access: Access authentication for OBS origin. @@ -147,6 +149,8 @@ def __init__(__self__, *, pulumi.set(__self__, "origin_pull_timeout", origin_pull_timeout) if oss_private_access is not None: pulumi.set(__self__, "oss_private_access", oss_private_access) + if others_private_access is not None: + pulumi.set(__self__, "others_private_access", others_private_access) if post_max_sizes is not None: pulumi.set(__self__, "post_max_sizes", post_max_sizes) if project_id is not None: @@ -471,6 +475,18 @@ def oss_private_access(self) -> Optional[pulumi.Input['DomainOssPrivateAccessArg def oss_private_access(self, value: Optional[pulumi.Input['DomainOssPrivateAccessArgs']]): pulumi.set(self, "oss_private_access", value) + @property + @pulumi.getter(name="othersPrivateAccess") + def others_private_access(self) -> Optional[pulumi.Input['DomainOthersPrivateAccessArgs']]: + """ + Object storage back-to-source authentication of other vendors. + """ + return pulumi.get(self, "others_private_access") + + @others_private_access.setter + def others_private_access(self, value: Optional[pulumi.Input['DomainOthersPrivateAccessArgs']]): + pulumi.set(self, "others_private_access", value) + @property @pulumi.getter(name="postMaxSizes") def post_max_sizes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainPostMaxSizeArgs']]]]: @@ -694,6 +710,7 @@ def __init__(__self__, *, origin_pull_optimization: Optional[pulumi.Input['DomainOriginPullOptimizationArgs']] = None, origin_pull_timeout: Optional[pulumi.Input['DomainOriginPullTimeoutArgs']] = None, oss_private_access: Optional[pulumi.Input['DomainOssPrivateAccessArgs']] = None, + others_private_access: Optional[pulumi.Input['DomainOthersPrivateAccessArgs']] = None, post_max_sizes: Optional[pulumi.Input[Sequence[pulumi.Input['DomainPostMaxSizeArgs']]]] = None, project_id: Optional[pulumi.Input[int]] = None, qn_private_access: Optional[pulumi.Input['DomainQnPrivateAccessArgs']] = None, @@ -741,6 +758,7 @@ def __init__(__self__, *, :param pulumi.Input['DomainOriginPullOptimizationArgs'] origin_pull_optimization: Cross-border linkage optimization configuration. (This feature is in beta and not generally available yet). :param pulumi.Input['DomainOriginPullTimeoutArgs'] origin_pull_timeout: Cross-border linkage optimization configuration. :param pulumi.Input['DomainOssPrivateAccessArgs'] oss_private_access: Access authentication for OSS origin. + :param pulumi.Input['DomainOthersPrivateAccessArgs'] others_private_access: Object storage back-to-source authentication of other vendors. :param pulumi.Input[Sequence[pulumi.Input['DomainPostMaxSizeArgs']]] post_max_sizes: Maximum post size configuration. :param pulumi.Input[int] project_id: The project CDN belongs to, default to 0. :param pulumi.Input['DomainQnPrivateAccessArgs'] qn_private_access: Access authentication for OBS origin. @@ -817,6 +835,8 @@ def __init__(__self__, *, pulumi.set(__self__, "origin_pull_timeout", origin_pull_timeout) if oss_private_access is not None: pulumi.set(__self__, "oss_private_access", oss_private_access) + if others_private_access is not None: + pulumi.set(__self__, "others_private_access", others_private_access) if post_max_sizes is not None: pulumi.set(__self__, "post_max_sizes", post_max_sizes) if project_id is not None: @@ -1181,6 +1201,18 @@ def oss_private_access(self) -> Optional[pulumi.Input['DomainOssPrivateAccessArg def oss_private_access(self, value: Optional[pulumi.Input['DomainOssPrivateAccessArgs']]): pulumi.set(self, "oss_private_access", value) + @property + @pulumi.getter(name="othersPrivateAccess") + def others_private_access(self) -> Optional[pulumi.Input['DomainOthersPrivateAccessArgs']]: + """ + Object storage back-to-source authentication of other vendors. + """ + return pulumi.get(self, "others_private_access") + + @others_private_access.setter + def others_private_access(self, value: Optional[pulumi.Input['DomainOthersPrivateAccessArgs']]): + pulumi.set(self, "others_private_access", value) + @property @pulumi.getter(name="postMaxSizes") def post_max_sizes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainPostMaxSizeArgs']]]]: @@ -1426,6 +1458,7 @@ def __init__(__self__, origin_pull_optimization: Optional[pulumi.Input[pulumi.InputType['DomainOriginPullOptimizationArgs']]] = None, origin_pull_timeout: Optional[pulumi.Input[pulumi.InputType['DomainOriginPullTimeoutArgs']]] = None, oss_private_access: Optional[pulumi.Input[pulumi.InputType['DomainOssPrivateAccessArgs']]] = None, + others_private_access: Optional[pulumi.Input[pulumi.InputType['DomainOthersPrivateAccessArgs']]] = None, post_max_sizes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainPostMaxSizeArgs']]]]] = None, project_id: Optional[pulumi.Input[int]] = None, qn_private_access: Optional[pulumi.Input[pulumi.InputType['DomainQnPrivateAccessArgs']]] = None, @@ -1605,6 +1638,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['DomainOriginPullOptimizationArgs']] origin_pull_optimization: Cross-border linkage optimization configuration. (This feature is in beta and not generally available yet). :param pulumi.Input[pulumi.InputType['DomainOriginPullTimeoutArgs']] origin_pull_timeout: Cross-border linkage optimization configuration. :param pulumi.Input[pulumi.InputType['DomainOssPrivateAccessArgs']] oss_private_access: Access authentication for OSS origin. + :param pulumi.Input[pulumi.InputType['DomainOthersPrivateAccessArgs']] others_private_access: Object storage back-to-source authentication of other vendors. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainPostMaxSizeArgs']]]] post_max_sizes: Maximum post size configuration. :param pulumi.Input[int] project_id: The project CDN belongs to, default to 0. :param pulumi.Input[pulumi.InputType['DomainQnPrivateAccessArgs']] qn_private_access: Access authentication for OBS origin. @@ -1803,6 +1837,7 @@ def _internal_init(__self__, origin_pull_optimization: Optional[pulumi.Input[pulumi.InputType['DomainOriginPullOptimizationArgs']]] = None, origin_pull_timeout: Optional[pulumi.Input[pulumi.InputType['DomainOriginPullTimeoutArgs']]] = None, oss_private_access: Optional[pulumi.Input[pulumi.InputType['DomainOssPrivateAccessArgs']]] = None, + others_private_access: Optional[pulumi.Input[pulumi.InputType['DomainOthersPrivateAccessArgs']]] = None, post_max_sizes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainPostMaxSizeArgs']]]]] = None, project_id: Optional[pulumi.Input[int]] = None, qn_private_access: Optional[pulumi.Input[pulumi.InputType['DomainQnPrivateAccessArgs']]] = None, @@ -1856,6 +1891,7 @@ def _internal_init(__self__, __props__.__dict__["origin_pull_optimization"] = origin_pull_optimization __props__.__dict__["origin_pull_timeout"] = origin_pull_timeout __props__.__dict__["oss_private_access"] = oss_private_access + __props__.__dict__["others_private_access"] = others_private_access __props__.__dict__["post_max_sizes"] = post_max_sizes __props__.__dict__["project_id"] = project_id __props__.__dict__["qn_private_access"] = qn_private_access @@ -1917,6 +1953,7 @@ def get(resource_name: str, origin_pull_optimization: Optional[pulumi.Input[pulumi.InputType['DomainOriginPullOptimizationArgs']]] = None, origin_pull_timeout: Optional[pulumi.Input[pulumi.InputType['DomainOriginPullTimeoutArgs']]] = None, oss_private_access: Optional[pulumi.Input[pulumi.InputType['DomainOssPrivateAccessArgs']]] = None, + others_private_access: Optional[pulumi.Input[pulumi.InputType['DomainOthersPrivateAccessArgs']]] = None, post_max_sizes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainPostMaxSizeArgs']]]]] = None, project_id: Optional[pulumi.Input[int]] = None, qn_private_access: Optional[pulumi.Input[pulumi.InputType['DomainQnPrivateAccessArgs']]] = None, @@ -1969,6 +2006,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['DomainOriginPullOptimizationArgs']] origin_pull_optimization: Cross-border linkage optimization configuration. (This feature is in beta and not generally available yet). :param pulumi.Input[pulumi.InputType['DomainOriginPullTimeoutArgs']] origin_pull_timeout: Cross-border linkage optimization configuration. :param pulumi.Input[pulumi.InputType['DomainOssPrivateAccessArgs']] oss_private_access: Access authentication for OSS origin. + :param pulumi.Input[pulumi.InputType['DomainOthersPrivateAccessArgs']] others_private_access: Object storage back-to-source authentication of other vendors. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DomainPostMaxSizeArgs']]]] post_max_sizes: Maximum post size configuration. :param pulumi.Input[int] project_id: The project CDN belongs to, default to 0. :param pulumi.Input[pulumi.InputType['DomainQnPrivateAccessArgs']] qn_private_access: Access authentication for OBS origin. @@ -2019,6 +2057,7 @@ def get(resource_name: str, __props__.__dict__["origin_pull_optimization"] = origin_pull_optimization __props__.__dict__["origin_pull_timeout"] = origin_pull_timeout __props__.__dict__["oss_private_access"] = oss_private_access + __props__.__dict__["others_private_access"] = others_private_access __props__.__dict__["post_max_sizes"] = post_max_sizes __props__.__dict__["project_id"] = project_id __props__.__dict__["qn_private_access"] = qn_private_access @@ -2258,6 +2297,14 @@ def oss_private_access(self) -> pulumi.Output[Optional['outputs.DomainOssPrivate """ return pulumi.get(self, "oss_private_access") + @property + @pulumi.getter(name="othersPrivateAccess") + def others_private_access(self) -> pulumi.Output[Optional['outputs.DomainOthersPrivateAccess']]: + """ + Object storage back-to-source authentication of other vendors. + """ + return pulumi.get(self, "others_private_access") + @property @pulumi.getter(name="postMaxSizes") def post_max_sizes(self) -> pulumi.Output[Optional[Sequence['outputs.DomainPostMaxSize']]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/cdn/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cdn/outputs.py index 885c8531c..62a62ee0a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cdn/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cdn/outputs.py @@ -43,6 +43,7 @@ 'DomainOriginPullOptimization', 'DomainOriginPullTimeout', 'DomainOssPrivateAccess', + 'DomainOthersPrivateAccess', 'DomainPostMaxSize', 'DomainQnPrivateAccess', 'DomainReferer', @@ -2428,9 +2429,9 @@ def __init__(__self__, *, server_name: Optional[str] = None): """ :param Sequence[str] origin_lists: Master origin server list. Valid values can be ip or domain name. When modifying the origin server, you need to enter the corresponding `origin_type`. - :param str origin_type: Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + :param str origin_type: Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. :param Sequence[str] backup_origin_lists: Backup origin server list. Valid values can be ip or domain name. When modifying the backup origin server, you need to enter the corresponding `backup_origin_type`. - :param str backup_origin_type: Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + :param str backup_origin_type: Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name. :param str backup_server_name: Host header used when accessing the backup origin server. If left empty, the ServerName of master origin server will be used by default. :param str cos_private_access: When OriginType is COS, you can specify if access to private buckets is allowed. Valid values are `on` and `off`. and default value is `off`. :param str origin_pull_protocol: Origin-pull protocol configuration. `http`: forced HTTP origin-pull, `follow`: protocol follow origin-pull, `https`: forced HTTPS origin-pull. This only supports origin server port 443 for origin-pull. @@ -2463,7 +2464,7 @@ def origin_lists(self) -> Sequence[str]: @pulumi.getter(name="originType") def origin_type(self) -> str: """ - Master origin server type. The following types are supported: `domain`: domain name type, `cos`: COS origin, `ip`: IP list used as origin server, `ipv6`: origin server list is a single IPv6 address, `ip_ipv6`: origin server list is multiple IPv4 addresses and an IPv6 address. + Master origin server type. The following types are supported: `domain`: Domain name, `domainv6`: IPv6 domain name, `cos`: COS bucket address, `third_party`: Third-party object storage origin, `igtm`: IGTM origin, `ip`: IP address, `ipv6`: One IPv6 address, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_domain`: IP addresses and domain names (only available to beta users), `ip_domainv6`: Multiple IPv4 addresses and one IPv6 domain name, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ipv6_domainv6`: Multiple IPv6 addresses and one IPv6 domain name, `domain_domainv6`: Multiple IPv4 domain names and one IPv6 domain name, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name, `ip_ipv6_domainv6`: Multiple IPv4 and IPv6 addresses and one IPv6 domain name, `ip_domain_domainv6`: Multiple IPv4 addresses and IPv4 domain names and one IPv6 domain name, `ipv6_domain_domainv6`: Multiple IPv4 domain names and IPv6 addresses and one IPv6 domain name, `ip_ipv6_domain_domainv6`: Multiple IPv4 and IPv6 addresses and IPv4 domain names and one IPv6 domain name. """ return pulumi.get(self, "origin_type") @@ -2479,7 +2480,7 @@ def backup_origin_lists(self) -> Optional[Sequence[str]]: @pulumi.getter(name="backupOriginType") def backup_origin_type(self) -> Optional[str]: """ - Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server. + Backup origin server type, which supports the following types: `domain`: domain name type, `ip`: IP list used as origin server, `ipv6_domain`: Multiple IPv6 addresses and one domain name, `ip_ipv6`: Multiple IPv4 addresses and one IPv6 address, `ip_ipv6_domain`: Multiple IPv4 and IPv6 addresses and one domain name. """ return pulumi.get(self, "backup_origin_type") @@ -2696,6 +2697,91 @@ def secret_key(self) -> Optional[str]: return pulumi.get(self, "secret_key") +@pulumi.output_type +class DomainOthersPrivateAccess(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessKey": + suggest = "access_key" + elif key == "secretKey": + suggest = "secret_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainOthersPrivateAccess. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainOthersPrivateAccess.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainOthersPrivateAccess.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + switch: str, + access_key: Optional[str] = None, + bucket: Optional[str] = None, + region: Optional[str] = None, + secret_key: Optional[str] = None): + """ + :param str switch: Configuration switch, available values: `on`, `off` (default). + :param str access_key: Access ID. + :param str bucket: Bucket. + :param str region: Region. + :param str secret_key: Key. + """ + pulumi.set(__self__, "switch", switch) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) + if bucket is not None: + pulumi.set(__self__, "bucket", bucket) + if region is not None: + pulumi.set(__self__, "region", region) + if secret_key is not None: + pulumi.set(__self__, "secret_key", secret_key) + + @property + @pulumi.getter + def switch(self) -> str: + """ + Configuration switch, available values: `on`, `off` (default). + """ + return pulumi.get(self, "switch") + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> Optional[str]: + """ + Access ID. + """ + return pulumi.get(self, "access_key") + + @property + @pulumi.getter + def bucket(self) -> Optional[str]: + """ + Bucket. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def region(self) -> Optional[str]: + """ + Region. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="secretKey") + def secret_key(self) -> Optional[str]: + """ + Key. + """ + return pulumi.get(self, "secret_key") + + @pulumi.output_type class DomainPostMaxSize(dict): @staticmethod diff --git a/sdk/python/tencentcloud_iac_pulumi/cdwdoris/__init__.py b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/__init__.py new file mode 100644 index 000000000..fefddcb9d --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/__init__.py @@ -0,0 +1,12 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .get_instances import * +from .instance import * +from .workload_group import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/cdwdoris/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/_inputs.py new file mode 100644 index 000000000..52c043267 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/_inputs.py @@ -0,0 +1,430 @@ +# 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__ = [ + 'InstanceBeSpecArgs', + 'InstanceChargePropertiesArgs', + 'InstanceFeSpecArgs', + 'InstanceTagArgs', + 'InstanceUserMultiZoneInfosArgs', + 'WorkloadGroupWorkloadGroupArgs', + 'GetInstancesSearchTagArgs', +] + +@pulumi.input_type +class InstanceBeSpecArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + disk_size: pulumi.Input[int], + spec_name: pulumi.Input[str]): + """ + :param pulumi.Input[int] count: Quantities. + :param pulumi.Input[int] disk_size: Cloud disk size. + :param pulumi.Input[str] spec_name: Specification name. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "spec_name", spec_name) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + Quantities. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> pulumi.Input[int]: + """ + Cloud disk size. + """ + 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="specName") + def spec_name(self) -> pulumi.Input[str]: + """ + Specification name. + """ + return pulumi.get(self, "spec_name") + + @spec_name.setter + def spec_name(self, value: pulumi.Input[str]): + pulumi.set(self, "spec_name", value) + + +@pulumi.input_type +class InstanceChargePropertiesArgs: + def __init__(__self__, *, + charge_type: Optional[pulumi.Input[str]] = None, + renew_flag: Optional[pulumi.Input[int]] = None, + time_span: Optional[pulumi.Input[int]] = None, + time_unit: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] charge_type: Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[int] renew_flag: Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[int] time_span: Billing duration Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[str] time_unit: Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + """ + if charge_type is not None: + pulumi.set(__self__, "charge_type", charge_type) + if renew_flag is not None: + pulumi.set(__self__, "renew_flag", renew_flag) + if time_span is not None: + pulumi.set(__self__, "time_span", time_span) + if time_unit is not None: + pulumi.set(__self__, "time_unit", time_unit) + + @property + @pulumi.getter(name="chargeType") + def charge_type(self) -> Optional[pulumi.Input[str]]: + """ + Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "charge_type") + + @charge_type.setter + def charge_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "charge_type", value) + + @property + @pulumi.getter(name="renewFlag") + def renew_flag(self) -> Optional[pulumi.Input[int]]: + """ + Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "renew_flag") + + @renew_flag.setter + def renew_flag(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "renew_flag", value) + + @property + @pulumi.getter(name="timeSpan") + def time_span(self) -> Optional[pulumi.Input[int]]: + """ + Billing duration Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "time_span") + + @time_span.setter + def time_span(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "time_span", value) + + @property + @pulumi.getter(name="timeUnit") + def time_unit(self) -> Optional[pulumi.Input[str]]: + """ + Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "time_unit") + + @time_unit.setter + def time_unit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_unit", value) + + +@pulumi.input_type +class InstanceFeSpecArgs: + def __init__(__self__, *, + count: pulumi.Input[int], + disk_size: pulumi.Input[int], + spec_name: pulumi.Input[str]): + """ + :param pulumi.Input[int] count: Quantities. + :param pulumi.Input[int] disk_size: Cloud disk size. + :param pulumi.Input[str] spec_name: Specification name. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "spec_name", spec_name) + + @property + @pulumi.getter + def count(self) -> pulumi.Input[int]: + """ + Quantities. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: pulumi.Input[int]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> pulumi.Input[int]: + """ + Cloud disk size. + """ + 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="specName") + def spec_name(self) -> pulumi.Input[str]: + """ + Specification name. + """ + return pulumi.get(self, "spec_name") + + @spec_name.setter + def spec_name(self, value: pulumi.Input[str]): + pulumi.set(self, "spec_name", value) + + +@pulumi.input_type +class InstanceTagArgs: + def __init__(__self__, *, + tag_key: pulumi.Input[str], + tag_value: pulumi.Input[str]): + """ + :param pulumi.Input[str] tag_key: Tag key. + :param pulumi.Input[str] tag_value: Tag value. + """ + pulumi.set(__self__, "tag_key", tag_key) + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> pulumi.Input[str]: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @tag_key.setter + def tag_key(self, value: pulumi.Input[str]): + pulumi.set(self, "tag_key", value) + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> pulumi.Input[str]: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + @tag_value.setter + def tag_value(self, value: pulumi.Input[str]): + pulumi.set(self, "tag_value", value) + + +@pulumi.input_type +class InstanceUserMultiZoneInfosArgs: + def __init__(__self__, *, + subnet_id: Optional[pulumi.Input[str]] = None, + subnet_ip_num: Optional[pulumi.Input[int]] = None, + zone: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] subnet_id: Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[int] subnet_ip_num: The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + :param pulumi.Input[str] zone: Availability zone Note: This field may return null, indicating that no valid values can be obtained. + """ + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if subnet_ip_num is not None: + pulumi.set(__self__, "subnet_ip_num", subnet_ip_num) + if zone is not None: + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subnet_id", value) + + @property + @pulumi.getter(name="subnetIpNum") + def subnet_ip_num(self) -> Optional[pulumi.Input[int]]: + """ + The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "subnet_ip_num") + + @subnet_ip_num.setter + def subnet_ip_num(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "subnet_ip_num", value) + + @property + @pulumi.getter + def zone(self) -> Optional[pulumi.Input[str]]: + """ + Availability zone Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone", value) + + +@pulumi.input_type +class WorkloadGroupWorkloadGroupArgs: + def __init__(__self__, *, + cpu_hard_limit: Optional[pulumi.Input[str]] = None, + cpu_share: Optional[pulumi.Input[int]] = None, + enable_memory_over_commit: Optional[pulumi.Input[bool]] = None, + memory_limit: Optional[pulumi.Input[int]] = None, + workload_group_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] cpu_hard_limit: Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[int] cpu_share: CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[bool] enable_memory_over_commit: Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[int] memory_limit: Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[str] workload_group_name: Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + """ + if cpu_hard_limit is not None: + pulumi.set(__self__, "cpu_hard_limit", cpu_hard_limit) + if cpu_share is not None: + pulumi.set(__self__, "cpu_share", cpu_share) + if enable_memory_over_commit is not None: + pulumi.set(__self__, "enable_memory_over_commit", enable_memory_over_commit) + if memory_limit is not None: + pulumi.set(__self__, "memory_limit", memory_limit) + if workload_group_name is not None: + pulumi.set(__self__, "workload_group_name", workload_group_name) + + @property + @pulumi.getter(name="cpuHardLimit") + def cpu_hard_limit(self) -> Optional[pulumi.Input[str]]: + """ + Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "cpu_hard_limit") + + @cpu_hard_limit.setter + def cpu_hard_limit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu_hard_limit", value) + + @property + @pulumi.getter(name="cpuShare") + def cpu_share(self) -> Optional[pulumi.Input[int]]: + """ + CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "cpu_share") + + @cpu_share.setter + def cpu_share(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cpu_share", value) + + @property + @pulumi.getter(name="enableMemoryOverCommit") + def enable_memory_over_commit(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "enable_memory_over_commit") + + @enable_memory_over_commit.setter + def enable_memory_over_commit(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_memory_over_commit", value) + + @property + @pulumi.getter(name="memoryLimit") + def memory_limit(self) -> Optional[pulumi.Input[int]]: + """ + Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "memory_limit") + + @memory_limit.setter + def memory_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "memory_limit", value) + + @property + @pulumi.getter(name="workloadGroupName") + def workload_group_name(self) -> Optional[pulumi.Input[str]]: + """ + Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "workload_group_name") + + @workload_group_name.setter + def workload_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workload_group_name", value) + + +@pulumi.input_type +class GetInstancesSearchTagArgs: + def __init__(__self__, *, + all_value: Optional[int] = None, + tag_key: Optional[str] = None, + tag_value: Optional[str] = None): + """ + :param int all_value: 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + :param str tag_key: Tag key. + :param str tag_value: Tag value. + """ + if all_value is not None: + pulumi.set(__self__, "all_value", all_value) + if tag_key is not None: + pulumi.set(__self__, "tag_key", tag_key) + if tag_value is not None: + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="allValue") + def all_value(self) -> Optional[int]: + """ + 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + """ + return pulumi.get(self, "all_value") + + @all_value.setter + def all_value(self, value: Optional[int]): + pulumi.set(self, "all_value", value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> Optional[str]: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @tag_key.setter + def tag_key(self, value: Optional[str]): + pulumi.set(self, "tag_key", value) + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> Optional[str]: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + @tag_value.setter + def tag_value(self, value: Optional[str]): + pulumi.set(self, "tag_value", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/cdwdoris/get_instances.py b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/get_instances.py new file mode 100644 index 000000000..f745d3024 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/get_instances.py @@ -0,0 +1,199 @@ +# 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__ = [ + 'GetInstancesResult', + 'AwaitableGetInstancesResult', + 'get_instances', + 'get_instances_output', +] + +@pulumi.output_type +class GetInstancesResult: + """ + A collection of values returned by getInstances. + """ + def __init__(__self__, id=None, instances_lists=None, result_output_file=None, search_instance_id=None, search_instance_name=None, search_tags=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instances_lists and not isinstance(instances_lists, list): + raise TypeError("Expected argument 'instances_lists' to be a list") + pulumi.set(__self__, "instances_lists", instances_lists) + 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) + if search_instance_id and not isinstance(search_instance_id, str): + raise TypeError("Expected argument 'search_instance_id' to be a str") + pulumi.set(__self__, "search_instance_id", search_instance_id) + if search_instance_name and not isinstance(search_instance_name, str): + raise TypeError("Expected argument 'search_instance_name' to be a str") + pulumi.set(__self__, "search_instance_name", search_instance_name) + if search_tags and not isinstance(search_tags, list): + raise TypeError("Expected argument 'search_tags' to be a list") + pulumi.set(__self__, "search_tags", search_tags) + + @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="instancesLists") + def instances_lists(self) -> Sequence['outputs.GetInstancesInstancesListResult']: + """ + Quantities of instances array. + """ + return pulumi.get(self, "instances_lists") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="searchInstanceId") + def search_instance_id(self) -> Optional[str]: + return pulumi.get(self, "search_instance_id") + + @property + @pulumi.getter(name="searchInstanceName") + def search_instance_name(self) -> Optional[str]: + return pulumi.get(self, "search_instance_name") + + @property + @pulumi.getter(name="searchTags") + def search_tags(self) -> Optional[Sequence['outputs.GetInstancesSearchTagResult']]: + return pulumi.get(self, "search_tags") + + +class AwaitableGetInstancesResult(GetInstancesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetInstancesResult( + id=self.id, + instances_lists=self.instances_lists, + result_output_file=self.result_output_file, + search_instance_id=self.search_instance_id, + search_instance_name=self.search_instance_name, + search_tags=self.search_tags) + + +def get_instances(result_output_file: Optional[str] = None, + search_instance_id: Optional[str] = None, + search_instance_name: Optional[str] = None, + search_tags: Optional[Sequence[pulumi.InputType['GetInstancesSearchTagArgs']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetInstancesResult: + """ + Use this data source to query detailed information of cdwdoris instances + + ## Example Usage + + ### Query all cdwdoris instances + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cdwdoris.get_instances() + ``` + + + ### Query cdwdoris instances by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cdwdoris.get_instances(search_tags=[tencentcloud.cdwdoris.GetInstancesSearchTagArgs( + all_value=0, + tag_key="createBy", + tag_value="Terraform", + )]) + ``` + + + + :param str result_output_file: Used to save results. + :param str search_instance_id: The name of the cluster ID for the search. + :param str search_instance_name: The cluster name for the search. + :param Sequence[pulumi.InputType['GetInstancesSearchTagArgs']] search_tags: Search tag list. + """ + __args__ = dict() + __args__['resultOutputFile'] = result_output_file + __args__['searchInstanceId'] = search_instance_id + __args__['searchInstanceName'] = search_instance_name + __args__['searchTags'] = search_tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Cdwdoris/getInstances:getInstances', __args__, opts=opts, typ=GetInstancesResult).value + + return AwaitableGetInstancesResult( + id=pulumi.get(__ret__, 'id'), + instances_lists=pulumi.get(__ret__, 'instances_lists'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + search_instance_id=pulumi.get(__ret__, 'search_instance_id'), + search_instance_name=pulumi.get(__ret__, 'search_instance_name'), + search_tags=pulumi.get(__ret__, 'search_tags')) + + +@_utilities.lift_output_func(get_instances) +def get_instances_output(result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + search_instance_id: Optional[pulumi.Input[Optional[str]]] = None, + search_instance_name: Optional[pulumi.Input[Optional[str]]] = None, + search_tags: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetInstancesSearchTagArgs']]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstancesResult]: + """ + Use this data source to query detailed information of cdwdoris instances + + ## Example Usage + + ### Query all cdwdoris instances + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cdwdoris.get_instances() + ``` + + + ### Query cdwdoris instances by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Cdwdoris.get_instances(search_tags=[tencentcloud.cdwdoris.GetInstancesSearchTagArgs( + all_value=0, + tag_key="createBy", + tag_value="Terraform", + )]) + ``` + + + + :param str result_output_file: Used to save results. + :param str search_instance_id: The name of the cluster ID for the search. + :param str search_instance_name: The cluster name for the search. + :param Sequence[pulumi.InputType['GetInstancesSearchTagArgs']] search_tags: Search tag list. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/cdwdoris/instance.py b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/instance.py new file mode 100644 index 000000000..dcc97e8d3 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/instance.py @@ -0,0 +1,1152 @@ +# 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__ = ['InstanceArgs', 'Instance'] + +@pulumi.input_type +class InstanceArgs: + def __init__(__self__, *, + be_spec: pulumi.Input['InstanceBeSpecArgs'], + charge_properties: pulumi.Input['InstanceChargePropertiesArgs'], + doris_user_pwd: pulumi.Input[str], + fe_spec: pulumi.Input['InstanceFeSpecArgs'], + ha_flag: pulumi.Input[bool], + instance_name: pulumi.Input[str], + product_version: pulumi.Input[str], + user_subnet_id: pulumi.Input[str], + user_vpc_id: pulumi.Input[str], + workload_group_status: pulumi.Input[str], + zone: pulumi.Input[str], + case_sensitive: Optional[pulumi.Input[int]] = None, + enable_multi_zones: Optional[pulumi.Input[bool]] = None, + ha_type: Optional[pulumi.Input[int]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]] = None, + user_multi_zone_infos: Optional[pulumi.Input['InstanceUserMultiZoneInfosArgs']] = None): + """ + The set of arguments for constructing a Instance resource. + :param pulumi.Input['InstanceBeSpecArgs'] be_spec: BE specifications. + :param pulumi.Input['InstanceChargePropertiesArgs'] charge_properties: Payment type. + :param pulumi.Input[str] doris_user_pwd: Database password. + :param pulumi.Input['InstanceFeSpecArgs'] fe_spec: FE specifications. + :param pulumi.Input[bool] ha_flag: Whether it is highly available. + :param pulumi.Input[str] instance_name: Instance name. + :param pulumi.Input[str] product_version: Product version number. + :param pulumi.Input[str] user_subnet_id: User subnet ID. + :param pulumi.Input[str] user_vpc_id: User VPCID. + :param pulumi.Input[str] workload_group_status: Whether to enable resource group. `open` - enable, `close` - disable. + :param pulumi.Input[str] zone: Availability zone. + :param pulumi.Input[int] case_sensitive: Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + :param pulumi.Input[bool] enable_multi_zones: Whether to enable multi-availability zone. + :param pulumi.Input[int] ha_type: High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security Group Id list. + :param pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]] tags: Tag list. + :param pulumi.Input['InstanceUserMultiZoneInfosArgs'] user_multi_zone_infos: After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + """ + pulumi.set(__self__, "be_spec", be_spec) + pulumi.set(__self__, "charge_properties", charge_properties) + pulumi.set(__self__, "doris_user_pwd", doris_user_pwd) + pulumi.set(__self__, "fe_spec", fe_spec) + pulumi.set(__self__, "ha_flag", ha_flag) + pulumi.set(__self__, "instance_name", instance_name) + pulumi.set(__self__, "product_version", product_version) + pulumi.set(__self__, "user_subnet_id", user_subnet_id) + pulumi.set(__self__, "user_vpc_id", user_vpc_id) + pulumi.set(__self__, "workload_group_status", workload_group_status) + pulumi.set(__self__, "zone", zone) + if case_sensitive is not None: + pulumi.set(__self__, "case_sensitive", case_sensitive) + if enable_multi_zones is not None: + pulumi.set(__self__, "enable_multi_zones", enable_multi_zones) + if ha_type is not None: + pulumi.set(__self__, "ha_type", ha_type) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_multi_zone_infos is not None: + pulumi.set(__self__, "user_multi_zone_infos", user_multi_zone_infos) + + @property + @pulumi.getter(name="beSpec") + def be_spec(self) -> pulumi.Input['InstanceBeSpecArgs']: + """ + BE specifications. + """ + return pulumi.get(self, "be_spec") + + @be_spec.setter + def be_spec(self, value: pulumi.Input['InstanceBeSpecArgs']): + pulumi.set(self, "be_spec", value) + + @property + @pulumi.getter(name="chargeProperties") + def charge_properties(self) -> pulumi.Input['InstanceChargePropertiesArgs']: + """ + Payment type. + """ + return pulumi.get(self, "charge_properties") + + @charge_properties.setter + def charge_properties(self, value: pulumi.Input['InstanceChargePropertiesArgs']): + pulumi.set(self, "charge_properties", value) + + @property + @pulumi.getter(name="dorisUserPwd") + def doris_user_pwd(self) -> pulumi.Input[str]: + """ + Database password. + """ + return pulumi.get(self, "doris_user_pwd") + + @doris_user_pwd.setter + def doris_user_pwd(self, value: pulumi.Input[str]): + pulumi.set(self, "doris_user_pwd", value) + + @property + @pulumi.getter(name="feSpec") + def fe_spec(self) -> pulumi.Input['InstanceFeSpecArgs']: + """ + FE specifications. + """ + return pulumi.get(self, "fe_spec") + + @fe_spec.setter + def fe_spec(self, value: pulumi.Input['InstanceFeSpecArgs']): + pulumi.set(self, "fe_spec", value) + + @property + @pulumi.getter(name="haFlag") + def ha_flag(self) -> pulumi.Input[bool]: + """ + Whether it is highly available. + """ + return pulumi.get(self, "ha_flag") + + @ha_flag.setter + def ha_flag(self, value: pulumi.Input[bool]): + pulumi.set(self, "ha_flag", value) + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Input[str]: + """ + Instance name. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_name", value) + + @property + @pulumi.getter(name="productVersion") + def product_version(self) -> pulumi.Input[str]: + """ + Product version number. + """ + return pulumi.get(self, "product_version") + + @product_version.setter + def product_version(self, value: pulumi.Input[str]): + pulumi.set(self, "product_version", value) + + @property + @pulumi.getter(name="userSubnetId") + def user_subnet_id(self) -> pulumi.Input[str]: + """ + User subnet ID. + """ + return pulumi.get(self, "user_subnet_id") + + @user_subnet_id.setter + def user_subnet_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_subnet_id", value) + + @property + @pulumi.getter(name="userVpcId") + def user_vpc_id(self) -> pulumi.Input[str]: + """ + User VPCID. + """ + return pulumi.get(self, "user_vpc_id") + + @user_vpc_id.setter + def user_vpc_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_vpc_id", value) + + @property + @pulumi.getter(name="workloadGroupStatus") + def workload_group_status(self) -> pulumi.Input[str]: + """ + Whether to enable resource group. `open` - enable, `close` - disable. + """ + return pulumi.get(self, "workload_group_status") + + @workload_group_status.setter + def workload_group_status(self, value: pulumi.Input[str]): + pulumi.set(self, "workload_group_status", value) + + @property + @pulumi.getter + def zone(self) -> pulumi.Input[str]: + """ + Availability zone. + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: pulumi.Input[str]): + pulumi.set(self, "zone", value) + + @property + @pulumi.getter(name="caseSensitive") + def case_sensitive(self) -> Optional[pulumi.Input[int]]: + """ + Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + """ + return pulumi.get(self, "case_sensitive") + + @case_sensitive.setter + def case_sensitive(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "case_sensitive", value) + + @property + @pulumi.getter(name="enableMultiZones") + def enable_multi_zones(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable multi-availability zone. + """ + return pulumi.get(self, "enable_multi_zones") + + @enable_multi_zones.setter + def enable_multi_zones(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multi_zones", value) + + @property + @pulumi.getter(name="haType") + def ha_type(self) -> Optional[pulumi.Input[int]]: + """ + High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + """ + return pulumi.get(self, "ha_type") + + @ha_type.setter + def ha_type(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ha_type", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Security Group Id list. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]: + """ + Tag list. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userMultiZoneInfos") + def user_multi_zone_infos(self) -> Optional[pulumi.Input['InstanceUserMultiZoneInfosArgs']]: + """ + After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + """ + return pulumi.get(self, "user_multi_zone_infos") + + @user_multi_zone_infos.setter + def user_multi_zone_infos(self, value: Optional[pulumi.Input['InstanceUserMultiZoneInfosArgs']]): + pulumi.set(self, "user_multi_zone_infos", value) + + +@pulumi.input_type +class _InstanceState: + def __init__(__self__, *, + be_spec: Optional[pulumi.Input['InstanceBeSpecArgs']] = None, + case_sensitive: Optional[pulumi.Input[int]] = None, + charge_properties: Optional[pulumi.Input['InstanceChargePropertiesArgs']] = None, + doris_user_pwd: Optional[pulumi.Input[str]] = None, + enable_multi_zones: Optional[pulumi.Input[bool]] = None, + fe_spec: Optional[pulumi.Input['InstanceFeSpecArgs']] = None, + ha_flag: Optional[pulumi.Input[bool]] = None, + ha_type: Optional[pulumi.Input[int]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + product_version: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]] = None, + user_multi_zone_infos: Optional[pulumi.Input['InstanceUserMultiZoneInfosArgs']] = None, + user_subnet_id: Optional[pulumi.Input[str]] = None, + user_vpc_id: Optional[pulumi.Input[str]] = None, + workload_group_status: Optional[pulumi.Input[str]] = None, + zone: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Instance resources. + :param pulumi.Input['InstanceBeSpecArgs'] be_spec: BE specifications. + :param pulumi.Input[int] case_sensitive: Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + :param pulumi.Input['InstanceChargePropertiesArgs'] charge_properties: Payment type. + :param pulumi.Input[str] doris_user_pwd: Database password. + :param pulumi.Input[bool] enable_multi_zones: Whether to enable multi-availability zone. + :param pulumi.Input['InstanceFeSpecArgs'] fe_spec: FE specifications. + :param pulumi.Input[bool] ha_flag: Whether it is highly available. + :param pulumi.Input[int] ha_type: High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + :param pulumi.Input[str] instance_name: Instance name. + :param pulumi.Input[str] product_version: Product version number. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security Group Id list. + :param pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]] tags: Tag list. + :param pulumi.Input['InstanceUserMultiZoneInfosArgs'] user_multi_zone_infos: After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + :param pulumi.Input[str] user_subnet_id: User subnet ID. + :param pulumi.Input[str] user_vpc_id: User VPCID. + :param pulumi.Input[str] workload_group_status: Whether to enable resource group. `open` - enable, `close` - disable. + :param pulumi.Input[str] zone: Availability zone. + """ + if be_spec is not None: + pulumi.set(__self__, "be_spec", be_spec) + if case_sensitive is not None: + pulumi.set(__self__, "case_sensitive", case_sensitive) + if charge_properties is not None: + pulumi.set(__self__, "charge_properties", charge_properties) + if doris_user_pwd is not None: + pulumi.set(__self__, "doris_user_pwd", doris_user_pwd) + if enable_multi_zones is not None: + pulumi.set(__self__, "enable_multi_zones", enable_multi_zones) + if fe_spec is not None: + pulumi.set(__self__, "fe_spec", fe_spec) + if ha_flag is not None: + pulumi.set(__self__, "ha_flag", ha_flag) + if ha_type is not None: + pulumi.set(__self__, "ha_type", ha_type) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if product_version is not None: + pulumi.set(__self__, "product_version", product_version) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_multi_zone_infos is not None: + pulumi.set(__self__, "user_multi_zone_infos", user_multi_zone_infos) + if user_subnet_id is not None: + pulumi.set(__self__, "user_subnet_id", user_subnet_id) + if user_vpc_id is not None: + pulumi.set(__self__, "user_vpc_id", user_vpc_id) + if workload_group_status is not None: + pulumi.set(__self__, "workload_group_status", workload_group_status) + if zone is not None: + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="beSpec") + def be_spec(self) -> Optional[pulumi.Input['InstanceBeSpecArgs']]: + """ + BE specifications. + """ + return pulumi.get(self, "be_spec") + + @be_spec.setter + def be_spec(self, value: Optional[pulumi.Input['InstanceBeSpecArgs']]): + pulumi.set(self, "be_spec", value) + + @property + @pulumi.getter(name="caseSensitive") + def case_sensitive(self) -> Optional[pulumi.Input[int]]: + """ + Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + """ + return pulumi.get(self, "case_sensitive") + + @case_sensitive.setter + def case_sensitive(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "case_sensitive", value) + + @property + @pulumi.getter(name="chargeProperties") + def charge_properties(self) -> Optional[pulumi.Input['InstanceChargePropertiesArgs']]: + """ + Payment type. + """ + return pulumi.get(self, "charge_properties") + + @charge_properties.setter + def charge_properties(self, value: Optional[pulumi.Input['InstanceChargePropertiesArgs']]): + pulumi.set(self, "charge_properties", value) + + @property + @pulumi.getter(name="dorisUserPwd") + def doris_user_pwd(self) -> Optional[pulumi.Input[str]]: + """ + Database password. + """ + return pulumi.get(self, "doris_user_pwd") + + @doris_user_pwd.setter + def doris_user_pwd(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "doris_user_pwd", value) + + @property + @pulumi.getter(name="enableMultiZones") + def enable_multi_zones(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable multi-availability zone. + """ + return pulumi.get(self, "enable_multi_zones") + + @enable_multi_zones.setter + def enable_multi_zones(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_multi_zones", value) + + @property + @pulumi.getter(name="feSpec") + def fe_spec(self) -> Optional[pulumi.Input['InstanceFeSpecArgs']]: + """ + FE specifications. + """ + return pulumi.get(self, "fe_spec") + + @fe_spec.setter + def fe_spec(self, value: Optional[pulumi.Input['InstanceFeSpecArgs']]): + pulumi.set(self, "fe_spec", value) + + @property + @pulumi.getter(name="haFlag") + def ha_flag(self) -> Optional[pulumi.Input[bool]]: + """ + Whether it is highly available. + """ + return pulumi.get(self, "ha_flag") + + @ha_flag.setter + def ha_flag(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ha_flag", value) + + @property + @pulumi.getter(name="haType") + def ha_type(self) -> Optional[pulumi.Input[int]]: + """ + High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + """ + return pulumi.get(self, "ha_type") + + @ha_type.setter + def ha_type(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ha_type", value) + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[str]]: + """ + Instance name. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_name", value) + + @property + @pulumi.getter(name="productVersion") + def product_version(self) -> Optional[pulumi.Input[str]]: + """ + Product version number. + """ + return pulumi.get(self, "product_version") + + @product_version.setter + def product_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "product_version", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Security Group Id list. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]: + """ + Tag list. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userMultiZoneInfos") + def user_multi_zone_infos(self) -> Optional[pulumi.Input['InstanceUserMultiZoneInfosArgs']]: + """ + After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + """ + return pulumi.get(self, "user_multi_zone_infos") + + @user_multi_zone_infos.setter + def user_multi_zone_infos(self, value: Optional[pulumi.Input['InstanceUserMultiZoneInfosArgs']]): + pulumi.set(self, "user_multi_zone_infos", value) + + @property + @pulumi.getter(name="userSubnetId") + def user_subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + User subnet ID. + """ + return pulumi.get(self, "user_subnet_id") + + @user_subnet_id.setter + def user_subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_subnet_id", value) + + @property + @pulumi.getter(name="userVpcId") + def user_vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + User VPCID. + """ + return pulumi.get(self, "user_vpc_id") + + @user_vpc_id.setter + def user_vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_vpc_id", value) + + @property + @pulumi.getter(name="workloadGroupStatus") + def workload_group_status(self) -> Optional[pulumi.Input[str]]: + """ + Whether to enable resource group. `open` - enable, `close` - disable. + """ + return pulumi.get(self, "workload_group_status") + + @workload_group_status.setter + def workload_group_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workload_group_status", value) + + @property + @pulumi.getter + def zone(self) -> Optional[pulumi.Input[str]]: + """ + Availability zone. + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone", value) + + +class Instance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + be_spec: Optional[pulumi.Input[pulumi.InputType['InstanceBeSpecArgs']]] = None, + case_sensitive: Optional[pulumi.Input[int]] = None, + charge_properties: Optional[pulumi.Input[pulumi.InputType['InstanceChargePropertiesArgs']]] = None, + doris_user_pwd: Optional[pulumi.Input[str]] = None, + enable_multi_zones: Optional[pulumi.Input[bool]] = None, + fe_spec: Optional[pulumi.Input[pulumi.InputType['InstanceFeSpecArgs']]] = None, + ha_flag: Optional[pulumi.Input[bool]] = None, + ha_type: Optional[pulumi.Input[int]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + product_version: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]]] = None, + user_multi_zone_infos: Optional[pulumi.Input[pulumi.InputType['InstanceUserMultiZoneInfosArgs']]] = None, + user_subnet_id: Optional[pulumi.Input[str]] = None, + user_vpc_id: Optional[pulumi.Input[str]] = None, + workload_group_status: Optional[pulumi.Input[str]] = None, + zone: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a cdwdoris instance + + ## Example Usage + + ### Create a POSTPAID instance + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create POSTPAID instance + example_instance = tencentcloud.cdwdoris.Instance("exampleInstance", + zone=availability_zone, + user_vpc_id=vpc.id, + user_subnet_id=subnet.id, + product_version="2.1", + instance_name="tf-example", + doris_user_pwd="Password@test", + ha_flag=False, + case_sensitive=0, + enable_multi_zones=False, + workload_group_status="open", + security_group_ids=[example_group.id], + charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs( + charge_type="POSTPAID_BY_HOUR", + ), + fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + tags=[tencentcloud.cdwdoris.InstanceTagArgs( + tag_key="createBy", + tag_value="Terraform", + )]) + ``` + + + ### Create a POSTPAID instance + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create PREPAID instance + example_instance = tencentcloud.cdwdoris.Instance("exampleInstance", + zone=availability_zone, + user_vpc_id=vpc.id, + user_subnet_id=subnet.id, + product_version="2.1", + instance_name="tf-example", + doris_user_pwd="Password@test", + ha_flag=False, + case_sensitive=0, + enable_multi_zones=False, + workload_group_status="close", + security_group_ids=[example_group.id], + charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs( + charge_type="PREPAID", + time_span=1, + time_unit="m", + ), + fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + tags=[tencentcloud.cdwdoris.InstanceTagArgs( + tag_key="createBy", + tag_value="Terraform", + )]) + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['InstanceBeSpecArgs']] be_spec: BE specifications. + :param pulumi.Input[int] case_sensitive: Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + :param pulumi.Input[pulumi.InputType['InstanceChargePropertiesArgs']] charge_properties: Payment type. + :param pulumi.Input[str] doris_user_pwd: Database password. + :param pulumi.Input[bool] enable_multi_zones: Whether to enable multi-availability zone. + :param pulumi.Input[pulumi.InputType['InstanceFeSpecArgs']] fe_spec: FE specifications. + :param pulumi.Input[bool] ha_flag: Whether it is highly available. + :param pulumi.Input[int] ha_type: High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + :param pulumi.Input[str] instance_name: Instance name. + :param pulumi.Input[str] product_version: Product version number. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security Group Id list. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]] tags: Tag list. + :param pulumi.Input[pulumi.InputType['InstanceUserMultiZoneInfosArgs']] user_multi_zone_infos: After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + :param pulumi.Input[str] user_subnet_id: User subnet ID. + :param pulumi.Input[str] user_vpc_id: User VPCID. + :param pulumi.Input[str] workload_group_status: Whether to enable resource group. `open` - enable, `close` - disable. + :param pulumi.Input[str] zone: Availability zone. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: InstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a cdwdoris instance + + ## Example Usage + + ### Create a POSTPAID instance + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create POSTPAID instance + example_instance = tencentcloud.cdwdoris.Instance("exampleInstance", + zone=availability_zone, + user_vpc_id=vpc.id, + user_subnet_id=subnet.id, + product_version="2.1", + instance_name="tf-example", + doris_user_pwd="Password@test", + ha_flag=False, + case_sensitive=0, + enable_multi_zones=False, + workload_group_status="open", + security_group_ids=[example_group.id], + charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs( + charge_type="POSTPAID_BY_HOUR", + ), + fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + tags=[tencentcloud.cdwdoris.InstanceTagArgs( + tag_key="createBy", + tag_value="Terraform", + )]) + ``` + + + ### Create a POSTPAID instance + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create PREPAID instance + example_instance = tencentcloud.cdwdoris.Instance("exampleInstance", + zone=availability_zone, + user_vpc_id=vpc.id, + user_subnet_id=subnet.id, + product_version="2.1", + instance_name="tf-example", + doris_user_pwd="Password@test", + ha_flag=False, + case_sensitive=0, + enable_multi_zones=False, + workload_group_status="close", + security_group_ids=[example_group.id], + charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs( + charge_type="PREPAID", + time_span=1, + time_unit="m", + ), + fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + tags=[tencentcloud.cdwdoris.InstanceTagArgs( + tag_key="createBy", + tag_value="Terraform", + )]) + ``` + + + :param str resource_name: The name of the resource. + :param InstanceArgs 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(InstanceArgs, 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, + be_spec: Optional[pulumi.Input[pulumi.InputType['InstanceBeSpecArgs']]] = None, + case_sensitive: Optional[pulumi.Input[int]] = None, + charge_properties: Optional[pulumi.Input[pulumi.InputType['InstanceChargePropertiesArgs']]] = None, + doris_user_pwd: Optional[pulumi.Input[str]] = None, + enable_multi_zones: Optional[pulumi.Input[bool]] = None, + fe_spec: Optional[pulumi.Input[pulumi.InputType['InstanceFeSpecArgs']]] = None, + ha_flag: Optional[pulumi.Input[bool]] = None, + ha_type: Optional[pulumi.Input[int]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + product_version: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]]] = None, + user_multi_zone_infos: Optional[pulumi.Input[pulumi.InputType['InstanceUserMultiZoneInfosArgs']]] = None, + user_subnet_id: Optional[pulumi.Input[str]] = None, + user_vpc_id: Optional[pulumi.Input[str]] = None, + workload_group_status: Optional[pulumi.Input[str]] = None, + zone: 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__ = InstanceArgs.__new__(InstanceArgs) + + if be_spec is None and not opts.urn: + raise TypeError("Missing required property 'be_spec'") + __props__.__dict__["be_spec"] = be_spec + __props__.__dict__["case_sensitive"] = case_sensitive + if charge_properties is None and not opts.urn: + raise TypeError("Missing required property 'charge_properties'") + __props__.__dict__["charge_properties"] = charge_properties + if doris_user_pwd is None and not opts.urn: + raise TypeError("Missing required property 'doris_user_pwd'") + __props__.__dict__["doris_user_pwd"] = None if doris_user_pwd is None else pulumi.Output.secret(doris_user_pwd) + __props__.__dict__["enable_multi_zones"] = enable_multi_zones + if fe_spec is None and not opts.urn: + raise TypeError("Missing required property 'fe_spec'") + __props__.__dict__["fe_spec"] = fe_spec + if ha_flag is None and not opts.urn: + raise TypeError("Missing required property 'ha_flag'") + __props__.__dict__["ha_flag"] = ha_flag + __props__.__dict__["ha_type"] = ha_type + if instance_name is None and not opts.urn: + raise TypeError("Missing required property 'instance_name'") + __props__.__dict__["instance_name"] = instance_name + if product_version is None and not opts.urn: + raise TypeError("Missing required property 'product_version'") + __props__.__dict__["product_version"] = product_version + __props__.__dict__["security_group_ids"] = security_group_ids + __props__.__dict__["tags"] = tags + __props__.__dict__["user_multi_zone_infos"] = user_multi_zone_infos + if user_subnet_id is None and not opts.urn: + raise TypeError("Missing required property 'user_subnet_id'") + __props__.__dict__["user_subnet_id"] = user_subnet_id + if user_vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'user_vpc_id'") + __props__.__dict__["user_vpc_id"] = user_vpc_id + if workload_group_status is None and not opts.urn: + raise TypeError("Missing required property 'workload_group_status'") + __props__.__dict__["workload_group_status"] = workload_group_status + if zone is None and not opts.urn: + raise TypeError("Missing required property 'zone'") + __props__.__dict__["zone"] = zone + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["dorisUserPwd"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(Instance, __self__).__init__( + 'tencentcloud:Cdwdoris/instance:Instance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + be_spec: Optional[pulumi.Input[pulumi.InputType['InstanceBeSpecArgs']]] = None, + case_sensitive: Optional[pulumi.Input[int]] = None, + charge_properties: Optional[pulumi.Input[pulumi.InputType['InstanceChargePropertiesArgs']]] = None, + doris_user_pwd: Optional[pulumi.Input[str]] = None, + enable_multi_zones: Optional[pulumi.Input[bool]] = None, + fe_spec: Optional[pulumi.Input[pulumi.InputType['InstanceFeSpecArgs']]] = None, + ha_flag: Optional[pulumi.Input[bool]] = None, + ha_type: Optional[pulumi.Input[int]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + product_version: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]]] = None, + user_multi_zone_infos: Optional[pulumi.Input[pulumi.InputType['InstanceUserMultiZoneInfosArgs']]] = None, + user_subnet_id: Optional[pulumi.Input[str]] = None, + user_vpc_id: Optional[pulumi.Input[str]] = None, + workload_group_status: Optional[pulumi.Input[str]] = None, + zone: Optional[pulumi.Input[str]] = None) -> 'Instance': + """ + Get an existing Instance 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[pulumi.InputType['InstanceBeSpecArgs']] be_spec: BE specifications. + :param pulumi.Input[int] case_sensitive: Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + :param pulumi.Input[pulumi.InputType['InstanceChargePropertiesArgs']] charge_properties: Payment type. + :param pulumi.Input[str] doris_user_pwd: Database password. + :param pulumi.Input[bool] enable_multi_zones: Whether to enable multi-availability zone. + :param pulumi.Input[pulumi.InputType['InstanceFeSpecArgs']] fe_spec: FE specifications. + :param pulumi.Input[bool] ha_flag: Whether it is highly available. + :param pulumi.Input[int] ha_type: High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + :param pulumi.Input[str] instance_name: Instance name. + :param pulumi.Input[str] product_version: Product version number. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security Group Id list. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]] tags: Tag list. + :param pulumi.Input[pulumi.InputType['InstanceUserMultiZoneInfosArgs']] user_multi_zone_infos: After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + :param pulumi.Input[str] user_subnet_id: User subnet ID. + :param pulumi.Input[str] user_vpc_id: User VPCID. + :param pulumi.Input[str] workload_group_status: Whether to enable resource group. `open` - enable, `close` - disable. + :param pulumi.Input[str] zone: Availability zone. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _InstanceState.__new__(_InstanceState) + + __props__.__dict__["be_spec"] = be_spec + __props__.__dict__["case_sensitive"] = case_sensitive + __props__.__dict__["charge_properties"] = charge_properties + __props__.__dict__["doris_user_pwd"] = doris_user_pwd + __props__.__dict__["enable_multi_zones"] = enable_multi_zones + __props__.__dict__["fe_spec"] = fe_spec + __props__.__dict__["ha_flag"] = ha_flag + __props__.__dict__["ha_type"] = ha_type + __props__.__dict__["instance_name"] = instance_name + __props__.__dict__["product_version"] = product_version + __props__.__dict__["security_group_ids"] = security_group_ids + __props__.__dict__["tags"] = tags + __props__.__dict__["user_multi_zone_infos"] = user_multi_zone_infos + __props__.__dict__["user_subnet_id"] = user_subnet_id + __props__.__dict__["user_vpc_id"] = user_vpc_id + __props__.__dict__["workload_group_status"] = workload_group_status + __props__.__dict__["zone"] = zone + return Instance(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="beSpec") + def be_spec(self) -> pulumi.Output['outputs.InstanceBeSpec']: + """ + BE specifications. + """ + return pulumi.get(self, "be_spec") + + @property + @pulumi.getter(name="caseSensitive") + def case_sensitive(self) -> pulumi.Output[Optional[int]]: + """ + Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. + """ + return pulumi.get(self, "case_sensitive") + + @property + @pulumi.getter(name="chargeProperties") + def charge_properties(self) -> pulumi.Output['outputs.InstanceChargeProperties']: + """ + Payment type. + """ + return pulumi.get(self, "charge_properties") + + @property + @pulumi.getter(name="dorisUserPwd") + def doris_user_pwd(self) -> pulumi.Output[str]: + """ + Database password. + """ + return pulumi.get(self, "doris_user_pwd") + + @property + @pulumi.getter(name="enableMultiZones") + def enable_multi_zones(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to enable multi-availability zone. + """ + return pulumi.get(self, "enable_multi_zones") + + @property + @pulumi.getter(name="feSpec") + def fe_spec(self) -> pulumi.Output['outputs.InstanceFeSpec']: + """ + FE specifications. + """ + return pulumi.get(self, "fe_spec") + + @property + @pulumi.getter(name="haFlag") + def ha_flag(self) -> pulumi.Output[bool]: + """ + Whether it is highly available. + """ + return pulumi.get(self, "ha_flag") + + @property + @pulumi.getter(name="haType") + def ha_type(self) -> pulumi.Output[Optional[int]]: + """ + High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). + """ + return pulumi.get(self, "ha_type") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Output[str]: + """ + Instance name. + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="productVersion") + def product_version(self) -> pulumi.Output[str]: + """ + Product version number. + """ + return pulumi.get(self, "product_version") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Security Group Id list. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceTag']]]: + """ + Tag list. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="userMultiZoneInfos") + def user_multi_zone_infos(self) -> pulumi.Output[Optional['outputs.InstanceUserMultiZoneInfos']]: + """ + After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + """ + return pulumi.get(self, "user_multi_zone_infos") + + @property + @pulumi.getter(name="userSubnetId") + def user_subnet_id(self) -> pulumi.Output[str]: + """ + User subnet ID. + """ + return pulumi.get(self, "user_subnet_id") + + @property + @pulumi.getter(name="userVpcId") + def user_vpc_id(self) -> pulumi.Output[str]: + """ + User VPCID. + """ + return pulumi.get(self, "user_vpc_id") + + @property + @pulumi.getter(name="workloadGroupStatus") + def workload_group_status(self) -> pulumi.Output[str]: + """ + Whether to enable resource group. `open` - enable, `close` - disable. + """ + return pulumi.get(self, "workload_group_status") + + @property + @pulumi.getter + def zone(self) -> pulumi.Output[str]: + """ + Availability zone. + """ + return pulumi.get(self, "zone") + diff --git a/sdk/python/tencentcloud_iac_pulumi/cdwdoris/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/outputs.py new file mode 100644 index 000000000..90651b310 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/outputs.py @@ -0,0 +1,1443 @@ +# 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 + +__all__ = [ + 'InstanceBeSpec', + 'InstanceChargeProperties', + 'InstanceFeSpec', + 'InstanceTag', + 'InstanceUserMultiZoneInfos', + 'WorkloadGroupWorkloadGroup', + 'GetInstancesInstancesListResult', + 'GetInstancesInstancesListCoreSummaryResult', + 'GetInstancesInstancesListCoreSummaryAttachCbsSpecResult', + 'GetInstancesInstancesListMasterSummaryResult', + 'GetInstancesInstancesListMasterSummaryAttachCbsSpecResult', + 'GetInstancesInstancesListTagResult', + 'GetInstancesSearchTagResult', +] + +@pulumi.output_type +class InstanceBeSpec(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskSize": + suggest = "disk_size" + elif key == "specName": + suggest = "spec_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceBeSpec. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceBeSpec.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceBeSpec.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + disk_size: int, + spec_name: str): + """ + :param int count: Quantities. + :param int disk_size: Cloud disk size. + :param str spec_name: Specification name. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "spec_name", spec_name) + + @property + @pulumi.getter + def count(self) -> int: + """ + Quantities. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> int: + """ + Cloud disk size. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="specName") + def spec_name(self) -> str: + """ + Specification name. + """ + return pulumi.get(self, "spec_name") + + +@pulumi.output_type +class InstanceChargeProperties(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "chargeType": + suggest = "charge_type" + elif key == "renewFlag": + suggest = "renew_flag" + elif key == "timeSpan": + suggest = "time_span" + elif key == "timeUnit": + suggest = "time_unit" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceChargeProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceChargeProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceChargeProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + charge_type: Optional[str] = None, + renew_flag: Optional[int] = None, + time_span: Optional[int] = None, + time_unit: Optional[str] = None): + """ + :param str charge_type: Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + :param int renew_flag: Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + :param int time_span: Billing duration Note: This field may return null, indicating that no valid values can be obtained. + :param str time_unit: Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + """ + if charge_type is not None: + pulumi.set(__self__, "charge_type", charge_type) + if renew_flag is not None: + pulumi.set(__self__, "renew_flag", renew_flag) + if time_span is not None: + pulumi.set(__self__, "time_span", time_span) + if time_unit is not None: + pulumi.set(__self__, "time_unit", time_unit) + + @property + @pulumi.getter(name="chargeType") + def charge_type(self) -> Optional[str]: + """ + Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "charge_type") + + @property + @pulumi.getter(name="renewFlag") + def renew_flag(self) -> Optional[int]: + """ + Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "renew_flag") + + @property + @pulumi.getter(name="timeSpan") + def time_span(self) -> Optional[int]: + """ + Billing duration Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "time_span") + + @property + @pulumi.getter(name="timeUnit") + def time_unit(self) -> Optional[str]: + """ + Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "time_unit") + + +@pulumi.output_type +class InstanceFeSpec(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskSize": + suggest = "disk_size" + elif key == "specName": + suggest = "spec_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceFeSpec. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceFeSpec.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceFeSpec.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + count: int, + disk_size: int, + spec_name: str): + """ + :param int count: Quantities. + :param int disk_size: Cloud disk size. + :param str spec_name: Specification name. + """ + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "spec_name", spec_name) + + @property + @pulumi.getter + def count(self) -> int: + """ + Quantities. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> int: + """ + Cloud disk size. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="specName") + def spec_name(self) -> str: + """ + Specification name. + """ + return pulumi.get(self, "spec_name") + + +@pulumi.output_type +class InstanceTag(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tagKey": + suggest = "tag_key" + elif key == "tagValue": + suggest = "tag_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceTag. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceTag.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceTag.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tag_key: str, + tag_value: str): + """ + :param str tag_key: Tag key. + :param str tag_value: Tag value. + """ + pulumi.set(__self__, "tag_key", tag_key) + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> str: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> str: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + +@pulumi.output_type +class InstanceUserMultiZoneInfos(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + elif key == "subnetIpNum": + suggest = "subnet_ip_num" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceUserMultiZoneInfos. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceUserMultiZoneInfos.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceUserMultiZoneInfos.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_id: Optional[str] = None, + subnet_ip_num: Optional[int] = None, + zone: Optional[str] = None): + """ + :param str subnet_id: Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + :param int subnet_ip_num: The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + :param str zone: Availability zone Note: This field may return null, indicating that no valid values can be obtained. + """ + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if subnet_ip_num is not None: + pulumi.set(__self__, "subnet_ip_num", subnet_ip_num) + if zone is not None: + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[str]: + """ + Subnet ID Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="subnetIpNum") + def subnet_ip_num(self) -> Optional[int]: + """ + The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "subnet_ip_num") + + @property + @pulumi.getter + def zone(self) -> Optional[str]: + """ + Availability zone Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class WorkloadGroupWorkloadGroup(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuHardLimit": + suggest = "cpu_hard_limit" + elif key == "cpuShare": + suggest = "cpu_share" + elif key == "enableMemoryOverCommit": + suggest = "enable_memory_over_commit" + elif key == "memoryLimit": + suggest = "memory_limit" + elif key == "workloadGroupName": + suggest = "workload_group_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkloadGroupWorkloadGroup. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkloadGroupWorkloadGroup.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkloadGroupWorkloadGroup.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cpu_hard_limit: Optional[str] = None, + cpu_share: Optional[int] = None, + enable_memory_over_commit: Optional[bool] = None, + memory_limit: Optional[int] = None, + workload_group_name: Optional[str] = None): + """ + :param str cpu_hard_limit: Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + :param int cpu_share: CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + :param bool enable_memory_over_commit: Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + :param int memory_limit: Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + :param str workload_group_name: Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + """ + if cpu_hard_limit is not None: + pulumi.set(__self__, "cpu_hard_limit", cpu_hard_limit) + if cpu_share is not None: + pulumi.set(__self__, "cpu_share", cpu_share) + if enable_memory_over_commit is not None: + pulumi.set(__self__, "enable_memory_over_commit", enable_memory_over_commit) + if memory_limit is not None: + pulumi.set(__self__, "memory_limit", memory_limit) + if workload_group_name is not None: + pulumi.set(__self__, "workload_group_name", workload_group_name) + + @property + @pulumi.getter(name="cpuHardLimit") + def cpu_hard_limit(self) -> Optional[str]: + """ + Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "cpu_hard_limit") + + @property + @pulumi.getter(name="cpuShare") + def cpu_share(self) -> Optional[int]: + """ + CPU weight. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "cpu_share") + + @property + @pulumi.getter(name="enableMemoryOverCommit") + def enable_memory_over_commit(self) -> Optional[bool]: + """ + Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "enable_memory_over_commit") + + @property + @pulumi.getter(name="memoryLimit") + def memory_limit(self) -> Optional[int]: + """ + Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "memory_limit") + + @property + @pulumi.getter(name="workloadGroupName") + def workload_group_name(self) -> Optional[str]: + """ + Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "workload_group_name") + + +@pulumi.output_type +class GetInstancesInstancesListResult(dict): + def __init__(__self__, *, + access_info: str, + bind_sgs: Sequence[str], + build_version: str, + can_attach_cbs: bool, + case_sensitive: int, + characteristics: Sequence[str], + cls_log_set_id: str, + cls_topic_id: str, + components: str, + cool_down_bucket: str, + core_summary: 'outputs.GetInstancesInstancesListCoreSummaryResult', + cos_bucket_name: str, + cos_move_factor: int, + create_time: str, + eip: str, + enable_cool_down: int, + enable_multi_zones: bool, + enable_xml_config: int, + expire_time: str, + flow_msg: str, + grace_shutdown_wait_seconds: str, + ha: str, + ha_type: int, + has_cls_topic: bool, + id: int, + instance_id: str, + instance_name: str, + is_white_sgs: bool, + kind: str, + master_summary: 'outputs.GetInstancesInstancesListMasterSummaryResult', + monitor: str, + pay_mode: str, + region: str, + region_desc: str, + region_id: int, + renew_flag: bool, + restart_timeout: str, + status: str, + status_desc: str, + subnet_id: str, + tags: Sequence['outputs.GetInstancesInstancesListTagResult'], + user_network_infos: str, + version: str, + vpc_id: str, + zone: str, + zone_desc: str): + """ + :param str access_info: Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained. + :param Sequence[str] bind_sgs: Bound security group information. Note: This field may return null, indicating that no valid values can be obtained. + :param str build_version: Minor versions. Note: This field may return null, indicating that no valid values can be obtained. + :param bool can_attach_cbs: cbs. Note: This field may return null, indicating that no valid values can be obtained. + :param int case_sensitive: Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained. + :param Sequence[str] characteristics: Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained. + :param str cls_log_set_id: Logset ID. Note: This field may return null, indicating that no valid values can be obtained. + :param str cls_topic_id: Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained. + :param str components: Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained. + :param str cool_down_bucket: COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained. + :param 'GetInstancesInstancesListCoreSummaryArgs' core_summary: Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained. + :param str cos_bucket_name: COS bucket. Note: This field may return null, indicating that no valid values can be obtained. + :param int cos_move_factor: Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained. + :param str create_time: Creation time. Note: This field may return null, indicating that no valid values can be obtained. + :param str eip: Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained. + :param int enable_cool_down: Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained. + :param bool enable_multi_zones: Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained. + :param int enable_xml_config: Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained. + :param str expire_time: Expiration time. Note: This field may return null, indicating that no valid values can be obtained. + :param str flow_msg: Error process description information. Note: This field may return null, indicating that no valid values can be obtained. + :param str grace_shutdown_wait_seconds: The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained. + :param str ha: High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained. + :param int ha_type: High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained. + :param bool has_cls_topic: Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained. + :param int id: Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained. + :param str instance_id: Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained. + :param str instance_name: Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained. + :param bool is_white_sgs: Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained. + :param str kind: external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained. + :param 'GetInstancesInstancesListMasterSummaryArgs' master_summary: Data node description information. Note: This field may return null, indicating that no valid values can be obtained. + :param str monitor: Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained. + :param str pay_mode: Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained. + :param str region: Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained. + :param str region_desc: Region. Note: This field may return null, indicating that no valid values can be obtained. + :param int region_id: Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained. + :param bool renew_flag: Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained. + :param str restart_timeout: Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained. + :param str status: Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained. + :param str status_desc: Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained. + :param str subnet_id: Subnet name. Note: This field may return null, indicating that no valid values can be obtained. + :param Sequence['GetInstancesInstancesListTagArgs'] tags: Tag list. Note: This field may return null, indicating that no valid values can be obtained. + :param str user_network_infos: User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained. + :param str version: Version. Note: This field may return null, indicating that no valid values can be obtained. + :param str vpc_id: VPC name. Note: This field may return null, indicating that no valid values can be obtained. + :param str zone: Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained. + :param str zone_desc: Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "access_info", access_info) + pulumi.set(__self__, "bind_sgs", bind_sgs) + pulumi.set(__self__, "build_version", build_version) + pulumi.set(__self__, "can_attach_cbs", can_attach_cbs) + pulumi.set(__self__, "case_sensitive", case_sensitive) + pulumi.set(__self__, "characteristics", characteristics) + pulumi.set(__self__, "cls_log_set_id", cls_log_set_id) + pulumi.set(__self__, "cls_topic_id", cls_topic_id) + pulumi.set(__self__, "components", components) + pulumi.set(__self__, "cool_down_bucket", cool_down_bucket) + pulumi.set(__self__, "core_summary", core_summary) + pulumi.set(__self__, "cos_bucket_name", cos_bucket_name) + pulumi.set(__self__, "cos_move_factor", cos_move_factor) + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "eip", eip) + pulumi.set(__self__, "enable_cool_down", enable_cool_down) + pulumi.set(__self__, "enable_multi_zones", enable_multi_zones) + pulumi.set(__self__, "enable_xml_config", enable_xml_config) + pulumi.set(__self__, "expire_time", expire_time) + pulumi.set(__self__, "flow_msg", flow_msg) + pulumi.set(__self__, "grace_shutdown_wait_seconds", grace_shutdown_wait_seconds) + pulumi.set(__self__, "ha", ha) + pulumi.set(__self__, "ha_type", ha_type) + pulumi.set(__self__, "has_cls_topic", has_cls_topic) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_name", instance_name) + pulumi.set(__self__, "is_white_sgs", is_white_sgs) + pulumi.set(__self__, "kind", kind) + pulumi.set(__self__, "master_summary", master_summary) + pulumi.set(__self__, "monitor", monitor) + pulumi.set(__self__, "pay_mode", pay_mode) + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "region_desc", region_desc) + pulumi.set(__self__, "region_id", region_id) + pulumi.set(__self__, "renew_flag", renew_flag) + pulumi.set(__self__, "restart_timeout", restart_timeout) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "status_desc", status_desc) + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "user_network_infos", user_network_infos) + pulumi.set(__self__, "version", version) + pulumi.set(__self__, "vpc_id", vpc_id) + pulumi.set(__self__, "zone", zone) + pulumi.set(__self__, "zone_desc", zone_desc) + + @property + @pulumi.getter(name="accessInfo") + def access_info(self) -> str: + """ + Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "access_info") + + @property + @pulumi.getter(name="bindSGs") + def bind_sgs(self) -> Sequence[str]: + """ + Bound security group information. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "bind_sgs") + + @property + @pulumi.getter(name="buildVersion") + def build_version(self) -> str: + """ + Minor versions. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "build_version") + + @property + @pulumi.getter(name="canAttachCbs") + def can_attach_cbs(self) -> bool: + """ + cbs. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "can_attach_cbs") + + @property + @pulumi.getter(name="caseSensitive") + def case_sensitive(self) -> int: + """ + Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "case_sensitive") + + @property + @pulumi.getter + def characteristics(self) -> Sequence[str]: + """ + Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "characteristics") + + @property + @pulumi.getter(name="clsLogSetId") + def cls_log_set_id(self) -> str: + """ + Logset ID. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "cls_log_set_id") + + @property + @pulumi.getter(name="clsTopicId") + def cls_topic_id(self) -> str: + """ + Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "cls_topic_id") + + @property + @pulumi.getter + def components(self) -> str: + """ + Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "components") + + @property + @pulumi.getter(name="coolDownBucket") + def cool_down_bucket(self) -> str: + """ + COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "cool_down_bucket") + + @property + @pulumi.getter(name="coreSummary") + def core_summary(self) -> 'outputs.GetInstancesInstancesListCoreSummaryResult': + """ + Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "core_summary") + + @property + @pulumi.getter(name="cosBucketName") + def cos_bucket_name(self) -> str: + """ + COS bucket. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "cos_bucket_name") + + @property + @pulumi.getter(name="cosMoveFactor") + def cos_move_factor(self) -> int: + """ + Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "cos_move_factor") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Creation time. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def eip(self) -> str: + """ + Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "eip") + + @property + @pulumi.getter(name="enableCoolDown") + def enable_cool_down(self) -> int: + """ + Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "enable_cool_down") + + @property + @pulumi.getter(name="enableMultiZones") + def enable_multi_zones(self) -> bool: + """ + Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "enable_multi_zones") + + @property + @pulumi.getter(name="enableXmlConfig") + def enable_xml_config(self) -> int: + """ + Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "enable_xml_config") + + @property + @pulumi.getter(name="expireTime") + def expire_time(self) -> str: + """ + Expiration time. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "expire_time") + + @property + @pulumi.getter(name="flowMsg") + def flow_msg(self) -> str: + """ + Error process description information. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "flow_msg") + + @property + @pulumi.getter(name="graceShutdownWaitSeconds") + def grace_shutdown_wait_seconds(self) -> str: + """ + The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "grace_shutdown_wait_seconds") + + @property + @pulumi.getter + def ha(self) -> str: + """ + High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "ha") + + @property + @pulumi.getter(name="haType") + def ha_type(self) -> int: + """ + High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "ha_type") + + @property + @pulumi.getter(name="hasClsTopic") + def has_cls_topic(self) -> bool: + """ + Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "has_cls_topic") + + @property + @pulumi.getter + def id(self) -> int: + """ + Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + """ + Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> str: + """ + Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="isWhiteSGs") + def is_white_sgs(self) -> bool: + """ + Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "is_white_sgs") + + @property + @pulumi.getter + def kind(self) -> str: + """ + external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter(name="masterSummary") + def master_summary(self) -> 'outputs.GetInstancesInstancesListMasterSummaryResult': + """ + Data node description information. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "master_summary") + + @property + @pulumi.getter + def monitor(self) -> str: + """ + Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="payMode") + def pay_mode(self) -> str: + """ + Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "pay_mode") + + @property + @pulumi.getter + def region(self) -> str: + """ + Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="regionDesc") + def region_desc(self) -> str: + """ + Region. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "region_desc") + + @property + @pulumi.getter(name="regionId") + def region_id(self) -> int: + """ + Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "region_id") + + @property + @pulumi.getter(name="renewFlag") + def renew_flag(self) -> bool: + """ + Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "renew_flag") + + @property + @pulumi.getter(name="restartTimeout") + def restart_timeout(self) -> str: + """ + Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "restart_timeout") + + @property + @pulumi.getter + def status(self) -> str: + """ + Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="statusDesc") + def status_desc(self) -> str: + """ + Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "status_desc") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + Subnet name. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetInstancesInstancesListTagResult']: + """ + Tag list. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="userNetworkInfos") + def user_network_infos(self) -> str: + """ + User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "user_network_infos") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "version") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> str: + """ + VPC name. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "vpc_id") + + @property + @pulumi.getter + def zone(self) -> str: + """ + Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "zone") + + @property + @pulumi.getter(name="zoneDesc") + def zone_desc(self) -> str: + """ + Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "zone_desc") + + +@pulumi.output_type +class GetInstancesInstancesListCoreSummaryResult(dict): + def __init__(__self__, *, + attach_cbs_spec: 'outputs.GetInstancesInstancesListCoreSummaryAttachCbsSpecResult', + core: int, + disk: int, + disk_count: int, + disk_desc: str, + disk_type: str, + encrypt: int, + max_disk_size: int, + memory: int, + node_size: int, + spec: str, + spec_core: int, + spec_memory: int, + sub_product_type: str): + """ + :param 'GetInstancesInstancesListCoreSummaryAttachCbsSpecArgs' attach_cbs_spec: Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + :param int core: Number of CPU cores, in counts. + :param int disk: Disk size, in GB. + :param int disk_count: Disk size. Note: This field may return null, indicating that no valid values can be obtained. + :param str disk_desc: Disk description. + :param str disk_type: Disk type. + :param int encrypt: Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + :param int max_disk_size: Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + :param int memory: Memory size, in GB. + :param int node_size: Number of nodes. + :param str spec: Model, such as S1. + :param int spec_core: Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + :param int spec_memory: Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + :param str sub_product_type: Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "attach_cbs_spec", attach_cbs_spec) + pulumi.set(__self__, "core", core) + pulumi.set(__self__, "disk", disk) + pulumi.set(__self__, "disk_count", disk_count) + pulumi.set(__self__, "disk_desc", disk_desc) + pulumi.set(__self__, "disk_type", disk_type) + pulumi.set(__self__, "encrypt", encrypt) + pulumi.set(__self__, "max_disk_size", max_disk_size) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "node_size", node_size) + pulumi.set(__self__, "spec", spec) + pulumi.set(__self__, "spec_core", spec_core) + pulumi.set(__self__, "spec_memory", spec_memory) + pulumi.set(__self__, "sub_product_type", sub_product_type) + + @property + @pulumi.getter(name="attachCbsSpec") + def attach_cbs_spec(self) -> 'outputs.GetInstancesInstancesListCoreSummaryAttachCbsSpecResult': + """ + Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "attach_cbs_spec") + + @property + @pulumi.getter + def core(self) -> int: + """ + Number of CPU cores, in counts. + """ + return pulumi.get(self, "core") + + @property + @pulumi.getter + def disk(self) -> int: + """ + Disk size, in GB. + """ + return pulumi.get(self, "disk") + + @property + @pulumi.getter(name="diskCount") + def disk_count(self) -> int: + """ + Disk size. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "disk_count") + + @property + @pulumi.getter(name="diskDesc") + def disk_desc(self) -> str: + """ + Disk description. + """ + return pulumi.get(self, "disk_desc") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> str: + """ + Disk type. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def encrypt(self) -> int: + """ + Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "encrypt") + + @property + @pulumi.getter(name="maxDiskSize") + def max_disk_size(self) -> int: + """ + Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "max_disk_size") + + @property + @pulumi.getter + def memory(self) -> int: + """ + Memory size, in GB. + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter(name="nodeSize") + def node_size(self) -> int: + """ + Number of nodes. + """ + return pulumi.get(self, "node_size") + + @property + @pulumi.getter + def spec(self) -> str: + """ + Model, such as S1. + """ + return pulumi.get(self, "spec") + + @property + @pulumi.getter(name="specCore") + def spec_core(self) -> int: + """ + Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "spec_core") + + @property + @pulumi.getter(name="specMemory") + def spec_memory(self) -> int: + """ + Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "spec_memory") + + @property + @pulumi.getter(name="subProductType") + def sub_product_type(self) -> str: + """ + Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "sub_product_type") + + +@pulumi.output_type +class GetInstancesInstancesListCoreSummaryAttachCbsSpecResult(dict): + def __init__(__self__, *, + disk_count: Optional[int] = None, + disk_desc: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None): + """ + :param int disk_count: Total number of disks. + :param str disk_desc: Description. + :param int disk_size: Disk capacity, in GB. + :param str disk_type: Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + """ + if disk_count is not None: + pulumi.set(__self__, "disk_count", disk_count) + if disk_desc is not None: + pulumi.set(__self__, "disk_desc", disk_desc) + 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) + + @property + @pulumi.getter(name="diskCount") + def disk_count(self) -> Optional[int]: + """ + Total number of disks. + """ + return pulumi.get(self, "disk_count") + + @property + @pulumi.getter(name="diskDesc") + def disk_desc(self) -> Optional[str]: + """ + Description. + """ + return pulumi.get(self, "disk_desc") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Disk capacity, in GB. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + """ + return pulumi.get(self, "disk_type") + + +@pulumi.output_type +class GetInstancesInstancesListMasterSummaryResult(dict): + def __init__(__self__, *, + attach_cbs_spec: 'outputs.GetInstancesInstancesListMasterSummaryAttachCbsSpecResult', + core: int, + disk: int, + disk_count: int, + disk_desc: str, + disk_type: str, + encrypt: int, + max_disk_size: int, + memory: int, + node_size: int, + spec: str, + spec_core: int, + spec_memory: int, + sub_product_type: str): + """ + :param 'GetInstancesInstancesListMasterSummaryAttachCbsSpecArgs' attach_cbs_spec: Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + :param int core: Number of CPU cores, in counts. + :param int disk: Disk size, in GB. + :param int disk_count: Disk size. Note: This field may return null, indicating that no valid values can be obtained. + :param str disk_desc: Disk description. + :param str disk_type: Disk type. + :param int encrypt: Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + :param int max_disk_size: Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + :param int memory: Memory size, in GB. + :param int node_size: Number of nodes. + :param str spec: Model, such as S1. + :param int spec_core: Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + :param int spec_memory: Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + :param str sub_product_type: Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "attach_cbs_spec", attach_cbs_spec) + pulumi.set(__self__, "core", core) + pulumi.set(__self__, "disk", disk) + pulumi.set(__self__, "disk_count", disk_count) + pulumi.set(__self__, "disk_desc", disk_desc) + pulumi.set(__self__, "disk_type", disk_type) + pulumi.set(__self__, "encrypt", encrypt) + pulumi.set(__self__, "max_disk_size", max_disk_size) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "node_size", node_size) + pulumi.set(__self__, "spec", spec) + pulumi.set(__self__, "spec_core", spec_core) + pulumi.set(__self__, "spec_memory", spec_memory) + pulumi.set(__self__, "sub_product_type", sub_product_type) + + @property + @pulumi.getter(name="attachCbsSpec") + def attach_cbs_spec(self) -> 'outputs.GetInstancesInstancesListMasterSummaryAttachCbsSpecResult': + """ + Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "attach_cbs_spec") + + @property + @pulumi.getter + def core(self) -> int: + """ + Number of CPU cores, in counts. + """ + return pulumi.get(self, "core") + + @property + @pulumi.getter + def disk(self) -> int: + """ + Disk size, in GB. + """ + return pulumi.get(self, "disk") + + @property + @pulumi.getter(name="diskCount") + def disk_count(self) -> int: + """ + Disk size. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "disk_count") + + @property + @pulumi.getter(name="diskDesc") + def disk_desc(self) -> str: + """ + Disk description. + """ + return pulumi.get(self, "disk_desc") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> str: + """ + Disk type. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def encrypt(self) -> int: + """ + Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "encrypt") + + @property + @pulumi.getter(name="maxDiskSize") + def max_disk_size(self) -> int: + """ + Maximum disk. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "max_disk_size") + + @property + @pulumi.getter + def memory(self) -> int: + """ + Memory size, in GB. + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter(name="nodeSize") + def node_size(self) -> int: + """ + Number of nodes. + """ + return pulumi.get(self, "node_size") + + @property + @pulumi.getter + def spec(self) -> str: + """ + Model, such as S1. + """ + return pulumi.get(self, "spec") + + @property + @pulumi.getter(name="specCore") + def spec_core(self) -> int: + """ + Specified cores. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "spec_core") + + @property + @pulumi.getter(name="specMemory") + def spec_memory(self) -> int: + """ + Specified memory. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "spec_memory") + + @property + @pulumi.getter(name="subProductType") + def sub_product_type(self) -> str: + """ + Sub-product name. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "sub_product_type") + + +@pulumi.output_type +class GetInstancesInstancesListMasterSummaryAttachCbsSpecResult(dict): + def __init__(__self__, *, + disk_count: Optional[int] = None, + disk_desc: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None): + """ + :param int disk_count: Total number of disks. + :param str disk_desc: Description. + :param int disk_size: Disk capacity, in GB. + :param str disk_type: Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + """ + if disk_count is not None: + pulumi.set(__self__, "disk_count", disk_count) + if disk_desc is not None: + pulumi.set(__self__, "disk_desc", disk_desc) + 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) + + @property + @pulumi.getter(name="diskCount") + def disk_count(self) -> Optional[int]: + """ + Total number of disks. + """ + return pulumi.get(self, "disk_count") + + @property + @pulumi.getter(name="diskDesc") + def disk_desc(self) -> Optional[str]: + """ + Description. + """ + return pulumi.get(self, "disk_desc") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Disk capacity, in GB. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM. + """ + return pulumi.get(self, "disk_type") + + +@pulumi.output_type +class GetInstancesInstancesListTagResult(dict): + def __init__(__self__, *, + tag_key: str, + tag_value: str): + """ + :param str tag_key: Tag key. + :param str tag_value: Tag value. + """ + pulumi.set(__self__, "tag_key", tag_key) + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> str: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> str: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + +@pulumi.output_type +class GetInstancesSearchTagResult(dict): + def __init__(__self__, *, + all_value: Optional[int] = None, + tag_key: Optional[str] = None, + tag_value: Optional[str] = None): + """ + :param int all_value: 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + :param str tag_key: Tag key. + :param str tag_value: Tag value. + """ + if all_value is not None: + pulumi.set(__self__, "all_value", all_value) + if tag_key is not None: + pulumi.set(__self__, "tag_key", tag_key) + if tag_value is not None: + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="allValue") + def all_value(self) -> Optional[int]: + """ + 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. + """ + return pulumi.get(self, "all_value") + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> Optional[str]: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> Optional[str]: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/cdwdoris/workload_group.py b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/workload_group.py new file mode 100644 index 000000000..f3f553fd5 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cdwdoris/workload_group.py @@ -0,0 +1,337 @@ +# 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__ = ['WorkloadGroupArgs', 'WorkloadGroup'] + +@pulumi.input_type +class WorkloadGroupArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + workload_group: Optional[pulumi.Input['WorkloadGroupWorkloadGroupArgs']] = None): + """ + The set of arguments for constructing a WorkloadGroup resource. + :param pulumi.Input[str] instance_id: Instance id. + :param pulumi.Input['WorkloadGroupWorkloadGroupArgs'] workload_group: Resource group configuration. + """ + pulumi.set(__self__, "instance_id", instance_id) + if workload_group is not None: + pulumi.set(__self__, "workload_group", workload_group) + + @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="workloadGroup") + def workload_group(self) -> Optional[pulumi.Input['WorkloadGroupWorkloadGroupArgs']]: + """ + Resource group configuration. + """ + return pulumi.get(self, "workload_group") + + @workload_group.setter + def workload_group(self, value: Optional[pulumi.Input['WorkloadGroupWorkloadGroupArgs']]): + pulumi.set(self, "workload_group", value) + + +@pulumi.input_type +class _WorkloadGroupState: + def __init__(__self__, *, + instance_id: Optional[pulumi.Input[str]] = None, + workload_group: Optional[pulumi.Input['WorkloadGroupWorkloadGroupArgs']] = None): + """ + Input properties used for looking up and filtering WorkloadGroup resources. + :param pulumi.Input[str] instance_id: Instance id. + :param pulumi.Input['WorkloadGroupWorkloadGroupArgs'] workload_group: Resource group configuration. + """ + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if workload_group is not None: + pulumi.set(__self__, "workload_group", workload_group) + + @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) + + @property + @pulumi.getter(name="workloadGroup") + def workload_group(self) -> Optional[pulumi.Input['WorkloadGroupWorkloadGroupArgs']]: + """ + Resource group configuration. + """ + return pulumi.get(self, "workload_group") + + @workload_group.setter + def workload_group(self, value: Optional[pulumi.Input['WorkloadGroupWorkloadGroupArgs']]): + pulumi.set(self, "workload_group", value) + + +class WorkloadGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + instance_id: Optional[pulumi.Input[str]] = None, + workload_group: Optional[pulumi.Input[pulumi.InputType['WorkloadGroupWorkloadGroupArgs']]] = None, + __props__=None): + """ + Provides a resource to create a cdwdoris workload group + + > **NOTE:** To use this resource, The `workload_group_status` field of `Cdwdoris.Instance` needs to be set to true. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create instance + example_instance = tencentcloud.cdwdoris.Instance("exampleInstance", + zone=availability_zone, + user_vpc_id=vpc.id, + user_subnet_id=subnet.id, + product_version="2.1", + instance_name="tf-example", + doris_user_pwd="Password@test", + ha_flag=False, + case_sensitive=0, + enable_multi_zones=False, + workload_group_status="open", + charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs( + charge_type="POSTPAID_BY_HOUR", + ), + fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + tags=[tencentcloud.cdwdoris.InstanceTagArgs( + tag_key="createBy", + tag_value="Terraform", + )]) + # create workload group + example_workload_group = tencentcloud.cdwdoris.WorkloadGroup("exampleWorkloadGroup", + instance_id=example_instance.id, + workload_group=tencentcloud.cdwdoris.WorkloadGroupWorkloadGroupArgs( + workload_group_name="example", + cpu_share=1024, + memory_limit=20, + enable_memory_over_commit=True, + cpu_hard_limit="30%", + )) + ``` + + + ## Import + + cdwdoris workload group can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup example cdwdoris-rhbflamd#tf-example + ``` + + :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. + :param pulumi.Input[pulumi.InputType['WorkloadGroupWorkloadGroupArgs']] workload_group: Resource group configuration. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: WorkloadGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a cdwdoris workload group + + > **NOTE:** To use this resource, The `workload_group_status` field of `Cdwdoris.Instance` needs to be set to true. + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create instance + example_instance = tencentcloud.cdwdoris.Instance("exampleInstance", + zone=availability_zone, + user_vpc_id=vpc.id, + user_subnet_id=subnet.id, + product_version="2.1", + instance_name="tf-example", + doris_user_pwd="Password@test", + ha_flag=False, + case_sensitive=0, + enable_multi_zones=False, + workload_group_status="open", + charge_properties=tencentcloud.cdwdoris.InstanceChargePropertiesArgs( + charge_type="POSTPAID_BY_HOUR", + ), + fe_spec=tencentcloud.cdwdoris.InstanceFeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + be_spec=tencentcloud.cdwdoris.InstanceBeSpecArgs( + spec_name="S_4_16_P", + count=3, + disk_size=200, + ), + tags=[tencentcloud.cdwdoris.InstanceTagArgs( + tag_key="createBy", + tag_value="Terraform", + )]) + # create workload group + example_workload_group = tencentcloud.cdwdoris.WorkloadGroup("exampleWorkloadGroup", + instance_id=example_instance.id, + workload_group=tencentcloud.cdwdoris.WorkloadGroupWorkloadGroupArgs( + workload_group_name="example", + cpu_share=1024, + memory_limit=20, + enable_memory_over_commit=True, + cpu_hard_limit="30%", + )) + ``` + + + ## Import + + cdwdoris workload group can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup example cdwdoris-rhbflamd#tf-example + ``` + + :param str resource_name: The name of the resource. + :param WorkloadGroupArgs 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(WorkloadGroupArgs, 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, + workload_group: Optional[pulumi.Input[pulumi.InputType['WorkloadGroupWorkloadGroupArgs']]] = 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__ = WorkloadGroupArgs.__new__(WorkloadGroupArgs) + + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["workload_group"] = workload_group + super(WorkloadGroup, __self__).__init__( + 'tencentcloud:Cdwdoris/workloadGroup:WorkloadGroup', + 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, + workload_group: Optional[pulumi.Input[pulumi.InputType['WorkloadGroupWorkloadGroupArgs']]] = None) -> 'WorkloadGroup': + """ + Get an existing WorkloadGroup 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. + :param pulumi.Input[pulumi.InputType['WorkloadGroupWorkloadGroupArgs']] workload_group: Resource group configuration. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _WorkloadGroupState.__new__(_WorkloadGroupState) + + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["workload_group"] = workload_group + return WorkloadGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="workloadGroup") + def workload_group(self) -> pulumi.Output[Optional['outputs.WorkloadGroupWorkloadGroup']]: + """ + Resource group configuration. + """ + return pulumi.get(self, "workload_group") + diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/attachment.py b/sdk/python/tencentcloud_iac_pulumi/clb/attachment.py index 20796b366..bd2dc113d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/attachment.py @@ -19,19 +19,27 @@ def __init__(__self__, *, clb_id: pulumi.Input[str], listener_id: pulumi.Input[str], targets: pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']]], - rule_id: Optional[pulumi.Input[str]] = None): + domain: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Attachment resource. :param pulumi.Input[str] clb_id: ID of the CLB. :param pulumi.Input[str] listener_id: ID of the CLB listener. :param pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']]] targets: Information of the backends to be attached. + :param pulumi.Input[str] domain: Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. :param pulumi.Input[str] rule_id: ID of the CLB listener rule. Only supports listeners of `HTTPS` and `HTTP` protocol. + :param pulumi.Input[str] url: URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. """ pulumi.set(__self__, "clb_id", clb_id) pulumi.set(__self__, "listener_id", listener_id) pulumi.set(__self__, "targets", targets) + if domain is not None: + pulumi.set(__self__, "domain", domain) if rule_id is not None: pulumi.set(__self__, "rule_id", rule_id) + if url is not None: + pulumi.set(__self__, "url", url) @property @pulumi.getter(name="clbId") @@ -69,6 +77,18 @@ def targets(self) -> pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']] def targets(self, value: pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']]]): pulumi.set(self, "targets", value) + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input[str]]: + """ + Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain", value) + @property @pulumi.getter(name="ruleId") def rule_id(self) -> Optional[pulumi.Input[str]]: @@ -81,25 +101,43 @@ def rule_id(self) -> Optional[pulumi.Input[str]]: def rule_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "rule_id", value) + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + @pulumi.input_type class _AttachmentState: def __init__(__self__, *, clb_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, listener_id: Optional[pulumi.Input[str]] = None, protocol_type: Optional[pulumi.Input[str]] = None, rule_id: Optional[pulumi.Input[str]] = None, - targets: Optional[pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']]]] = None): + targets: Optional[pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']]]] = None, + url: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Attachment resources. :param pulumi.Input[str] clb_id: ID of the CLB. + :param pulumi.Input[str] domain: Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. :param pulumi.Input[str] listener_id: ID of the CLB listener. :param pulumi.Input[str] protocol_type: Type of protocol within the listener. :param pulumi.Input[str] rule_id: ID of the CLB listener rule. Only supports listeners of `HTTPS` and `HTTP` protocol. :param pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']]] targets: Information of the backends to be attached. + :param pulumi.Input[str] url: URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. """ if clb_id is not None: pulumi.set(__self__, "clb_id", clb_id) + if domain is not None: + pulumi.set(__self__, "domain", domain) if listener_id is not None: pulumi.set(__self__, "listener_id", listener_id) if protocol_type is not None: @@ -108,6 +146,8 @@ def __init__(__self__, *, pulumi.set(__self__, "rule_id", rule_id) if targets is not None: pulumi.set(__self__, "targets", targets) + if url is not None: + pulumi.set(__self__, "url", url) @property @pulumi.getter(name="clbId") @@ -121,6 +161,18 @@ def clb_id(self) -> Optional[pulumi.Input[str]]: def clb_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "clb_id", value) + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input[str]]: + """ + Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain", value) + @property @pulumi.getter(name="listenerId") def listener_id(self) -> Optional[pulumi.Input[str]]: @@ -169,6 +221,18 @@ def targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AttachmentTarg def targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AttachmentTargetArgs']]]]): pulumi.set(self, "targets", value) + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + class Attachment(pulumi.CustomResource): @overload @@ -176,9 +240,11 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, clb_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, listener_id: Optional[pulumi.Input[str]] = None, rule_id: Optional[pulumi.Input[str]] = None, targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AttachmentTargetArgs']]]]] = None, + url: Optional[pulumi.Input[str]] = None, __props__=None): """ Provides a resource to create a CLB attachment. @@ -187,14 +253,12 @@ def __init__(__self__, ## Example Usage - ### Bind a Cvm instance - ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.Attachment("foo", + example = tencentcloud.clb.Attachment("example", clb_id="lb-k2zjp9lv", listener_id="lbl-hh141sn9", rule_id="loc-4xxr2cy7", @@ -206,14 +270,30 @@ def __init__(__self__, ``` - ### Bind multiple Cvm instances + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.Attachment("example", + clb_id="lb-k2zjp9lv", + domain="test.com", + listener_id="lbl-hh141sn9", + targets=[tencentcloud.clb.AttachmentTargetArgs( + instance_id="ins-1flbqyp8", + port=80, + weight=10, + )], + url="/") + ``` + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.Attachment("foo", + example = tencentcloud.clb.Attachment("example", clb_id="lb-k2zjp9lv", listener_id="lbl-hh141sn9", rule_id="loc-4xxr2cy7", @@ -232,39 +312,88 @@ def __init__(__self__, ``` - ### Bind backend target is ENI + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.Attachment("example", + clb_id="lb-k2zjp9lv", + domain="test.com", + listener_id="lbl-hh141sn9", + targets=[ + tencentcloud.clb.AttachmentTargetArgs( + instance_id="ins-1flbqyp8", + port=80, + weight=10, + ), + tencentcloud.clb.AttachmentTargetArgs( + instance_id="ins-ekloqpa1", + port=81, + weight=10, + ), + ], + url="/") + ``` + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.Attachment("foo", + example = tencentcloud.clb.Attachment("example", clb_id="lb-k2zjp9lv", listener_id="lbl-hh141sn9", rule_id="loc-4xxr2cy7", targets=[tencentcloud.clb.AttachmentTargetArgs( - eni_ip="example-ip", - port=23, + eni_ip="172.16.16.52", + port=8090, weight=50, )]) ``` + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.Attachment("example", + clb_id="lb-k2zjp9lv", + domain="test.com", + listener_id="lbl-hh141sn9", + targets=[tencentcloud.clb.AttachmentTargetArgs( + eni_ip="172.16.16.52", + port=8090, + weight=50, + )], + url="/") + ``` + + ## Import CLB attachment can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Clb/attachment:Attachment foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + $ pulumi import tencentcloud:Clb/attachment:Attachment example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + ``` + + Or + + ```sh + $ pulumi import tencentcloud:Clb/attachment:Attachment example test.com,/#lbl-hh141sn9#lb-7a0t6zqb ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] clb_id: ID of the CLB. + :param pulumi.Input[str] domain: Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. :param pulumi.Input[str] listener_id: ID of the CLB listener. :param pulumi.Input[str] rule_id: ID of the CLB listener rule. Only supports listeners of `HTTPS` and `HTTP` protocol. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AttachmentTargetArgs']]]] targets: Information of the backends to be attached. + :param pulumi.Input[str] url: URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. """ ... @overload @@ -279,14 +408,12 @@ def __init__(__self__, ## Example Usage - ### Bind a Cvm instance - ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.Attachment("foo", + example = tencentcloud.clb.Attachment("example", clb_id="lb-k2zjp9lv", listener_id="lbl-hh141sn9", rule_id="loc-4xxr2cy7", @@ -298,14 +425,30 @@ def __init__(__self__, ``` - ### Bind multiple Cvm instances + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.Attachment("example", + clb_id="lb-k2zjp9lv", + domain="test.com", + listener_id="lbl-hh141sn9", + targets=[tencentcloud.clb.AttachmentTargetArgs( + instance_id="ins-1flbqyp8", + port=80, + weight=10, + )], + url="/") + ``` + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.Attachment("foo", + example = tencentcloud.clb.Attachment("example", clb_id="lb-k2zjp9lv", listener_id="lbl-hh141sn9", rule_id="loc-4xxr2cy7", @@ -324,31 +467,78 @@ def __init__(__self__, ``` - ### Bind backend target is ENI + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.Attachment("example", + clb_id="lb-k2zjp9lv", + domain="test.com", + listener_id="lbl-hh141sn9", + targets=[ + tencentcloud.clb.AttachmentTargetArgs( + instance_id="ins-1flbqyp8", + port=80, + weight=10, + ), + tencentcloud.clb.AttachmentTargetArgs( + instance_id="ins-ekloqpa1", + port=81, + weight=10, + ), + ], + url="/") + ``` + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.Attachment("foo", + example = tencentcloud.clb.Attachment("example", clb_id="lb-k2zjp9lv", listener_id="lbl-hh141sn9", rule_id="loc-4xxr2cy7", targets=[tencentcloud.clb.AttachmentTargetArgs( - eni_ip="example-ip", - port=23, + eni_ip="172.16.16.52", + port=8090, weight=50, )]) ``` + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.Attachment("example", + clb_id="lb-k2zjp9lv", + domain="test.com", + listener_id="lbl-hh141sn9", + targets=[tencentcloud.clb.AttachmentTargetArgs( + eni_ip="172.16.16.52", + port=8090, + weight=50, + )], + url="/") + ``` + + ## Import CLB attachment can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Clb/attachment:Attachment foo loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + $ pulumi import tencentcloud:Clb/attachment:Attachment example loc-4xxr2cy7#lbl-hh141sn9#lb-7a0t6zqb + ``` + + Or + + ```sh + $ pulumi import tencentcloud:Clb/attachment:Attachment example test.com,/#lbl-hh141sn9#lb-7a0t6zqb ``` :param str resource_name: The name of the resource. @@ -367,9 +557,11 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, clb_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, listener_id: Optional[pulumi.Input[str]] = None, rule_id: Optional[pulumi.Input[str]] = None, targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AttachmentTargetArgs']]]]] = None, + url: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -382,6 +574,7 @@ def _internal_init(__self__, if clb_id is None and not opts.urn: raise TypeError("Missing required property 'clb_id'") __props__.__dict__["clb_id"] = clb_id + __props__.__dict__["domain"] = domain if listener_id is None and not opts.urn: raise TypeError("Missing required property 'listener_id'") __props__.__dict__["listener_id"] = listener_id @@ -389,6 +582,7 @@ def _internal_init(__self__, if targets is None and not opts.urn: raise TypeError("Missing required property 'targets'") __props__.__dict__["targets"] = targets + __props__.__dict__["url"] = url __props__.__dict__["protocol_type"] = None super(Attachment, __self__).__init__( 'tencentcloud:Clb/attachment:Attachment', @@ -401,10 +595,12 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, clb_id: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, listener_id: Optional[pulumi.Input[str]] = None, protocol_type: Optional[pulumi.Input[str]] = None, rule_id: Optional[pulumi.Input[str]] = None, - targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AttachmentTargetArgs']]]]] = None) -> 'Attachment': + targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AttachmentTargetArgs']]]]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'Attachment': """ Get an existing Attachment resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -413,20 +609,24 @@ 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] clb_id: ID of the CLB. + :param pulumi.Input[str] domain: Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. :param pulumi.Input[str] listener_id: ID of the CLB listener. :param pulumi.Input[str] protocol_type: Type of protocol within the listener. :param pulumi.Input[str] rule_id: ID of the CLB listener rule. Only supports listeners of `HTTPS` and `HTTP` protocol. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AttachmentTargetArgs']]]] targets: Information of the backends to be attached. + :param pulumi.Input[str] url: URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _AttachmentState.__new__(_AttachmentState) __props__.__dict__["clb_id"] = clb_id + __props__.__dict__["domain"] = domain __props__.__dict__["listener_id"] = listener_id __props__.__dict__["protocol_type"] = protocol_type __props__.__dict__["rule_id"] = rule_id __props__.__dict__["targets"] = targets + __props__.__dict__["url"] = url return Attachment(resource_name, opts=opts, __props__=__props__) @property @@ -437,6 +637,14 @@ def clb_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "clb_id") + @property + @pulumi.getter + def domain(self) -> pulumi.Output[Optional[str]]: + """ + Domain of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + """ + return pulumi.get(self, "domain") + @property @pulumi.getter(name="listenerId") def listener_id(self) -> pulumi.Output[str]: @@ -469,3 +677,11 @@ def targets(self) -> pulumi.Output[Sequence['outputs.AttachmentTarget']]: """ return pulumi.get(self, "targets") + @property + @pulumi.getter + def url(self) -> pulumi.Output[Optional[str]]: + """ + URL of the target forwarding rule. Does not take effect when parameter `rule_id` is provided. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/instance.py b/sdk/python/tencentcloud_iac_pulumi/clb/instance.py index a31e849f1..c7d0fecd2 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/instance.py @@ -20,6 +20,7 @@ def __init__(__self__, *, network_type: pulumi.Input[str], address_ip_version: Optional[pulumi.Input[str]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, delete_protect: Optional[pulumi.Input[bool]] = None, dynamic_vip: Optional[pulumi.Input[bool]] = None, internet_bandwidth_max_out: Optional[pulumi.Input[int]] = None, @@ -48,6 +49,7 @@ def __init__(__self__, *, :param pulumi.Input[str] network_type: Type of CLB instance. Valid values: `OPEN` and `INTERNAL`. :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] bandwidth_package_id: Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`. + :param pulumi.Input[str] cluster_id: Cluster ID. :param pulumi.Input[bool] delete_protect: Whether to enable delete protection. :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. @@ -77,6 +79,8 @@ def __init__(__self__, *, pulumi.set(__self__, "address_ip_version", address_ip_version) if bandwidth_package_id is not None: pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) if delete_protect is not None: pulumi.set(__self__, "delete_protect", delete_protect) if dynamic_vip is not None: @@ -170,6 +174,18 @@ def bandwidth_package_id(self) -> Optional[pulumi.Input[str]]: def bandwidth_package_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "bandwidth_package_id", value) + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Cluster ID. + """ + 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="deleteProtect") def delete_protect(self) -> Optional[pulumi.Input[bool]]: @@ -443,6 +459,7 @@ def __init__(__self__, *, 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, + cluster_id: Optional[pulumi.Input[str]] = None, delete_protect: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[str]] = None, dynamic_vip: Optional[pulumi.Input[bool]] = None, @@ -475,6 +492,7 @@ def __init__(__self__, *, :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. + :param pulumi.Input[str] cluster_id: Cluster ID. :param pulumi.Input[bool] delete_protect: Whether to enable delete protection. :param pulumi.Input[str] domain: Domain name of the CLB instance. :param pulumi.Input[bool] dynamic_vip: If create dynamic vip CLB instance, `true` or `false`. @@ -511,6 +529,8 @@ def __init__(__self__, *, pulumi.set(__self__, "clb_name", clb_name) if clb_vips is not None: pulumi.set(__self__, "clb_vips", clb_vips) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) if delete_protect is not None: pulumi.set(__self__, "delete_protect", delete_protect) if domain is not None: @@ -622,6 +642,18 @@ def clb_vips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def clb_vips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "clb_vips", value) + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Cluster ID. + """ + 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="deleteProtect") def delete_protect(self) -> Optional[pulumi.Input[bool]]: @@ -931,6 +963,7 @@ def __init__(__self__, address_ip_version: Optional[pulumi.Input[str]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, clb_name: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, delete_protect: Optional[pulumi.Input[bool]] = None, dynamic_vip: Optional[pulumi.Input[bool]] = None, internet_bandwidth_max_out: Optional[pulumi.Input[int]] = None, @@ -960,93 +993,186 @@ def __init__(__self__, ## Example Usage - ### INTERNAL CLB + ### Create INTERNAL CLB ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - internal_clb = tencentcloud.clb.Instance("internalClb", - clb_name="myclb", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + is_multicast=False) + # create clb + example = tencentcloud.clb.Instance("example", network_type="INTERNAL", + clb_name="tf-example", project_id=0, - subnet_id="subnet-12rastkr", + vpc_id=vpc.id, + subnet_id=subnet.id, tags={ - "test": "tf", - }, - vpc_id="vpc-7007ll7q") + "tagKey": "tagValue", + }) ``` - ### LCU-supported CLB + ### Create dedicated cluster clb ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - internal_clb = tencentcloud.clb.Instance("internalClb", - clb_name="myclb", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + cdc_id="cluster-lchwgxhs", + is_multicast=False) + # create clb + example = tencentcloud.clb.Instance("example", + network_type="INTERNAL", + clb_name="tf-example", + project_id=0, + cluster_id="cluster-lchwgxhs", + vpc_id=vpc.id, + subnet_id=subnet.id, + tags={ + "tagKey": "tagValue", + }) + ``` + + + ### Create LCU-supported CLB + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + is_multicast=False) + # create clb + example = tencentcloud.clb.Instance("example", network_type="INTERNAL", + clb_name="tf-example", project_id=0, sla_type="clb.c3.medium", - subnet_id="subnet-o3a5nt20", + vpc_id=vpc.id, + subnet_id=subnet.id, tags={ - "test": "tf", - }, - vpc_id="vpc-2hfyray3") + "tagKey": "tagValue", + }) ``` - ### OPEN CLB + ### Create OPEN CLB ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - open_clb = tencentcloud.clb.Instance("openClb", - clb_name="myclb", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", + clb_name="tf-example", project_id=0, - security_groups=["sg-o0ek7r93"], + vpc_id=vpc.id, + security_groups=[example_group.id], tags={ - "test": "tf", - }, - vpc_id="vpc-da7ffa61") + "tagKey": "tagValue", + }) ``` - ### SUPPORT CORS + ### Support CORS ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - open_clb = tencentcloud.clb.Instance("openClb", - clb_name="myclb", + config = pulumi.Config() + zone = config.get("zone") + if zone is None: + zone = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", + clb_name="tf-example", project_id=0, - security_groups=["sg-o0ek7r93"], + vpc_id=vpc.id, + security_groups=[example_group.id], + target_region_info_region=zone, + target_region_info_vpc_id=vpc.id, tags={ - "test": "tf", - }, - target_region_info_region="ap-guangzhou", - target_region_info_vpc_id="vpc-da7ffa61", - vpc_id="vpc-da7ffa61") + "tagKey": "tagValue", + }) ``` - ### OPNE CLB with VipIsp + ### Open CLB with VipIsp ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - example = tencentcloud.vpc.BandwidthPackage("example", + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc bandwidth package + example_bandwidth_package = tencentcloud.vpc.BandwidthPackage("exampleBandwidthPackage", network_type="SINGLEISP_CMCC", charge_type="ENHANCED95_POSTPAID_BY_MONTH", bandwidth_package_name="tf-example", @@ -1055,16 +1181,17 @@ def __init__(__self__, tags={ "createdBy": "terraform", }) - open_clb = tencentcloud.clb.Instance("openClb", + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="my-open-clb", + clb_name="tf-example", project_id=0, - vpc_id="vpc-4owdpnwr", vip_isp="CMCC", internet_charge_type="BANDWIDTH_PACKAGE", - bandwidth_package_id=example.id, + bandwidth_package_id=example_bandwidth_package.id, + vpc_id=vpc.id, tags={ - "test": "open", + "tagKey": "tagValue", }) ``` @@ -1076,44 +1203,77 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo_group = tencentcloud.security.Group("fooGroup") - foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") - clb_open = tencentcloud.clb.Instance("clbOpen", + config = pulumi.Config() + zone = config.get("zone") + if zone is None: + zone = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="clb-instance-open", + clb_name="tf-example", project_id=0, - vpc_id=foo_instance.id, - target_region_info_region="ap-guangzhou", - target_region_info_vpc_id=foo_instance.id, - security_groups=[foo_group.id], + vpc_id=vpc.id, + target_region_info_region=zone, + target_region_info_vpc_id=vpc.id, + security_groups=[example_group.id], dynamic_vip=True, tags={ - "test": "tf", + "tagKey": "tagValue", }) - pulumi.export("domain", clb_open.domain) + pulumi.export("domain", example_instance.domain) ``` - ### Specified Vip Instance + ### Specified Vip Instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo_group = tencentcloud.security.Group("fooGroup") - foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") - clb_open = tencentcloud.clb.Instance("clbOpen", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="clb-instance-open", + clb_name="tf-example", project_id=0, - vpc_id=foo_instance.id, - security_groups=[foo_group.id], + vpc_id=vpc.id, + security_groups=[example_group.id], vip="111.230.4.204", tags={ - "test": "tf", + "tagKey": "tagValue", }) - pulumi.export("domain", tencentcloud_clb_instance["vip"]) + pulumi.export("domain", example_instance.domain) ``` @@ -1124,78 +1284,105 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.vpc.Instance("foo", - cidr_block="10.0.0.0/16", - tags={ - "test": "mytest", - }) + config = pulumi.Config() + zone = config.get("zone") + if zone is None: + zone = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet subnet = tencentcloud.subnet.Instance("subnet", - availability_zone="ap-guangzhou-1", - vpc_id=foo.id, - cidr_block="10.0.20.0/28", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", is_multicast=False) - sglab = tencentcloud.security.Group("sglab", - description="favourite sg", - project_id=0) - open_clb = tencentcloud.clb.Instance("openClb", + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="my-open-clb", + clb_name="tf-example", project_id=0, - vpc_id=foo.id, load_balancer_pass_to_target=True, - security_groups=[sglab.id], - target_region_info_region="ap-guangzhou", - target_region_info_vpc_id=foo.id, + vpc_id=vpc.id, + security_groups=[example_group.id], + target_region_info_vpc_id=vpc.id, + target_region_info_region=zone, tags={ - "test": "open", + "tagKey": "tagValue", }) ``` - ### CREATE multiple instance + ### Create multiple instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - open_clb1 = tencentcloud.clb.Instance("openClb1", - clb_name="hello", - master_zone_id="ap-guangzhou-3", - network_type="OPEN") + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + example = tencentcloud.clb.Instance("example", + network_type="OPEN", + clb_name="tf-example", + master_zone_id=availability_zone) ``` - ### CREATE instance with log + ### Create instance with log ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - vpc_test = tencentcloud.vpc.Instance("vpcTest", cidr_block="10.0.0.0/16") - rtb_test = tencentcloud.route.Table("rtbTest", vpc_id=vpc_test.id) - subnet_test = tencentcloud.subnet.Instance("subnetTest", - availability_zone="ap-guangzhou-3", + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=var["availability_zone"], cidr_block="10.0.1.0/24", - route_table_id=rtb_test.id, - vpc_id=vpc_test.id) - set = tencentcloud.clb.LogSet("set", period=7) + is_multicast=False) + # create route table + route = tencentcloud.route.Table("route", vpc_id=vpc.id) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + log = tencentcloud.clb.LogSet("log", period=7) + # create topic topic = tencentcloud.clb.LogTopic("topic", - log_set_id=set.id, + log_set_id=log.id, topic_name="clb-topic") - internal_clb = tencentcloud.clb.Instance("internalClb", - clb_name="myclb", - load_balancer_pass_to_target=True, - log_set_id=set.id, - log_topic_id=topic.id, + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="INTERNAL", + clb_name="tf-example", project_id=0, - subnet_id=subnet_test.id, + load_balancer_pass_to_target=True, + vpc_id=vpc.id, + subnet_id=subnet.id, + security_groups=[example_group.id], + log_set_id=log.id, + log_topic_id=topic.id, tags={ - "test": "tf", - }, - vpc_id=vpc_test.id) + "tagKey": "tagValue", + }) ``` @@ -1204,7 +1391,7 @@ def __init__(__self__, CLB instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb + $ pulumi import tencentcloud:Clb/instance:Instance example lb-7a0t6zqb ``` :param str resource_name: The name of the resource. @@ -1212,6 +1399,7 @@ def __init__(__self__, :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] 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[str] cluster_id: Cluster ID. :param pulumi.Input[bool] delete_protect: Whether to enable delete protection. :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. @@ -1247,93 +1435,186 @@ def __init__(__self__, ## Example Usage - ### INTERNAL CLB + ### Create INTERNAL CLB ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - internal_clb = tencentcloud.clb.Instance("internalClb", - clb_name="myclb", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + is_multicast=False) + # create clb + example = tencentcloud.clb.Instance("example", network_type="INTERNAL", + clb_name="tf-example", project_id=0, - subnet_id="subnet-12rastkr", + vpc_id=vpc.id, + subnet_id=subnet.id, tags={ - "test": "tf", - }, - vpc_id="vpc-7007ll7q") + "tagKey": "tagValue", + }) ``` - ### LCU-supported CLB + ### Create dedicated cluster clb ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - internal_clb = tencentcloud.clb.Instance("internalClb", - clb_name="myclb", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + cdc_id="cluster-lchwgxhs", + is_multicast=False) + # create clb + example = tencentcloud.clb.Instance("example", network_type="INTERNAL", + clb_name="tf-example", + project_id=0, + cluster_id="cluster-lchwgxhs", + vpc_id=vpc.id, + subnet_id=subnet.id, + tags={ + "tagKey": "tagValue", + }) + ``` + + + ### Create LCU-supported CLB + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + is_multicast=False) + # create clb + example = tencentcloud.clb.Instance("example", + network_type="INTERNAL", + clb_name="tf-example", project_id=0, sla_type="clb.c3.medium", - subnet_id="subnet-o3a5nt20", + vpc_id=vpc.id, + subnet_id=subnet.id, tags={ - "test": "tf", - }, - vpc_id="vpc-2hfyray3") + "tagKey": "tagValue", + }) ``` - ### OPEN CLB + ### Create OPEN CLB ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - open_clb = tencentcloud.clb.Instance("openClb", - clb_name="myclb", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", + clb_name="tf-example", project_id=0, - security_groups=["sg-o0ek7r93"], + vpc_id=vpc.id, + security_groups=[example_group.id], tags={ - "test": "tf", - }, - vpc_id="vpc-da7ffa61") + "tagKey": "tagValue", + }) ``` - ### SUPPORT CORS + ### Support CORS ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - open_clb = tencentcloud.clb.Instance("openClb", - clb_name="myclb", + config = pulumi.Config() + zone = config.get("zone") + if zone is None: + zone = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", + clb_name="tf-example", project_id=0, - security_groups=["sg-o0ek7r93"], + vpc_id=vpc.id, + security_groups=[example_group.id], + target_region_info_region=zone, + target_region_info_vpc_id=vpc.id, tags={ - "test": "tf", - }, - target_region_info_region="ap-guangzhou", - target_region_info_vpc_id="vpc-da7ffa61", - vpc_id="vpc-da7ffa61") + "tagKey": "tagValue", + }) ``` - ### OPNE CLB with VipIsp + ### Open CLB with VipIsp ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - example = tencentcloud.vpc.BandwidthPackage("example", + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc bandwidth package + example_bandwidth_package = tencentcloud.vpc.BandwidthPackage("exampleBandwidthPackage", network_type="SINGLEISP_CMCC", charge_type="ENHANCED95_POSTPAID_BY_MONTH", bandwidth_package_name="tf-example", @@ -1342,16 +1623,17 @@ def __init__(__self__, tags={ "createdBy": "terraform", }) - open_clb = tencentcloud.clb.Instance("openClb", + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="my-open-clb", + clb_name="tf-example", project_id=0, - vpc_id="vpc-4owdpnwr", vip_isp="CMCC", internet_charge_type="BANDWIDTH_PACKAGE", - bandwidth_package_id=example.id, + bandwidth_package_id=example_bandwidth_package.id, + vpc_id=vpc.id, tags={ - "test": "open", + "tagKey": "tagValue", }) ``` @@ -1363,44 +1645,77 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo_group = tencentcloud.security.Group("fooGroup") - foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") - clb_open = tencentcloud.clb.Instance("clbOpen", + config = pulumi.Config() + zone = config.get("zone") + if zone is None: + zone = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="clb-instance-open", + clb_name="tf-example", project_id=0, - vpc_id=foo_instance.id, - target_region_info_region="ap-guangzhou", - target_region_info_vpc_id=foo_instance.id, - security_groups=[foo_group.id], + vpc_id=vpc.id, + target_region_info_region=zone, + target_region_info_vpc_id=vpc.id, + security_groups=[example_group.id], dynamic_vip=True, tags={ - "test": "tf", + "tagKey": "tagValue", }) - pulumi.export("domain", clb_open.domain) + pulumi.export("domain", example_instance.domain) ``` - ### Specified Vip Instance + ### Specified Vip Instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo_group = tencentcloud.security.Group("fooGroup") - foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") - clb_open = tencentcloud.clb.Instance("clbOpen", + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="clb-instance-open", + clb_name="tf-example", project_id=0, - vpc_id=foo_instance.id, - security_groups=[foo_group.id], + vpc_id=vpc.id, + security_groups=[example_group.id], vip="111.230.4.204", tags={ - "test": "tf", + "tagKey": "tagValue", }) - pulumi.export("domain", tencentcloud_clb_instance["vip"]) + pulumi.export("domain", example_instance.domain) ``` @@ -1411,78 +1726,105 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.vpc.Instance("foo", - cidr_block="10.0.0.0/16", - tags={ - "test": "mytest", - }) + config = pulumi.Config() + zone = config.get("zone") + if zone is None: + zone = "ap-guangzhou" + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet subnet = tencentcloud.subnet.Instance("subnet", - availability_zone="ap-guangzhou-1", - vpc_id=foo.id, - cidr_block="10.0.20.0/28", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", is_multicast=False) - sglab = tencentcloud.security.Group("sglab", - description="favourite sg", - project_id=0) - open_clb = tencentcloud.clb.Instance("openClb", + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="OPEN", - clb_name="my-open-clb", + clb_name="tf-example", project_id=0, - vpc_id=foo.id, load_balancer_pass_to_target=True, - security_groups=[sglab.id], - target_region_info_region="ap-guangzhou", - target_region_info_vpc_id=foo.id, + vpc_id=vpc.id, + security_groups=[example_group.id], + target_region_info_vpc_id=vpc.id, + target_region_info_region=zone, tags={ - "test": "open", + "tagKey": "tagValue", }) ``` - ### CREATE multiple instance + ### Create multiple instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - open_clb1 = tencentcloud.clb.Instance("openClb1", - clb_name="hello", - master_zone_id="ap-guangzhou-3", - network_type="OPEN") + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + example = tencentcloud.clb.Instance("example", + network_type="OPEN", + clb_name="tf-example", + master_zone_id=availability_zone) ``` - ### CREATE instance with log + ### Create instance with log ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - vpc_test = tencentcloud.vpc.Instance("vpcTest", cidr_block="10.0.0.0/16") - rtb_test = tencentcloud.route.Table("rtbTest", vpc_id=vpc_test.id) - subnet_test = tencentcloud.subnet.Instance("subnetTest", - availability_zone="ap-guangzhou-3", + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=var["availability_zone"], cidr_block="10.0.1.0/24", - route_table_id=rtb_test.id, - vpc_id=vpc_test.id) - set = tencentcloud.clb.LogSet("set", period=7) + is_multicast=False) + # create route table + route = tencentcloud.route.Table("route", vpc_id=vpc.id) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + log = tencentcloud.clb.LogSet("log", period=7) + # create topic topic = tencentcloud.clb.LogTopic("topic", - log_set_id=set.id, + log_set_id=log.id, topic_name="clb-topic") - internal_clb = tencentcloud.clb.Instance("internalClb", - clb_name="myclb", - load_balancer_pass_to_target=True, - log_set_id=set.id, - log_topic_id=topic.id, + # create clb + example_instance = tencentcloud.clb.Instance("exampleInstance", network_type="INTERNAL", + clb_name="tf-example", project_id=0, - subnet_id=subnet_test.id, + load_balancer_pass_to_target=True, + vpc_id=vpc.id, + subnet_id=subnet.id, + security_groups=[example_group.id], + log_set_id=log.id, + log_topic_id=topic.id, tags={ - "test": "tf", - }, - vpc_id=vpc_test.id) + "tagKey": "tagValue", + }) ``` @@ -1491,7 +1833,7 @@ def __init__(__self__, CLB instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb + $ pulumi import tencentcloud:Clb/instance:Instance example lb-7a0t6zqb ``` :param str resource_name: The name of the resource. @@ -1512,6 +1854,7 @@ def _internal_init(__self__, address_ip_version: Optional[pulumi.Input[str]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, clb_name: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, delete_protect: Optional[pulumi.Input[bool]] = None, dynamic_vip: Optional[pulumi.Input[bool]] = None, internet_bandwidth_max_out: Optional[pulumi.Input[int]] = None, @@ -1549,6 +1892,7 @@ def _internal_init(__self__, if clb_name is None and not opts.urn: raise TypeError("Missing required property 'clb_name'") __props__.__dict__["clb_name"] = clb_name + __props__.__dict__["cluster_id"] = cluster_id __props__.__dict__["delete_protect"] = delete_protect __props__.__dict__["dynamic_vip"] = dynamic_vip __props__.__dict__["internet_bandwidth_max_out"] = internet_bandwidth_max_out @@ -1593,6 +1937,7 @@ def get(resource_name: str, 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, + cluster_id: Optional[pulumi.Input[str]] = None, delete_protect: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[str]] = None, dynamic_vip: Optional[pulumi.Input[bool]] = None, @@ -1630,6 +1975,7 @@ def get(resource_name: str, :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. + :param pulumi.Input[str] cluster_id: Cluster ID. :param pulumi.Input[bool] delete_protect: Whether to enable delete protection. :param pulumi.Input[str] domain: Domain name of the CLB instance. :param pulumi.Input[bool] dynamic_vip: If create dynamic vip CLB instance, `true` or `false`. @@ -1665,6 +2011,7 @@ def get(resource_name: str, __props__.__dict__["bandwidth_package_id"] = bandwidth_package_id __props__.__dict__["clb_name"] = clb_name __props__.__dict__["clb_vips"] = clb_vips + __props__.__dict__["cluster_id"] = cluster_id __props__.__dict__["delete_protect"] = delete_protect __props__.__dict__["domain"] = domain __props__.__dict__["dynamic_vip"] = dynamic_vip @@ -1732,6 +2079,14 @@ def clb_vips(self) -> pulumi.Output[Sequence[str]]: """ return pulumi.get(self, "clb_vips") + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[Optional[str]]: + """ + Cluster ID. + """ + return pulumi.get(self, "cluster_id") + @property @pulumi.getter(name="deleteProtect") def delete_protect(self) -> pulumi.Output[Optional[bool]]: @@ -1806,7 +2161,7 @@ def log_topic_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="masterZoneId") - def master_zone_id(self) -> pulumi.Output[Optional[str]]: + def master_zone_id(self) -> pulumi.Output[str]: """ Setting master zone id of cross available zone disaster recovery, only applicable to open CLB. """ @@ -1846,7 +2201,7 @@ def sla_type(self) -> pulumi.Output[str]: @property @pulumi.getter(name="slaveZoneId") - def slave_zone_id(self) -> pulumi.Output[Optional[str]]: + def slave_zone_id(self) -> pulumi.Output[str]: """ Setting slave zone id of cross available zone disaster recovery, only applicable to open CLB. this zone will undertake traffic when the master is down. """ @@ -1926,7 +2281,7 @@ def vpc_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="zoneId") - def zone_id(self) -> pulumi.Output[Optional[str]]: + def zone_id(self) -> pulumi.Output[str]: """ Available zone id, only applicable to open CLB. """ diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/listener_rule.py b/sdk/python/tencentcloud_iac_pulumi/clb/listener_rule.py index 3720b7c82..48da235cf 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/listener_rule.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/listener_rule.py @@ -15,12 +15,13 @@ class ListenerRuleArgs: def __init__(__self__, *, clb_id: pulumi.Input[str], - domain: pulumi.Input[str], listener_id: pulumi.Input[str], url: pulumi.Input[str], certificate_ca_id: Optional[pulumi.Input[str]] = None, certificate_id: Optional[pulumi.Input[str]] = None, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input[str]] = None, + domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -40,12 +41,13 @@ def __init__(__self__, *, """ The set of arguments for constructing a ListenerRule resource. :param pulumi.Input[str] clb_id: ID of CLB instance. - :param pulumi.Input[str] domain: Domain name of the listener rule. :param pulumi.Input[str] listener_id: ID of CLB listener. :param pulumi.Input[str] url: Url of the listener rule. :param pulumi.Input[str] certificate_ca_id: ID of the client certificate. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] certificate_id: ID of the server certificate. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of HTTPS protocol. + :param pulumi.Input[str] domain: Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. :param pulumi.Input[str] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. :param pulumi.Input[int] health_check_health_num: Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_check_http_code: HTTP Status Code. The default is 31. Valid value ranges: [1~31]. `1 means the return value '1xx' is health. `2` means the return value '2xx' is health. `4` means the return value '3xx' is health. `8` means the return value '4xx' is health. 16 means the return value '5xx' is health. If you want multiple return codes to indicate health, need to add the corresponding values. NOTES: The 'HTTP' health check of the 'TCP' listener only supports specifying one health check status code. NOTES: Only supports listeners of 'HTTP' and 'HTTPS' protocol. @@ -64,7 +66,6 @@ def __init__(__self__, *, :param pulumi.Input[str] target_type: Backend target type. Valid values: `NODE`, `TARGETGROUP`. `NODE` means to bind ordinary nodes, `TARGETGROUP` means to bind target group. """ pulumi.set(__self__, "clb_id", clb_id) - pulumi.set(__self__, "domain", domain) pulumi.set(__self__, "listener_id", listener_id) pulumi.set(__self__, "url", url) if certificate_ca_id is not None: @@ -73,6 +74,10 @@ def __init__(__self__, *, pulumi.set(__self__, "certificate_id", certificate_id) if certificate_ssl_mode is not None: pulumi.set(__self__, "certificate_ssl_mode", certificate_ssl_mode) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if domains is not None: + pulumi.set(__self__, "domains", domains) if forward_type is not None: pulumi.set(__self__, "forward_type", forward_type) if health_check_health_num is not None: @@ -118,18 +123,6 @@ def clb_id(self) -> pulumi.Input[str]: def clb_id(self, value: pulumi.Input[str]): pulumi.set(self, "clb_id", value) - @property - @pulumi.getter - def domain(self) -> pulumi.Input[str]: - """ - Domain name of the listener rule. - """ - return pulumi.get(self, "domain") - - @domain.setter - def domain(self, value: pulumi.Input[str]): - pulumi.set(self, "domain", value) - @property @pulumi.getter(name="listenerId") def listener_id(self) -> pulumi.Input[str]: @@ -190,6 +183,30 @@ def certificate_ssl_mode(self) -> Optional[pulumi.Input[str]]: def certificate_ssl_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "certificate_ssl_mode", value) + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input[str]]: + """ + Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter + def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + """ + return pulumi.get(self, "domains") + + @domains.setter + def domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "domains", value) + @property @pulumi.getter(name="forwardType") def forward_type(self) -> Optional[pulumi.Input[str]]: @@ -391,6 +408,7 @@ def __init__(__self__, *, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -416,7 +434,8 @@ def __init__(__self__, *, :param pulumi.Input[str] certificate_id: ID of the server certificate. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] clb_id: ID of CLB instance. - :param pulumi.Input[str] domain: Domain name of the listener rule. + :param pulumi.Input[str] domain: Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. :param pulumi.Input[str] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. :param pulumi.Input[int] health_check_health_num: Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_check_http_code: HTTP Status Code. The default is 31. Valid value ranges: [1~31]. `1 means the return value '1xx' is health. `2` means the return value '2xx' is health. `4` means the return value '3xx' is health. `8` means the return value '4xx' is health. 16 means the return value '5xx' is health. If you want multiple return codes to indicate health, need to add the corresponding values. NOTES: The 'HTTP' health check of the 'TCP' listener only supports specifying one health check status code. NOTES: Only supports listeners of 'HTTP' and 'HTTPS' protocol. @@ -447,6 +466,8 @@ def __init__(__self__, *, pulumi.set(__self__, "clb_id", clb_id) if domain is not None: pulumi.set(__self__, "domain", domain) + if domains is not None: + pulumi.set(__self__, "domains", domains) if forward_type is not None: pulumi.set(__self__, "forward_type", forward_type) if health_check_health_num is not None: @@ -538,7 +559,7 @@ def clb_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def domain(self) -> Optional[pulumi.Input[str]]: """ - Domain name of the listener rule. + Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. """ return pulumi.get(self, "domain") @@ -546,6 +567,18 @@ def domain(self) -> Optional[pulumi.Input[str]]: def domain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain", value) + @property + @pulumi.getter + def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + """ + return pulumi.get(self, "domains") + + @domains.setter + def domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "domains", value) + @property @pulumi.getter(name="forwardType") def forward_type(self) -> Optional[pulumi.Input[str]]: @@ -785,6 +818,7 @@ def __init__(__self__, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -811,29 +845,58 @@ def __init__(__self__, ## Example Usage + ### Create a single domain listener rule + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.ListenerRule("foo", + example = tencentcloud.clb.ListenerRule("example", certificate_ca_id="VfqO4zkB", certificate_id="VjANRdz8", certificate_ssl_mode="MUTUAL", clb_id="lb-k2zjp9lv", - domain="foo.net", + domain="example.com", health_check_health_num=3, health_check_http_code=2, - health_check_http_domain="Default Domain", + health_check_http_domain="check.com", health_check_http_method="GET", - health_check_http_path="Default Path", + health_check_http_path="/", health_check_interval_time=5, health_check_switch=True, health_check_unhealth_num=3, listener_id="lbl-hh141sn9", scheduler="WRR", session_expire_time=30, - url="/bar") + url="/") + ``` + + + ### Create a listener rule for domain lists + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.ListenerRule("example", + clb_id="lb-k2zjp9lv", + domains=[ + "example1.com", + "example2.com", + ], + health_check_health_num=3, + health_check_http_code=2, + health_check_http_domain="check.com", + health_check_http_method="GET", + health_check_http_path="/", + health_check_interval_time=5, + health_check_switch=True, + health_check_unhealth_num=3, + listener_id="lbl-hh141sn9", + scheduler="WRR", + url="/") ``` @@ -842,7 +905,7 @@ def __init__(__self__, CLB listener rule can be imported using the id (version >= 1.47.0), e.g. ```sh - $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule foo lb-7a0t6zqb#lbl-hh141sn9#loc-agg236ys + $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule example lb-k2zjp9lv#lbl-hh141sn9#loc-agg236ys ``` :param str resource_name: The name of the resource. @@ -851,7 +914,8 @@ def __init__(__self__, :param pulumi.Input[str] certificate_id: ID of the server certificate. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] clb_id: ID of CLB instance. - :param pulumi.Input[str] domain: Domain name of the listener rule. + :param pulumi.Input[str] domain: Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. :param pulumi.Input[str] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. :param pulumi.Input[int] health_check_health_num: Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_check_http_code: HTTP Status Code. The default is 31. Valid value ranges: [1~31]. `1 means the return value '1xx' is health. `2` means the return value '2xx' is health. `4` means the return value '3xx' is health. `8` means the return value '4xx' is health. 16 means the return value '5xx' is health. If you want multiple return codes to indicate health, need to add the corresponding values. NOTES: The 'HTTP' health check of the 'TCP' listener only supports specifying one health check status code. NOTES: Only supports listeners of 'HTTP' and 'HTTPS' protocol. @@ -884,29 +948,58 @@ def __init__(__self__, ## Example Usage + ### Create a single domain listener rule + ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.clb.ListenerRule("foo", + example = tencentcloud.clb.ListenerRule("example", certificate_ca_id="VfqO4zkB", certificate_id="VjANRdz8", certificate_ssl_mode="MUTUAL", clb_id="lb-k2zjp9lv", - domain="foo.net", + domain="example.com", health_check_health_num=3, health_check_http_code=2, - health_check_http_domain="Default Domain", + health_check_http_domain="check.com", health_check_http_method="GET", - health_check_http_path="Default Path", + health_check_http_path="/", health_check_interval_time=5, health_check_switch=True, health_check_unhealth_num=3, listener_id="lbl-hh141sn9", scheduler="WRR", session_expire_time=30, - url="/bar") + url="/") + ``` + + + ### Create a listener rule for domain lists + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.clb.ListenerRule("example", + clb_id="lb-k2zjp9lv", + domains=[ + "example1.com", + "example2.com", + ], + health_check_health_num=3, + health_check_http_code=2, + health_check_http_domain="check.com", + health_check_http_method="GET", + health_check_http_path="/", + health_check_interval_time=5, + health_check_switch=True, + health_check_unhealth_num=3, + listener_id="lbl-hh141sn9", + scheduler="WRR", + url="/") ``` @@ -915,7 +1008,7 @@ def __init__(__self__, CLB listener rule can be imported using the id (version >= 1.47.0), e.g. ```sh - $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule foo lb-7a0t6zqb#lbl-hh141sn9#loc-agg236ys + $ pulumi import tencentcloud:Clb/listenerRule:ListenerRule example lb-k2zjp9lv#lbl-hh141sn9#loc-agg236ys ``` :param str resource_name: The name of the resource. @@ -938,6 +1031,7 @@ def _internal_init(__self__, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -971,9 +1065,8 @@ def _internal_init(__self__, if clb_id is None and not opts.urn: raise TypeError("Missing required property 'clb_id'") __props__.__dict__["clb_id"] = clb_id - if domain is None and not opts.urn: - raise TypeError("Missing required property 'domain'") __props__.__dict__["domain"] = domain + __props__.__dict__["domains"] = domains __props__.__dict__["forward_type"] = forward_type __props__.__dict__["health_check_health_num"] = health_check_health_num __props__.__dict__["health_check_http_code"] = health_check_http_code @@ -1012,6 +1105,7 @@ def get(resource_name: str, certificate_ssl_mode: Optional[pulumi.Input[str]] = None, clb_id: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, forward_type: Optional[pulumi.Input[str]] = None, health_check_health_num: Optional[pulumi.Input[int]] = None, health_check_http_code: Optional[pulumi.Input[int]] = None, @@ -1042,7 +1136,8 @@ def get(resource_name: str, :param pulumi.Input[str] certificate_id: ID of the server certificate. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] certificate_ssl_mode: Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of HTTPS protocol. :param pulumi.Input[str] clb_id: ID of CLB instance. - :param pulumi.Input[str] domain: Domain name of the listener rule. + :param pulumi.Input[str] domain: Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. :param pulumi.Input[str] forward_type: Forwarding protocol between the CLB instance and real server. Valid values: `HTTP`, `HTTPS`, `TRPC`. The default is `HTTP`. :param pulumi.Input[int] health_check_health_num: Health threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, indicates that the forwarding is normal. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_check_http_code: HTTP Status Code. The default is 31. Valid value ranges: [1~31]. `1 means the return value '1xx' is health. `2` means the return value '2xx' is health. `4` means the return value '3xx' is health. `8` means the return value '4xx' is health. 16 means the return value '5xx' is health. If you want multiple return codes to indicate health, need to add the corresponding values. NOTES: The 'HTTP' health check of the 'TCP' listener only supports specifying one health check status code. NOTES: Only supports listeners of 'HTTP' and 'HTTPS' protocol. @@ -1072,6 +1167,7 @@ def get(resource_name: str, __props__.__dict__["certificate_ssl_mode"] = certificate_ssl_mode __props__.__dict__["clb_id"] = clb_id __props__.__dict__["domain"] = domain + __props__.__dict__["domains"] = domains __props__.__dict__["forward_type"] = forward_type __props__.__dict__["health_check_health_num"] = health_check_health_num __props__.__dict__["health_check_http_code"] = health_check_http_code @@ -1129,10 +1225,18 @@ def clb_id(self) -> pulumi.Output[str]: @pulumi.getter def domain(self) -> pulumi.Output[str]: """ - Domain name of the listener rule. + Domain name of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. """ return pulumi.get(self, "domain") + @property + @pulumi.getter + def domains(self) -> pulumi.Output[Sequence[str]]: + """ + Domain name list of the listener rule. Single domain rules are passed to `domain`, and multi domain rules are passed to `domains`. + """ + return pulumi.get(self, "domains") + @property @pulumi.getter(name="forwardType") def forward_type(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/outputs.py b/sdk/python/tencentcloud_iac_pulumi/clb/outputs.py index b64252ff3..0933c76ce 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/outputs.py @@ -3206,6 +3206,7 @@ def __init__(__self__, *, clb_id: str, clb_name: str, clb_vips: Sequence[str], + cluster_id: str, create_time: str, internet_bandwidth_max_out: int, internet_charge_type: str, @@ -3230,6 +3231,7 @@ def __init__(__self__, *, :param str clb_id: ID of the CLB to be queried. :param str clb_name: Name of the CLB to be queried. :param Sequence[str] clb_vips: The virtual service address table of the CLB. + :param str cluster_id: ID of the cluster. :param str create_time: Create time of the CLB. :param int internet_bandwidth_max_out: Max bandwidth out, only applicable to open CLB. Valid value ranges is [1, 2048]. Unit is MB. :param 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`. @@ -3254,6 +3256,7 @@ def __init__(__self__, *, pulumi.set(__self__, "clb_id", clb_id) pulumi.set(__self__, "clb_name", clb_name) pulumi.set(__self__, "clb_vips", clb_vips) + pulumi.set(__self__, "cluster_id", cluster_id) pulumi.set(__self__, "create_time", create_time) pulumi.set(__self__, "internet_bandwidth_max_out", internet_bandwidth_max_out) pulumi.set(__self__, "internet_charge_type", internet_charge_type) @@ -3306,6 +3309,14 @@ def clb_vips(self) -> Sequence[str]: """ return pulumi.get(self, "clb_vips") + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: + """ + ID of the cluster. + """ + return pulumi.get(self, "cluster_id") + @property @pulumi.getter(name="createTime") def create_time(self) -> str: diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/__init__.py b/sdk/python/tencentcloud_iac_pulumi/cls/__init__.py index 7dfdbaf31..312504fb7 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/__init__.py @@ -15,6 +15,7 @@ from .cos_shipper import * from .data_transform import * from .export import * +from .get_logsets import * from .get_machine_group_configs import * from .get_machines import * from .get_shipper_tasks import * diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py index 3a4c69524..6b04c0e8f 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py @@ -53,6 +53,10 @@ 'KafkaRechargeProtocolArgs', 'MachineGroupMachineGroupTypeArgs', 'ScheduledSqlDstResourceArgs', + 'TopicExtendsArgs', + 'TopicExtendsAnonymousAccessArgs', + 'TopicExtendsAnonymousAccessConditionArgs', + 'GetLogsetsFilterArgs', ] @pulumi.input_type @@ -2422,8 +2426,8 @@ def __init__(__self__, *, alias: pulumi.Input[str], topic_id: pulumi.Input[str]): """ - :param pulumi.Input[str] alias: alias. - :param pulumi.Input[str] topic_id: dst topic id. + :param pulumi.Input[str] alias: Alias. + :param pulumi.Input[str] topic_id: Dst topic ID. """ pulumi.set(__self__, "alias", alias) pulumi.set(__self__, "topic_id", topic_id) @@ -2432,7 +2436,7 @@ def __init__(__self__, *, @pulumi.getter def alias(self) -> pulumi.Input[str]: """ - alias. + Alias. """ return pulumi.get(self, "alias") @@ -2444,7 +2448,7 @@ def alias(self, value: pulumi.Input[str]): @pulumi.getter(name="topicId") def topic_id(self) -> pulumi.Input[str]: """ - dst topic id. + Dst topic ID. """ return pulumi.get(self, "topic_id") @@ -3296,3 +3300,157 @@ def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) +@pulumi.input_type +class TopicExtendsArgs: + def __init__(__self__, *, + anonymous_access: Optional[pulumi.Input['TopicExtendsAnonymousAccessArgs']] = None): + """ + :param pulumi.Input['TopicExtendsAnonymousAccessArgs'] anonymous_access: Log topic authentication free configuration information. + """ + if anonymous_access is not None: + pulumi.set(__self__, "anonymous_access", anonymous_access) + + @property + @pulumi.getter(name="anonymousAccess") + def anonymous_access(self) -> Optional[pulumi.Input['TopicExtendsAnonymousAccessArgs']]: + """ + Log topic authentication free configuration information. + """ + return pulumi.get(self, "anonymous_access") + + @anonymous_access.setter + def anonymous_access(self, value: Optional[pulumi.Input['TopicExtendsAnonymousAccessArgs']]): + pulumi.set(self, "anonymous_access", value) + + +@pulumi.input_type +class TopicExtendsAnonymousAccessArgs: + def __init__(__self__, *, + conditions: Optional[pulumi.Input[Sequence[pulumi.Input['TopicExtendsAnonymousAccessConditionArgs']]]] = None, + operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['TopicExtendsAnonymousAccessConditionArgs']]] conditions: Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + :param pulumi.Input[Sequence[pulumi.Input[str]]] operations: Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + """ + if conditions is not None: + pulumi.set(__self__, "conditions", conditions) + if operations is not None: + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TopicExtendsAnonymousAccessConditionArgs']]]]: + """ + Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + """ + return pulumi.get(self, "conditions") + + @conditions.setter + def conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TopicExtendsAnonymousAccessConditionArgs']]]]): + pulumi.set(self, "conditions", value) + + @property + @pulumi.getter + def operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + """ + return pulumi.get(self, "operations") + + @operations.setter + def operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "operations", value) + + +@pulumi.input_type +class TopicExtendsAnonymousAccessConditionArgs: + def __init__(__self__, *, + attributes: Optional[pulumi.Input[str]] = None, + condition_value: Optional[pulumi.Input[str]] = None, + rule: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] attributes: Condition attribute, currently only VpcID is supported. + :param pulumi.Input[str] condition_value: The value of the corresponding conditional attribute. + :param pulumi.Input[int] rule: Conditional rule, 1: equal, 2: not equal. + """ + if attributes is not None: + pulumi.set(__self__, "attributes", attributes) + if condition_value is not None: + pulumi.set(__self__, "condition_value", condition_value) + if rule is not None: + pulumi.set(__self__, "rule", rule) + + @property + @pulumi.getter + def attributes(self) -> Optional[pulumi.Input[str]]: + """ + Condition attribute, currently only VpcID is supported. + """ + return pulumi.get(self, "attributes") + + @attributes.setter + def attributes(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "attributes", value) + + @property + @pulumi.getter(name="conditionValue") + def condition_value(self) -> Optional[pulumi.Input[str]]: + """ + The value of the corresponding conditional attribute. + """ + return pulumi.get(self, "condition_value") + + @condition_value.setter + def condition_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "condition_value", value) + + @property + @pulumi.getter + def rule(self) -> Optional[pulumi.Input[int]]: + """ + Conditional rule, 1: equal, 2: not equal. + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "rule", value) + + +@pulumi.input_type +class GetLogsetsFilterArgs: + def __init__(__self__, *, + key: str, + values: Sequence[str]): + """ + :param str key: Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + :param Sequence[str] values: The values that need to be filtered. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: str): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + The values that need to be filtered. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/data_transform.py b/sdk/python/tencentcloud_iac_pulumi/cls/data_transform.py index df7059479..f4cafda21 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/data_transform.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/data_transform.py @@ -25,13 +25,13 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a DataTransform resource. - :param pulumi.Input[str] etl_content: data transform content. - :param pulumi.Input[int] func_type: task type. - :param pulumi.Input[str] src_topic_id: src topic id. - :param pulumi.Input[int] task_type: task type. - :param pulumi.Input[Sequence[pulumi.Input['DataTransformDstResourceArgs']]] dst_resources: data transform des resources. - :param pulumi.Input[int] enable_flag: task enable flag. - :param pulumi.Input[str] name: task name. + :param pulumi.Input[str] etl_content: Data transform content. If `func_type` is `2`, must use `log_auto_output`. + :param pulumi.Input[int] func_type: Task type. `1`: Specify the theme; `2`: Dynamic creation. + :param pulumi.Input[str] src_topic_id: Source topic ID. + :param pulumi.Input[int] task_type: Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. + :param pulumi.Input[Sequence[pulumi.Input['DataTransformDstResourceArgs']]] dst_resources: Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. + :param pulumi.Input[int] enable_flag: Task enable flag. `1`: enable, `2`: disable, Default is `1`. + :param pulumi.Input[str] name: Task name. """ pulumi.set(__self__, "etl_content", etl_content) pulumi.set(__self__, "func_type", func_type) @@ -48,7 +48,7 @@ def __init__(__self__, *, @pulumi.getter(name="etlContent") def etl_content(self) -> pulumi.Input[str]: """ - data transform content. + Data transform content. If `func_type` is `2`, must use `log_auto_output`. """ return pulumi.get(self, "etl_content") @@ -60,7 +60,7 @@ def etl_content(self, value: pulumi.Input[str]): @pulumi.getter(name="funcType") def func_type(self) -> pulumi.Input[int]: """ - task type. + Task type. `1`: Specify the theme; `2`: Dynamic creation. """ return pulumi.get(self, "func_type") @@ -72,7 +72,7 @@ def func_type(self, value: pulumi.Input[int]): @pulumi.getter(name="srcTopicId") def src_topic_id(self) -> pulumi.Input[str]: """ - src topic id. + Source topic ID. """ return pulumi.get(self, "src_topic_id") @@ -84,7 +84,7 @@ def src_topic_id(self, value: pulumi.Input[str]): @pulumi.getter(name="taskType") def task_type(self) -> pulumi.Input[int]: """ - task type. + Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. """ return pulumi.get(self, "task_type") @@ -96,7 +96,7 @@ def task_type(self, value: pulumi.Input[int]): @pulumi.getter(name="dstResources") def dst_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataTransformDstResourceArgs']]]]: """ - data transform des resources. + Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. """ return pulumi.get(self, "dst_resources") @@ -108,7 +108,7 @@ def dst_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Data @pulumi.getter(name="enableFlag") def enable_flag(self) -> Optional[pulumi.Input[int]]: """ - task enable flag. + Task enable flag. `1`: enable, `2`: disable, Default is `1`. """ return pulumi.get(self, "enable_flag") @@ -120,7 +120,7 @@ def enable_flag(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - task name. + Task name. """ return pulumi.get(self, "name") @@ -141,13 +141,13 @@ def __init__(__self__, *, task_type: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering DataTransform resources. - :param pulumi.Input[Sequence[pulumi.Input['DataTransformDstResourceArgs']]] dst_resources: data transform des resources. - :param pulumi.Input[int] enable_flag: task enable flag. - :param pulumi.Input[str] etl_content: data transform content. - :param pulumi.Input[int] func_type: task type. - :param pulumi.Input[str] name: task name. - :param pulumi.Input[str] src_topic_id: src topic id. - :param pulumi.Input[int] task_type: task type. + :param pulumi.Input[Sequence[pulumi.Input['DataTransformDstResourceArgs']]] dst_resources: Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. + :param pulumi.Input[int] enable_flag: Task enable flag. `1`: enable, `2`: disable, Default is `1`. + :param pulumi.Input[str] etl_content: Data transform content. If `func_type` is `2`, must use `log_auto_output`. + :param pulumi.Input[int] func_type: Task type. `1`: Specify the theme; `2`: Dynamic creation. + :param pulumi.Input[str] name: Task name. + :param pulumi.Input[str] src_topic_id: Source topic ID. + :param pulumi.Input[int] task_type: Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. """ if dst_resources is not None: pulumi.set(__self__, "dst_resources", dst_resources) @@ -168,7 +168,7 @@ def __init__(__self__, *, @pulumi.getter(name="dstResources") def dst_resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataTransformDstResourceArgs']]]]: """ - data transform des resources. + Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. """ return pulumi.get(self, "dst_resources") @@ -180,7 +180,7 @@ def dst_resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Data @pulumi.getter(name="enableFlag") def enable_flag(self) -> Optional[pulumi.Input[int]]: """ - task enable flag. + Task enable flag. `1`: enable, `2`: disable, Default is `1`. """ return pulumi.get(self, "enable_flag") @@ -192,7 +192,7 @@ def enable_flag(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="etlContent") def etl_content(self) -> Optional[pulumi.Input[str]]: """ - data transform content. + Data transform content. If `func_type` is `2`, must use `log_auto_output`. """ return pulumi.get(self, "etl_content") @@ -204,7 +204,7 @@ def etl_content(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="funcType") def func_type(self) -> Optional[pulumi.Input[int]]: """ - task type. + Task type. `1`: Specify the theme; `2`: Dynamic creation. """ return pulumi.get(self, "func_type") @@ -216,7 +216,7 @@ def func_type(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - task name. + Task name. """ return pulumi.get(self, "name") @@ -228,7 +228,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="srcTopicId") def src_topic_id(self) -> Optional[pulumi.Input[str]]: """ - src topic id. + Source topic ID. """ return pulumi.get(self, "src_topic_id") @@ -240,7 +240,7 @@ def src_topic_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="taskType") def task_type(self) -> Optional[pulumi.Input[int]]: """ - task type. + Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. """ return pulumi.get(self, "task_type") @@ -263,7 +263,7 @@ def __init__(__self__, task_type: Optional[pulumi.Input[int]] = None, __props__=None): """ - Provides a resource to create a cls data_transform + Provides a resource to create a CLS data transform ## Example Usage @@ -286,7 +286,7 @@ def __init__(__self__, period=10, storage_type="hot", tags={ - "test": "test", + "createdBy": "terraform", }) logset_dst = tencentcloud.cls.Logset("logsetDst", logset_name="tf-example-dst", @@ -302,9 +302,9 @@ def __init__(__self__, period=10, storage_type="hot", tags={ - "test": "test", + "createdBy": "terraform", }) - data_transform = tencentcloud.cls.DataTransform("dataTransform", + example = tencentcloud.cls.DataTransform("example", func_type=1, src_topic_id=topic_src.id, etl_content="ext_sep(\\"content\\", \\"f1, f2, f3\\", sep=\\",\\", quote=\\"\\", restrict=False, mode=\\"overwrite\\")fields_drop(\\"content\\")", @@ -319,21 +319,21 @@ def __init__(__self__, ## Import - cls data_transform can be imported using the id, e.g. + CLS data transform can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cls/dataTransform:DataTransform data_transform data_transform_id + $ pulumi import tencentcloud:Cls/dataTransform:DataTransform example 7b4bcb05-9154-4cdc-a479-f6b5743846e5 ``` :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['DataTransformDstResourceArgs']]]] dst_resources: data transform des resources. - :param pulumi.Input[int] enable_flag: task enable flag. - :param pulumi.Input[str] etl_content: data transform content. - :param pulumi.Input[int] func_type: task type. - :param pulumi.Input[str] name: task name. - :param pulumi.Input[str] src_topic_id: src topic id. - :param pulumi.Input[int] task_type: task type. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DataTransformDstResourceArgs']]]] dst_resources: Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. + :param pulumi.Input[int] enable_flag: Task enable flag. `1`: enable, `2`: disable, Default is `1`. + :param pulumi.Input[str] etl_content: Data transform content. If `func_type` is `2`, must use `log_auto_output`. + :param pulumi.Input[int] func_type: Task type. `1`: Specify the theme; `2`: Dynamic creation. + :param pulumi.Input[str] name: Task name. + :param pulumi.Input[str] src_topic_id: Source topic ID. + :param pulumi.Input[int] task_type: Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. """ ... @overload @@ -342,7 +342,7 @@ def __init__(__self__, args: DataTransformArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a resource to create a cls data_transform + Provides a resource to create a CLS data transform ## Example Usage @@ -365,7 +365,7 @@ def __init__(__self__, period=10, storage_type="hot", tags={ - "test": "test", + "createdBy": "terraform", }) logset_dst = tencentcloud.cls.Logset("logsetDst", logset_name="tf-example-dst", @@ -381,9 +381,9 @@ def __init__(__self__, period=10, storage_type="hot", tags={ - "test": "test", + "createdBy": "terraform", }) - data_transform = tencentcloud.cls.DataTransform("dataTransform", + example = tencentcloud.cls.DataTransform("example", func_type=1, src_topic_id=topic_src.id, etl_content="ext_sep(\\"content\\", \\"f1, f2, f3\\", sep=\\",\\", quote=\\"\\", restrict=False, mode=\\"overwrite\\")fields_drop(\\"content\\")", @@ -398,10 +398,10 @@ def __init__(__self__, ## Import - cls data_transform can be imported using the id, e.g. + CLS data transform can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cls/dataTransform:DataTransform data_transform data_transform_id + $ pulumi import tencentcloud:Cls/dataTransform:DataTransform example 7b4bcb05-9154-4cdc-a479-f6b5743846e5 ``` :param str resource_name: The name of the resource. @@ -474,13 +474,13 @@ def get(resource_name: str, :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['DataTransformDstResourceArgs']]]] dst_resources: data transform des resources. - :param pulumi.Input[int] enable_flag: task enable flag. - :param pulumi.Input[str] etl_content: data transform content. - :param pulumi.Input[int] func_type: task type. - :param pulumi.Input[str] name: task name. - :param pulumi.Input[str] src_topic_id: src topic id. - :param pulumi.Input[int] task_type: task type. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DataTransformDstResourceArgs']]]] dst_resources: Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. + :param pulumi.Input[int] enable_flag: Task enable flag. `1`: enable, `2`: disable, Default is `1`. + :param pulumi.Input[str] etl_content: Data transform content. If `func_type` is `2`, must use `log_auto_output`. + :param pulumi.Input[int] func_type: Task type. `1`: Specify the theme; `2`: Dynamic creation. + :param pulumi.Input[str] name: Task name. + :param pulumi.Input[str] src_topic_id: Source topic ID. + :param pulumi.Input[int] task_type: Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -499,7 +499,7 @@ def get(resource_name: str, @pulumi.getter(name="dstResources") def dst_resources(self) -> pulumi.Output[Optional[Sequence['outputs.DataTransformDstResource']]]: """ - data transform des resources. + Data transform des resources. If `func_type` is `1`, this parameter is required. If `func_type` is `2`, this parameter does not need to be filled in. """ return pulumi.get(self, "dst_resources") @@ -507,7 +507,7 @@ def dst_resources(self) -> pulumi.Output[Optional[Sequence['outputs.DataTransfor @pulumi.getter(name="enableFlag") def enable_flag(self) -> pulumi.Output[Optional[int]]: """ - task enable flag. + Task enable flag. `1`: enable, `2`: disable, Default is `1`. """ return pulumi.get(self, "enable_flag") @@ -515,7 +515,7 @@ def enable_flag(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="etlContent") def etl_content(self) -> pulumi.Output[str]: """ - data transform content. + Data transform content. If `func_type` is `2`, must use `log_auto_output`. """ return pulumi.get(self, "etl_content") @@ -523,7 +523,7 @@ def etl_content(self) -> pulumi.Output[str]: @pulumi.getter(name="funcType") def func_type(self) -> pulumi.Output[int]: """ - task type. + Task type. `1`: Specify the theme; `2`: Dynamic creation. """ return pulumi.get(self, "func_type") @@ -531,7 +531,7 @@ def func_type(self) -> pulumi.Output[int]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - task name. + Task name. """ return pulumi.get(self, "name") @@ -539,7 +539,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="srcTopicId") def src_topic_id(self) -> pulumi.Output[str]: """ - src topic id. + Source topic ID. """ return pulumi.get(self, "src_topic_id") @@ -547,7 +547,7 @@ def src_topic_id(self) -> pulumi.Output[str]: @pulumi.getter(name="taskType") def task_type(self) -> pulumi.Output[int]: """ - task type. + Task type. `1`: Use random data from the source log theme for processing preview; `2`: Use user-defined test data for processing preview; `3`: Create real machining tasks. """ return pulumi.get(self, "task_type") diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/get_logsets.py b/sdk/python/tencentcloud_iac_pulumi/cls/get_logsets.py new file mode 100644 index 000000000..ebe374cb6 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/cls/get_logsets.py @@ -0,0 +1,167 @@ +# 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__ = [ + 'GetLogsetsResult', + 'AwaitableGetLogsetsResult', + 'get_logsets', + 'get_logsets_output', +] + +@pulumi.output_type +class GetLogsetsResult: + """ + A collection of values returned by getLogsets. + """ + def __init__(__self__, filters=None, id=None, logsets=None, result_output_file=None): + 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 logsets and not isinstance(logsets, list): + raise TypeError("Expected argument 'logsets' to be a list") + pulumi.set(__self__, "logsets", logsets) + 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 + def filters(self) -> Optional[Sequence['outputs.GetLogsetsFilterResult']]: + 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 + def logsets(self) -> Sequence['outputs.GetLogsetsLogsetResult']: + """ + logset lists. + """ + return pulumi.get(self, "logsets") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetLogsetsResult(GetLogsetsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetLogsetsResult( + filters=self.filters, + id=self.id, + logsets=self.logsets, + result_output_file=self.result_output_file) + + +def get_logsets(filters: Optional[Sequence[pulumi.InputType['GetLogsetsFilterArgs']]] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLogsetsResult: + """ + Use this data source to query detailed information of cls logsets + + ## Example Usage + + ### Query all cls logsets + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + logsets = tencentcloud.Cls.get_logsets() + ``` + + + ### Query by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + logsets = tencentcloud.Cls.get_logsets(filters=[tencentcloud.cls.GetLogsetsFilterArgs( + key="tag:createdBy", + values=["terraform"], + )]) + ``` + + + + :param Sequence[pulumi.InputType['GetLogsetsFilterArgs']] filters: Query by filter. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['filters'] = filters + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Cls/getLogsets:getLogsets', __args__, opts=opts, typ=GetLogsetsResult).value + + return AwaitableGetLogsetsResult( + filters=pulumi.get(__ret__, 'filters'), + id=pulumi.get(__ret__, 'id'), + logsets=pulumi.get(__ret__, 'logsets'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_logsets) +def get_logsets_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetLogsetsFilterArgs']]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLogsetsResult]: + """ + Use this data source to query detailed information of cls logsets + + ## Example Usage + + ### Query all cls logsets + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + logsets = tencentcloud.Cls.get_logsets() + ``` + + + ### Query by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + logsets = tencentcloud.Cls.get_logsets(filters=[tencentcloud.cls.GetLogsetsFilterArgs( + key="tag:createdBy", + values=["terraform"], + )]) + ``` + + + + :param Sequence[pulumi.InputType['GetLogsetsFilterArgs']] filters: Query by filter. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py index bcfcd1d86..8b2f703f1 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py @@ -54,6 +54,12 @@ 'KafkaRechargeProtocol', 'MachineGroupMachineGroupType', 'ScheduledSqlDstResource', + 'TopicExtends', + 'TopicExtendsAnonymousAccess', + 'TopicExtendsAnonymousAccessCondition', + 'GetLogsetsFilterResult', + 'GetLogsetsLogsetResult', + 'GetLogsetsLogsetTagResult', 'GetMachineGroupConfigsConfigResult', 'GetMachineGroupConfigsConfigExcludePathResult', 'GetMachineGroupConfigsConfigExtractRuleResult', @@ -2245,8 +2251,8 @@ def __init__(__self__, *, alias: str, topic_id: str): """ - :param str alias: alias. - :param str topic_id: dst topic id. + :param str alias: Alias. + :param str topic_id: Dst topic ID. """ pulumi.set(__self__, "alias", alias) pulumi.set(__self__, "topic_id", topic_id) @@ -2255,7 +2261,7 @@ def __init__(__self__, *, @pulumi.getter def alias(self) -> str: """ - alias. + Alias. """ return pulumi.get(self, "alias") @@ -2263,7 +2269,7 @@ def alias(self) -> str: @pulumi.getter(name="topicId") def topic_id(self) -> str: """ - dst topic id. + Dst topic ID. """ return pulumi.get(self, "topic_id") @@ -3112,6 +3118,275 @@ def region(self) -> Optional[str]: return pulumi.get(self, "region") +@pulumi.output_type +class TopicExtends(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "anonymousAccess": + suggest = "anonymous_access" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TopicExtends. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TopicExtends.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TopicExtends.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + anonymous_access: Optional['outputs.TopicExtendsAnonymousAccess'] = None): + """ + :param 'TopicExtendsAnonymousAccessArgs' anonymous_access: Log topic authentication free configuration information. + """ + if anonymous_access is not None: + pulumi.set(__self__, "anonymous_access", anonymous_access) + + @property + @pulumi.getter(name="anonymousAccess") + def anonymous_access(self) -> Optional['outputs.TopicExtendsAnonymousAccess']: + """ + Log topic authentication free configuration information. + """ + return pulumi.get(self, "anonymous_access") + + +@pulumi.output_type +class TopicExtendsAnonymousAccess(dict): + def __init__(__self__, *, + conditions: Optional[Sequence['outputs.TopicExtendsAnonymousAccessCondition']] = None, + operations: Optional[Sequence[str]] = None): + """ + :param Sequence['TopicExtendsAnonymousAccessConditionArgs'] conditions: Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + :param Sequence[str] operations: Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + """ + if conditions is not None: + pulumi.set(__self__, "conditions", conditions) + if operations is not None: + pulumi.set(__self__, "operations", operations) + + @property + @pulumi.getter + def conditions(self) -> Optional[Sequence['outputs.TopicExtendsAnonymousAccessCondition']]: + """ + Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + """ + return pulumi.get(self, "conditions") + + @property + @pulumi.getter + def operations(self) -> Optional[Sequence[str]]: + """ + Operation list, supporting trackLog (JS/HTTP upload log) and realtimeProducer (kafka protocol upload log). + """ + return pulumi.get(self, "operations") + + +@pulumi.output_type +class TopicExtendsAnonymousAccessCondition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "conditionValue": + suggest = "condition_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TopicExtendsAnonymousAccessCondition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TopicExtendsAnonymousAccessCondition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TopicExtendsAnonymousAccessCondition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + attributes: Optional[str] = None, + condition_value: Optional[str] = None, + rule: Optional[int] = None): + """ + :param str attributes: Condition attribute, currently only VpcID is supported. + :param str condition_value: The value of the corresponding conditional attribute. + :param int rule: Conditional rule, 1: equal, 2: not equal. + """ + if attributes is not None: + pulumi.set(__self__, "attributes", attributes) + if condition_value is not None: + pulumi.set(__self__, "condition_value", condition_value) + if rule is not None: + pulumi.set(__self__, "rule", rule) + + @property + @pulumi.getter + def attributes(self) -> Optional[str]: + """ + Condition attribute, currently only VpcID is supported. + """ + return pulumi.get(self, "attributes") + + @property + @pulumi.getter(name="conditionValue") + def condition_value(self) -> Optional[str]: + """ + The value of the corresponding conditional attribute. + """ + return pulumi.get(self, "condition_value") + + @property + @pulumi.getter + def rule(self) -> Optional[int]: + """ + Conditional rule, 1: equal, 2: not equal. + """ + return pulumi.get(self, "rule") + + +@pulumi.output_type +class GetLogsetsFilterResult(dict): + def __init__(__self__, *, + key: str, + values: Sequence[str]): + """ + :param str key: Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + :param Sequence[str] values: The values that need to be filtered. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + The values that need to be filtered. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetLogsetsLogsetResult(dict): + def __init__(__self__, *, + assumer_name: str, + create_time: str, + logset_id: str, + logset_name: str, + role_name: str, + tags: Sequence['outputs.GetLogsetsLogsetTagResult'], + topic_count: int): + """ + :param str assumer_name: Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE. + :param str create_time: Create time. + :param str logset_id: Logset Id. + :param str logset_name: Logset name. + :param str role_name: If `assumer_name` is not empty, it indicates the service role that created the log set. + :param Sequence['GetLogsetsLogsetTagArgs'] tags: Tags. + :param int topic_count: Topic count. + """ + pulumi.set(__self__, "assumer_name", assumer_name) + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "logset_id", logset_id) + pulumi.set(__self__, "logset_name", logset_name) + pulumi.set(__self__, "role_name", role_name) + pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "topic_count", topic_count) + + @property + @pulumi.getter(name="assumerName") + def assumer_name(self) -> str: + """ + Cloud product identification, when the log set is created by another cloud product, this field will display the cloud product name, such as CDN, TKE. + """ + return pulumi.get(self, "assumer_name") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="logsetId") + def logset_id(self) -> str: + """ + Logset Id. + """ + return pulumi.get(self, "logset_id") + + @property + @pulumi.getter(name="logsetName") + def logset_name(self) -> str: + """ + Logset name. + """ + return pulumi.get(self, "logset_name") + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> str: + """ + If `assumer_name` is not empty, it indicates the service role that created the log set. + """ + return pulumi.get(self, "role_name") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetLogsetsLogsetTagResult']: + """ + Tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="topicCount") + def topic_count(self) -> int: + """ + Topic count. + """ + return pulumi.get(self, "topic_count") + + +@pulumi.output_type +class GetLogsetsLogsetTagResult(dict): + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + :param str value: Tag value. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + Fields that need to be filtered. Support: `logsetName`, `logsetId`, `tagKey`, `tag:tagKey`. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + Tag value. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class GetMachineGroupConfigsConfigResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/topic.py b/sdk/python/tencentcloud_iac_pulumi/cls/topic.py index 213668440..c25a1e31c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/topic.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/topic.py @@ -8,6 +8,8 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['TopicArgs', 'Topic'] @@ -18,7 +20,9 @@ def __init__(__self__, *, topic_name: pulumi.Input[str], auto_split: Optional[pulumi.Input[bool]] = None, describes: Optional[pulumi.Input[str]] = None, + extends: Optional[pulumi.Input['TopicExtendsArgs']] = None, hot_period: Optional[pulumi.Input[int]] = None, + is_web_tracking: Optional[pulumi.Input[bool]] = None, max_split_partitions: Optional[pulumi.Input[int]] = None, partition_count: Optional[pulumi.Input[int]] = None, period: Optional[pulumi.Input[int]] = None, @@ -30,7 +34,9 @@ def __init__(__self__, *, :param pulumi.Input[str] topic_name: Log topic name. :param pulumi.Input[bool] auto_split: Whether to enable automatic split. Default value: true. :param pulumi.Input[str] describes: Log Topic Description. + :param pulumi.Input['TopicExtendsArgs'] extends: Log Subject Extension Information. :param pulumi.Input[int] hot_period: 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. + :param pulumi.Input[bool] is_web_tracking: No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. :param pulumi.Input[int] max_split_partitions: Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. :param pulumi.Input[int] partition_count: Number of log topic partitions. Default value: 1. Maximum value: 10. :param pulumi.Input[int] period: Lifecycle in days. Value range: 1~366. Default value: 30. @@ -43,8 +49,12 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_split", auto_split) if describes is not None: pulumi.set(__self__, "describes", describes) + if extends is not None: + pulumi.set(__self__, "extends", extends) if hot_period is not None: pulumi.set(__self__, "hot_period", hot_period) + if is_web_tracking is not None: + pulumi.set(__self__, "is_web_tracking", is_web_tracking) if max_split_partitions is not None: pulumi.set(__self__, "max_split_partitions", max_split_partitions) if partition_count is not None: @@ -104,6 +114,18 @@ def describes(self) -> Optional[pulumi.Input[str]]: def describes(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "describes", value) + @property + @pulumi.getter + def extends(self) -> Optional[pulumi.Input['TopicExtendsArgs']]: + """ + Log Subject Extension Information. + """ + return pulumi.get(self, "extends") + + @extends.setter + def extends(self, value: Optional[pulumi.Input['TopicExtendsArgs']]): + pulumi.set(self, "extends", value) + @property @pulumi.getter(name="hotPeriod") def hot_period(self) -> Optional[pulumi.Input[int]]: @@ -116,6 +138,18 @@ def hot_period(self) -> Optional[pulumi.Input[int]]: def hot_period(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "hot_period", value) + @property + @pulumi.getter(name="isWebTracking") + def is_web_tracking(self) -> Optional[pulumi.Input[bool]]: + """ + No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + """ + return pulumi.get(self, "is_web_tracking") + + @is_web_tracking.setter + def is_web_tracking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_web_tracking", value) + @property @pulumi.getter(name="maxSplitPartitions") def max_split_partitions(self) -> Optional[pulumi.Input[int]]: @@ -182,7 +216,9 @@ class _TopicState: def __init__(__self__, *, auto_split: Optional[pulumi.Input[bool]] = None, describes: Optional[pulumi.Input[str]] = None, + extends: Optional[pulumi.Input['TopicExtendsArgs']] = None, hot_period: Optional[pulumi.Input[int]] = None, + is_web_tracking: Optional[pulumi.Input[bool]] = None, logset_id: Optional[pulumi.Input[str]] = None, max_split_partitions: Optional[pulumi.Input[int]] = None, partition_count: Optional[pulumi.Input[int]] = None, @@ -194,7 +230,9 @@ def __init__(__self__, *, Input properties used for looking up and filtering Topic resources. :param pulumi.Input[bool] auto_split: Whether to enable automatic split. Default value: true. :param pulumi.Input[str] describes: Log Topic Description. + :param pulumi.Input['TopicExtendsArgs'] extends: Log Subject Extension Information. :param pulumi.Input[int] hot_period: 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. + :param pulumi.Input[bool] is_web_tracking: No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. :param pulumi.Input[str] logset_id: Logset ID. :param pulumi.Input[int] max_split_partitions: Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. :param pulumi.Input[int] partition_count: Number of log topic partitions. Default value: 1. Maximum value: 10. @@ -207,8 +245,12 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_split", auto_split) if describes is not None: pulumi.set(__self__, "describes", describes) + if extends is not None: + pulumi.set(__self__, "extends", extends) if hot_period is not None: pulumi.set(__self__, "hot_period", hot_period) + if is_web_tracking is not None: + pulumi.set(__self__, "is_web_tracking", is_web_tracking) if logset_id is not None: pulumi.set(__self__, "logset_id", logset_id) if max_split_partitions is not None: @@ -248,6 +290,18 @@ def describes(self) -> Optional[pulumi.Input[str]]: def describes(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "describes", value) + @property + @pulumi.getter + def extends(self) -> Optional[pulumi.Input['TopicExtendsArgs']]: + """ + Log Subject Extension Information. + """ + return pulumi.get(self, "extends") + + @extends.setter + def extends(self, value: Optional[pulumi.Input['TopicExtendsArgs']]): + pulumi.set(self, "extends", value) + @property @pulumi.getter(name="hotPeriod") def hot_period(self) -> Optional[pulumi.Input[int]]: @@ -260,6 +314,18 @@ def hot_period(self) -> Optional[pulumi.Input[int]]: def hot_period(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "hot_period", value) + @property + @pulumi.getter(name="isWebTracking") + def is_web_tracking(self) -> Optional[pulumi.Input[bool]]: + """ + No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + """ + return pulumi.get(self, "is_web_tracking") + + @is_web_tracking.setter + def is_web_tracking(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_web_tracking", value) + @property @pulumi.getter(name="logsetId") def logset_id(self) -> Optional[pulumi.Input[str]]: @@ -352,7 +418,9 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, auto_split: Optional[pulumi.Input[bool]] = None, describes: Optional[pulumi.Input[str]] = None, + extends: Optional[pulumi.Input[pulumi.InputType['TopicExtendsArgs']]] = None, hot_period: Optional[pulumi.Input[int]] = None, + is_web_tracking: Optional[pulumi.Input[bool]] = None, logset_id: Optional[pulumi.Input[str]] = None, max_split_partitions: Optional[pulumi.Input[int]] = None, partition_count: Optional[pulumi.Input[int]] = None, @@ -366,6 +434,8 @@ def __init__(__self__, ## Example Usage + ### Create a standard cls topic + ```python import pulumi @@ -374,7 +444,7 @@ def __init__(__self__, example_logset = tencentcloud.cls.Logset("exampleLogset", logset_name="tf_example", tags={ - "demo": "test", + "tagKey": "tagValue", }) example_topic = tencentcloud.cls.Topic("exampleTopic", topic_name="tf_example", @@ -387,7 +457,49 @@ def __init__(__self__, describes="Test Demo.", hot_period=10, tags={ - "test": "test", + "tagKey": "tagValue", + }) + ``` + + + ### Create a cls topic with web tracking + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example_logset = tencentcloud.cls.Logset("exampleLogset", + logset_name="tf_example", + tags={ + "tagKey": "tagValue", + }) + example_topic = tencentcloud.cls.Topic("exampleTopic", + topic_name="tf_example", + logset_id=example_logset.id, + auto_split=False, + max_split_partitions=20, + partition_count=1, + period=30, + storage_type="hot", + describes="Test Demo.", + hot_period=10, + is_web_tracking=True, + extends=tencentcloud.cls.TopicExtendsArgs( + anonymous_access=tencentcloud.cls.TopicExtendsAnonymousAccessArgs( + operations=[ + "trackLog", + "realtimeProducer", + ], + conditions=[tencentcloud.cls.TopicExtendsAnonymousAccessConditionArgs( + attributes="VpcID", + rule=1, + condition_value="vpc-ahr3xajx", + )], + ), + ), + tags={ + "tagKey": "tagValue", }) ``` @@ -404,7 +516,9 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] auto_split: Whether to enable automatic split. Default value: true. :param pulumi.Input[str] describes: Log Topic Description. + :param pulumi.Input[pulumi.InputType['TopicExtendsArgs']] extends: Log Subject Extension Information. :param pulumi.Input[int] hot_period: 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. + :param pulumi.Input[bool] is_web_tracking: No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. :param pulumi.Input[str] logset_id: Logset ID. :param pulumi.Input[int] max_split_partitions: Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. :param pulumi.Input[int] partition_count: Number of log topic partitions. Default value: 1. Maximum value: 10. @@ -424,6 +538,8 @@ def __init__(__self__, ## Example Usage + ### Create a standard cls topic + ```python import pulumi @@ -432,7 +548,7 @@ def __init__(__self__, example_logset = tencentcloud.cls.Logset("exampleLogset", logset_name="tf_example", tags={ - "demo": "test", + "tagKey": "tagValue", }) example_topic = tencentcloud.cls.Topic("exampleTopic", topic_name="tf_example", @@ -445,7 +561,49 @@ def __init__(__self__, describes="Test Demo.", hot_period=10, tags={ - "test": "test", + "tagKey": "tagValue", + }) + ``` + + + ### Create a cls topic with web tracking + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example_logset = tencentcloud.cls.Logset("exampleLogset", + logset_name="tf_example", + tags={ + "tagKey": "tagValue", + }) + example_topic = tencentcloud.cls.Topic("exampleTopic", + topic_name="tf_example", + logset_id=example_logset.id, + auto_split=False, + max_split_partitions=20, + partition_count=1, + period=30, + storage_type="hot", + describes="Test Demo.", + hot_period=10, + is_web_tracking=True, + extends=tencentcloud.cls.TopicExtendsArgs( + anonymous_access=tencentcloud.cls.TopicExtendsAnonymousAccessArgs( + operations=[ + "trackLog", + "realtimeProducer", + ], + conditions=[tencentcloud.cls.TopicExtendsAnonymousAccessConditionArgs( + attributes="VpcID", + rule=1, + condition_value="vpc-ahr3xajx", + )], + ), + ), + tags={ + "tagKey": "tagValue", }) ``` @@ -475,7 +633,9 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, auto_split: Optional[pulumi.Input[bool]] = None, describes: Optional[pulumi.Input[str]] = None, + extends: Optional[pulumi.Input[pulumi.InputType['TopicExtendsArgs']]] = None, hot_period: Optional[pulumi.Input[int]] = None, + is_web_tracking: Optional[pulumi.Input[bool]] = None, logset_id: Optional[pulumi.Input[str]] = None, max_split_partitions: Optional[pulumi.Input[int]] = None, partition_count: Optional[pulumi.Input[int]] = None, @@ -494,7 +654,9 @@ def _internal_init(__self__, __props__.__dict__["auto_split"] = auto_split __props__.__dict__["describes"] = describes + __props__.__dict__["extends"] = extends __props__.__dict__["hot_period"] = hot_period + __props__.__dict__["is_web_tracking"] = is_web_tracking if logset_id is None and not opts.urn: raise TypeError("Missing required property 'logset_id'") __props__.__dict__["logset_id"] = logset_id @@ -518,7 +680,9 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, auto_split: Optional[pulumi.Input[bool]] = None, describes: Optional[pulumi.Input[str]] = None, + extends: Optional[pulumi.Input[pulumi.InputType['TopicExtendsArgs']]] = None, hot_period: Optional[pulumi.Input[int]] = None, + is_web_tracking: Optional[pulumi.Input[bool]] = None, logset_id: Optional[pulumi.Input[str]] = None, max_split_partitions: Optional[pulumi.Input[int]] = None, partition_count: Optional[pulumi.Input[int]] = None, @@ -535,7 +699,9 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] auto_split: Whether to enable automatic split. Default value: true. :param pulumi.Input[str] describes: Log Topic Description. + :param pulumi.Input[pulumi.InputType['TopicExtendsArgs']] extends: Log Subject Extension Information. :param pulumi.Input[int] hot_period: 0: Turn off log sinking. Non 0: The number of days of standard storage after enabling log settling. HotPeriod needs to be greater than or equal to 7 and less than Period. Only effective when StorageType is hot. + :param pulumi.Input[bool] is_web_tracking: No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. :param pulumi.Input[str] logset_id: Logset ID. :param pulumi.Input[int] max_split_partitions: Maximum number of partitions to split into for this topic if automatic split is enabled. Default value: 50. :param pulumi.Input[int] partition_count: Number of log topic partitions. Default value: 1. Maximum value: 10. @@ -550,7 +716,9 @@ def get(resource_name: str, __props__.__dict__["auto_split"] = auto_split __props__.__dict__["describes"] = describes + __props__.__dict__["extends"] = extends __props__.__dict__["hot_period"] = hot_period + __props__.__dict__["is_web_tracking"] = is_web_tracking __props__.__dict__["logset_id"] = logset_id __props__.__dict__["max_split_partitions"] = max_split_partitions __props__.__dict__["partition_count"] = partition_count @@ -576,6 +744,14 @@ def describes(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "describes") + @property + @pulumi.getter + def extends(self) -> pulumi.Output[Optional['outputs.TopicExtends']]: + """ + Log Subject Extension Information. + """ + return pulumi.get(self, "extends") + @property @pulumi.getter(name="hotPeriod") def hot_period(self) -> pulumi.Output[int]: @@ -584,6 +760,14 @@ def hot_period(self) -> pulumi.Output[int]: """ return pulumi.get(self, "hot_period") + @property + @pulumi.getter(name="isWebTracking") + def is_web_tracking(self) -> pulumi.Output[bool]: + """ + No authentication switch. False: closed; True: Enable. The default is false. After activation, anonymous access to the log topic will be supported for specified operations. + """ + return pulumi.get(self, "is_web_tracking") + @property @pulumi.getter(name="logsetId") def logset_id(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/config/__init__.pyi b/sdk/python/tencentcloud_iac_pulumi/config/__init__.pyi index dc511b8f8..d63284842 100644 --- a/sdk/python/tencentcloud_iac_pulumi/config/__init__.pyi +++ b/sdk/python/tencentcloud_iac_pulumi/config/__init__.pyi @@ -12,11 +12,31 @@ from . import outputs assumeRole: Optional[str] +assumeRoleWithSaml: Optional[str] + +assumeRoleWithWebIdentity: Optional[str] + +camRoleName: Optional[str] +""" +The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. +""" + +cosDomain: Optional[str] +""" +The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: +`https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. +""" + domain: Optional[str] """ The root domain of the API request, Default is `tencentcloudapi.com`. """ +enablePodOidc: Optional[bool] +""" +Whether to enable pod oidc. +""" + profile: Optional[str] """ The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment @@ -30,20 +50,18 @@ The protocol of the API request. Valid values: `HTTP` and `HTTPS`. Default is `H region: Optional[str] """ -This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` -environment variables. The default input value is ap-guangzhou. +This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The +default input value is ap-guangzhou. """ secretId: Optional[str] """ -This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` -environment variable. +This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. """ secretKey: Optional[str] """ -This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` -environment variable. +This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. """ securityToken: Optional[str] diff --git a/sdk/python/tencentcloud_iac_pulumi/config/outputs.py b/sdk/python/tencentcloud_iac_pulumi/config/outputs.py index f6f3ac139..f4b7ad105 100644 --- a/sdk/python/tencentcloud_iac_pulumi/config/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/config/outputs.py @@ -11,6 +11,8 @@ __all__ = [ 'AssumeRole', + 'AssumeRoleWithSaml', + 'AssumeRoleWithWebIdentity', ] @pulumi.output_type @@ -65,3 +67,116 @@ def policy(self) -> Optional[str]: return pulumi.get(self, "policy") +@pulumi.output_type +class AssumeRoleWithSaml(dict): + def __init__(__self__, *, + principal_arn: str, + role_arn: str, + saml_assertion: str, + session_duration: int, + session_name: str): + """ + :param str principal_arn: Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + :param str role_arn: The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + :param str saml_assertion: SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + :param int session_duration: The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + :param str session_name: The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + """ + pulumi.set(__self__, "principal_arn", principal_arn) + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "saml_assertion", saml_assertion) + pulumi.set(__self__, "session_duration", session_duration) + pulumi.set(__self__, "session_name", session_name) + + @property + @pulumi.getter(name="principalArn") + def principal_arn(self) -> str: + """ + Player Access Description Name. It can be sourced from the `PROVIDER_ASSUME_ROLE_PRINCIPAL_ARN`. + """ + return pulumi.get(self, "principal_arn") + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> str: + """ + The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + """ + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter(name="samlAssertion") + def saml_assertion(self) -> str: + """ + SAML assertion information encoded in base64. It can be sourced from the `PROVIDER_ASSUME_ROLE_SAML_ASSERTION`. + """ + return pulumi.get(self, "saml_assertion") + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> int: + """ + The duration of the session when making the AssumeRoleWithSAML call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + """ + return pulumi.get(self, "session_duration") + + @property + @pulumi.getter(name="sessionName") + def session_name(self) -> str: + """ + The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + """ + return pulumi.get(self, "session_name") + + +@pulumi.output_type +class AssumeRoleWithWebIdentity(dict): + def __init__(__self__, *, + role_arn: str, + session_duration: int, + session_name: str, + web_identity_token: str): + """ + :param str role_arn: The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + :param int session_duration: The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + :param str session_name: The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + :param str web_identity_token: OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + """ + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "session_duration", session_duration) + pulumi.set(__self__, "session_name", session_name) + pulumi.set(__self__, "web_identity_token", web_identity_token) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> str: + """ + The ARN of the role to assume. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_ARN`. + """ + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> int: + """ + The duration of the session when making the AssumeRoleWithWebIdentity call. Its value ranges from 0 to 43200(seconds), and default is 7200 seconds. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_DURATION`. + """ + return pulumi.get(self, "session_duration") + + @property + @pulumi.getter(name="sessionName") + def session_name(self) -> str: + """ + The session name to use when making the AssumeRole call. It can be sourced from the `TENCENTCLOUD_ASSUME_ROLE_SESSION_NAME`. + """ + return pulumi.get(self, "session_name") + + @property + @pulumi.getter(name="webIdentityToken") + def web_identity_token(self) -> str: + """ + OIDC token issued by IdP. It can be sourced from the `PROVIDER_ASSUME_ROLE_WEB_IDENTITY_TOKEN`. + """ + return pulumi.get(self, "web_identity_token") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/config/vars.py b/sdk/python/tencentcloud_iac_pulumi/config/vars.py index 3efb3167c..ab80e8d72 100644 --- a/sdk/python/tencentcloud_iac_pulumi/config/vars.py +++ b/sdk/python/tencentcloud_iac_pulumi/config/vars.py @@ -20,6 +20,29 @@ class _ExportableConfig(types.ModuleType): def assume_role(self) -> Optional[str]: return __config__.get('assumeRole') + @property + def assume_role_with_saml(self) -> Optional[str]: + return __config__.get('assumeRoleWithSaml') + + @property + def assume_role_with_web_identity(self) -> Optional[str]: + return __config__.get('assumeRoleWithWebIdentity') + + @property + def cam_role_name(self) -> Optional[str]: + """ + The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + """ + return __config__.get('camRoleName') + + @property + def cos_domain(self) -> Optional[str]: + """ + The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + """ + return __config__.get('cosDomain') + @property def domain(self) -> Optional[str]: """ @@ -27,6 +50,13 @@ def domain(self) -> Optional[str]: """ return __config__.get('domain') + @property + def enable_pod_oidc(self) -> Optional[bool]: + """ + Whether to enable pod oidc. + """ + return __config__.get_bool('enablePodOidc') + @property def profile(self) -> Optional[str]: """ @@ -45,24 +75,22 @@ def protocol(self) -> Optional[str]: @property def region(self) -> Optional[str]: """ - This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - environment variables. The default input value is ap-guangzhou. + This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + default input value is ap-guangzhou. """ return __config__.get('region') or _utilities.get_env('TENCENTCLOUD_REGION') @property def secret_id(self) -> Optional[str]: """ - This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - environment variable. + This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. """ return __config__.get('secretId') or _utilities.get_env('TENCENTCLOUD_SECRET_ID') @property def secret_key(self) -> Optional[str]: """ - This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - environment variable. + This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. """ return __config__.get('secretKey') or _utilities.get_env('TENCENTCLOUD_SECRET_KEY') diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/batch.py b/sdk/python/tencentcloud_iac_pulumi/cos/batch.py index 26d3cf32c..1b85a8b18 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/batch.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/batch.py @@ -385,6 +385,8 @@ def __init__(__self__, """ Provides a resource to create a cos bucket batch. + > **NOTE:** The current resource does not support `cos_domain`. + ## Example Usage @@ -460,6 +462,8 @@ def __init__(__self__, """ Provides a resource to create a cos bucket batch. + > **NOTE:** The current resource does not support `cos_domain`. + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/bucket.py b/sdk/python/tencentcloud_iac_pulumi/cos/bucket.py index 36f5eda4f..4cc5d2ebd 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/bucket.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/bucket.py @@ -20,12 +20,14 @@ def __init__(__self__, *, acceleration_enable: Optional[pulumi.Input[bool]] = None, acl: Optional[pulumi.Input[str]] = None, acl_body: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BucketCorsRuleArgs']]]] = None, enable_intelligent_tiering: Optional[pulumi.Input[bool]] = None, encryption_algorithm: Optional[pulumi.Input[str]] = None, force_clean: Optional[pulumi.Input[bool]] = None, intelligent_tiering_days: Optional[pulumi.Input[int]] = None, intelligent_tiering_request_frequent: Optional[pulumi.Input[int]] = None, + kms_id: Optional[pulumi.Input[str]] = None, lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]]] = None, log_enable: Optional[pulumi.Input[bool]] = None, log_prefix: Optional[pulumi.Input[str]] = None, @@ -44,12 +46,14 @@ def __init__(__self__, *, :param pulumi.Input[bool] acceleration_enable: Enable bucket acceleration. :param pulumi.Input[str] acl: The canned ACL to apply. Valid values: private, public-read, and public-read-write. Defaults to private. :param pulumi.Input[str] acl_body: ACL XML body for multiple grant info. NOTE: this argument will overwrite `acl`. Check https://intl.cloud.tencent.com/document/product/436/7737 for more detail. + :param pulumi.Input[str] cdc_id: CDC cluster ID. :param pulumi.Input[Sequence[pulumi.Input['BucketCorsRuleArgs']]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below). :param pulumi.Input[bool] enable_intelligent_tiering: Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. - :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid value is `AES256`. + :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. :param pulumi.Input[bool] force_clean: Force cleanup all objects before delete bucket. :param pulumi.Input[int] intelligent_tiering_days: Specifies the limit of days for standard-tier data to low-frequency data in an intelligent tiered storage configuration, with optional days of 30, 60, 90. Default value is 30. :param pulumi.Input[int] intelligent_tiering_request_frequent: Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. + :param pulumi.Input[str] kms_id: The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. :param pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]] lifecycle_rules: A configuration of object lifecycle management (documented below). :param pulumi.Input[bool] log_enable: Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `log_target_bucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). :param pulumi.Input[str] log_prefix: The prefix log name which saves the access log of this bucket per 5 minutes. Eg. `MyLogPrefix/`. The log access file format is `log_target_bucket`/`log_prefix`{YYYY}/{MM}/{DD}/{time}_{random}_{index}.gz. Only valid when `log_enable` is `true`. @@ -70,6 +74,8 @@ def __init__(__self__, *, pulumi.set(__self__, "acl", acl) if acl_body is not None: pulumi.set(__self__, "acl_body", acl_body) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if cors_rules is not None: pulumi.set(__self__, "cors_rules", cors_rules) if enable_intelligent_tiering is not None: @@ -82,6 +88,8 @@ def __init__(__self__, *, pulumi.set(__self__, "intelligent_tiering_days", intelligent_tiering_days) if intelligent_tiering_request_frequent is not None: pulumi.set(__self__, "intelligent_tiering_request_frequent", intelligent_tiering_request_frequent) + if kms_id is not None: + pulumi.set(__self__, "kms_id", kms_id) if lifecycle_rules is not None: pulumi.set(__self__, "lifecycle_rules", lifecycle_rules) if log_enable is not None: @@ -155,6 +163,18 @@ def acl_body(self) -> Optional[pulumi.Input[str]]: def acl_body(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "acl_body", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC cluster ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="corsRules") def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BucketCorsRuleArgs']]]]: @@ -183,7 +203,7 @@ def enable_intelligent_tiering(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="encryptionAlgorithm") def encryption_algorithm(self) -> Optional[pulumi.Input[str]]: """ - The server-side encryption algorithm to use. Valid value is `AES256`. + The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. """ return pulumi.get(self, "encryption_algorithm") @@ -227,6 +247,18 @@ def intelligent_tiering_request_frequent(self) -> Optional[pulumi.Input[int]]: def intelligent_tiering_request_frequent(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "intelligent_tiering_request_frequent", value) + @property + @pulumi.getter(name="kmsId") + def kms_id(self) -> Optional[pulumi.Input[str]]: + """ + The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + """ + return pulumi.get(self, "kms_id") + + @kms_id.setter + def kms_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_id", value) + @property @pulumi.getter(name="lifecycleRules") def lifecycle_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]]]: @@ -379,6 +411,7 @@ def __init__(__self__, *, acl: Optional[pulumi.Input[str]] = None, acl_body: Optional[pulumi.Input[str]] = None, bucket: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BucketCorsRuleArgs']]]] = None, cos_bucket_url: Optional[pulumi.Input[str]] = None, enable_intelligent_tiering: Optional[pulumi.Input[bool]] = None, @@ -386,6 +419,7 @@ def __init__(__self__, *, force_clean: Optional[pulumi.Input[bool]] = None, intelligent_tiering_days: Optional[pulumi.Input[int]] = None, intelligent_tiering_request_frequent: Optional[pulumi.Input[int]] = None, + kms_id: Optional[pulumi.Input[str]] = None, lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]]] = None, log_enable: Optional[pulumi.Input[bool]] = None, log_prefix: Optional[pulumi.Input[str]] = None, @@ -404,13 +438,15 @@ def __init__(__self__, *, :param pulumi.Input[str] acl: The canned ACL to apply. Valid values: private, public-read, and public-read-write. Defaults to private. :param pulumi.Input[str] acl_body: ACL XML body for multiple grant info. NOTE: this argument will overwrite `acl`. Check https://intl.cloud.tencent.com/document/product/436/7737 for more detail. :param pulumi.Input[str] bucket: The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. + :param pulumi.Input[str] cdc_id: CDC cluster ID. :param pulumi.Input[Sequence[pulumi.Input['BucketCorsRuleArgs']]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below). :param pulumi.Input[str] cos_bucket_url: The URL of this cos bucket. :param pulumi.Input[bool] enable_intelligent_tiering: Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. - :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid value is `AES256`. + :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. :param pulumi.Input[bool] force_clean: Force cleanup all objects before delete bucket. :param pulumi.Input[int] intelligent_tiering_days: Specifies the limit of days for standard-tier data to low-frequency data in an intelligent tiered storage configuration, with optional days of 30, 60, 90. Default value is 30. :param pulumi.Input[int] intelligent_tiering_request_frequent: Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. + :param pulumi.Input[str] kms_id: The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. :param pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]] lifecycle_rules: A configuration of object lifecycle management (documented below). :param pulumi.Input[bool] log_enable: Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `log_target_bucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). :param pulumi.Input[str] log_prefix: The prefix log name which saves the access log of this bucket per 5 minutes. Eg. `MyLogPrefix/`. The log access file format is `log_target_bucket`/`log_prefix`{YYYY}/{MM}/{DD}/{time}_{random}_{index}.gz. Only valid when `log_enable` is `true`. @@ -432,6 +468,8 @@ def __init__(__self__, *, pulumi.set(__self__, "acl_body", acl_body) if bucket is not None: pulumi.set(__self__, "bucket", bucket) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if cors_rules is not None: pulumi.set(__self__, "cors_rules", cors_rules) if cos_bucket_url is not None: @@ -446,6 +484,8 @@ def __init__(__self__, *, pulumi.set(__self__, "intelligent_tiering_days", intelligent_tiering_days) if intelligent_tiering_request_frequent is not None: pulumi.set(__self__, "intelligent_tiering_request_frequent", intelligent_tiering_request_frequent) + if kms_id is not None: + pulumi.set(__self__, "kms_id", kms_id) if lifecycle_rules is not None: pulumi.set(__self__, "lifecycle_rules", lifecycle_rules) if log_enable is not None: @@ -519,6 +559,18 @@ def bucket(self) -> Optional[pulumi.Input[str]]: def bucket(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "bucket", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC cluster ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="corsRules") def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BucketCorsRuleArgs']]]]: @@ -559,7 +611,7 @@ def enable_intelligent_tiering(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="encryptionAlgorithm") def encryption_algorithm(self) -> Optional[pulumi.Input[str]]: """ - The server-side encryption algorithm to use. Valid value is `AES256`. + The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. """ return pulumi.get(self, "encryption_algorithm") @@ -603,6 +655,18 @@ def intelligent_tiering_request_frequent(self) -> Optional[pulumi.Input[int]]: def intelligent_tiering_request_frequent(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "intelligent_tiering_request_frequent", value) + @property + @pulumi.getter(name="kmsId") + def kms_id(self) -> Optional[pulumi.Input[str]]: + """ + The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + """ + return pulumi.get(self, "kms_id") + + @kms_id.setter + def kms_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_id", value) + @property @pulumi.getter(name="lifecycleRules") def lifecycle_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BucketLifecycleRuleArgs']]]]: @@ -757,12 +821,14 @@ def __init__(__self__, acl: Optional[pulumi.Input[str]] = None, acl_body: Optional[pulumi.Input[str]] = None, bucket: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketCorsRuleArgs']]]]] = None, enable_intelligent_tiering: Optional[pulumi.Input[bool]] = None, encryption_algorithm: Optional[pulumi.Input[str]] = None, force_clean: Optional[pulumi.Input[bool]] = None, intelligent_tiering_days: Optional[pulumi.Input[int]] = None, intelligent_tiering_request_frequent: Optional[pulumi.Input[int]] = None, + kms_id: Optional[pulumi.Input[str]] = None, lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketLifecycleRuleArgs']]]]] = None, log_enable: Optional[pulumi.Input[bool]] = None, log_prefix: Optional[pulumi.Input[str]] = None, @@ -791,12 +857,60 @@ def __init__(__self__, info = tencentcloud.User.get_info() app_id = info.app_id - private_sbucket = tencentcloud.cos.Bucket("privateSbucket", + private_bucket = tencentcloud.cos.Bucket("privateBucket", bucket=f"private-bucket-{app_id}", acl="private") ``` + ### Private Bucket with CDC cluster + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + private_bucket = tencentcloud.cos.Bucket("privateBucket", + bucket=f"private-bucket-{app_id}", + cdc_id="cluster-262n63e8", + acl="private", + versioning_enable=True, + force_clean=True) + ``` + + + ### Enable SSE-KMS encryption + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + example = tencentcloud.kms.Key("example", + alias="tf-example-kms-key", + description="example of kms key", + key_rotation_enabled=False, + is_enabled=True, + tags={ + "createdBy": "terraform", + }) + bucket_basic = tencentcloud.cos.Bucket("bucketBasic", + bucket=f"tf-bucket-cdc-{app_id}", + acl="private", + encryption_algorithm="KMS", + kms_id=example.id, + versioning_enable=True, + acceleration_enable=True, + force_clean=True) + ``` + + ### Creation of multiple available zone bucket @@ -938,6 +1052,32 @@ def __init__(__self__, ``` + ### Using CORS with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_cors = tencentcloud.cos.Bucket("bucketWithCors", + bucket=f"bucket-with-cors-{app_id}", + cdc_id="cluster-262n63e8", + cors_rules=[tencentcloud.cos.BucketCorsRuleArgs( + allowed_origins=["http://*.abc.com"], + allowed_methods=[ + "PUT", + "POST", + ], + allowed_headers=["*"], + max_age_seconds=300, + expose_headers=["Etag"], + )]) + ``` + + ### Using object lifecycle @@ -964,6 +1104,29 @@ def __init__(__self__, ``` + ### Using object lifecycle with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_lifecycle = tencentcloud.cos.Bucket("bucketWithLifecycle", + bucket=f"bucket-with-lifecycle-{app_id}", + cdc_id="cluster-262n63e8", + acl="private", + lifecycle_rules=[tencentcloud.cos.BucketLifecycleRuleArgs( + filter_prefix="path1/", + expiration=tencentcloud.cos.BucketLifecycleRuleExpirationArgs( + days=90, + ), + )]) + ``` + + ### Using replication @@ -1009,12 +1172,14 @@ def __init__(__self__, :param pulumi.Input[str] acl: The canned ACL to apply. Valid values: private, public-read, and public-read-write. Defaults to private. :param pulumi.Input[str] acl_body: ACL XML body for multiple grant info. NOTE: this argument will overwrite `acl`. Check https://intl.cloud.tencent.com/document/product/436/7737 for more detail. :param pulumi.Input[str] bucket: The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. + :param pulumi.Input[str] cdc_id: CDC cluster ID. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketCorsRuleArgs']]]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below). :param pulumi.Input[bool] enable_intelligent_tiering: Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. - :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid value is `AES256`. + :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. :param pulumi.Input[bool] force_clean: Force cleanup all objects before delete bucket. :param pulumi.Input[int] intelligent_tiering_days: Specifies the limit of days for standard-tier data to low-frequency data in an intelligent tiered storage configuration, with optional days of 30, 60, 90. Default value is 30. :param pulumi.Input[int] intelligent_tiering_request_frequent: Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. + :param pulumi.Input[str] kms_id: The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketLifecycleRuleArgs']]]] lifecycle_rules: A configuration of object lifecycle management (documented below). :param pulumi.Input[bool] log_enable: Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `log_target_bucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). :param pulumi.Input[str] log_prefix: The prefix log name which saves the access log of this bucket per 5 minutes. Eg. `MyLogPrefix/`. The log access file format is `log_target_bucket`/`log_prefix`{YYYY}/{MM}/{DD}/{time}_{random}_{index}.gz. Only valid when `log_enable` is `true`. @@ -1049,12 +1214,60 @@ def __init__(__self__, info = tencentcloud.User.get_info() app_id = info.app_id - private_sbucket = tencentcloud.cos.Bucket("privateSbucket", + private_bucket = tencentcloud.cos.Bucket("privateBucket", bucket=f"private-bucket-{app_id}", acl="private") ``` + ### Private Bucket with CDC cluster + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + private_bucket = tencentcloud.cos.Bucket("privateBucket", + bucket=f"private-bucket-{app_id}", + cdc_id="cluster-262n63e8", + acl="private", + versioning_enable=True, + force_clean=True) + ``` + + + ### Enable SSE-KMS encryption + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + example = tencentcloud.kms.Key("example", + alias="tf-example-kms-key", + description="example of kms key", + key_rotation_enabled=False, + is_enabled=True, + tags={ + "createdBy": "terraform", + }) + bucket_basic = tencentcloud.cos.Bucket("bucketBasic", + bucket=f"tf-bucket-cdc-{app_id}", + acl="private", + encryption_algorithm="KMS", + kms_id=example.id, + versioning_enable=True, + acceleration_enable=True, + force_clean=True) + ``` + + ### Creation of multiple available zone bucket @@ -1196,6 +1409,32 @@ def __init__(__self__, ``` + ### Using CORS with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_cors = tencentcloud.cos.Bucket("bucketWithCors", + bucket=f"bucket-with-cors-{app_id}", + cdc_id="cluster-262n63e8", + cors_rules=[tencentcloud.cos.BucketCorsRuleArgs( + allowed_origins=["http://*.abc.com"], + allowed_methods=[ + "PUT", + "POST", + ], + allowed_headers=["*"], + max_age_seconds=300, + expose_headers=["Etag"], + )]) + ``` + + ### Using object lifecycle @@ -1222,6 +1461,29 @@ def __init__(__self__, ``` + ### Using object lifecycle with CDC + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + info = tencentcloud.User.get_info() + app_id = info.app_id + bucket_with_lifecycle = tencentcloud.cos.Bucket("bucketWithLifecycle", + bucket=f"bucket-with-lifecycle-{app_id}", + cdc_id="cluster-262n63e8", + acl="private", + lifecycle_rules=[tencentcloud.cos.BucketLifecycleRuleArgs( + filter_prefix="path1/", + expiration=tencentcloud.cos.BucketLifecycleRuleExpirationArgs( + days=90, + ), + )]) + ``` + + ### Using replication @@ -1280,12 +1542,14 @@ def _internal_init(__self__, acl: Optional[pulumi.Input[str]] = None, acl_body: Optional[pulumi.Input[str]] = None, bucket: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketCorsRuleArgs']]]]] = None, enable_intelligent_tiering: Optional[pulumi.Input[bool]] = None, encryption_algorithm: Optional[pulumi.Input[str]] = None, force_clean: Optional[pulumi.Input[bool]] = None, intelligent_tiering_days: Optional[pulumi.Input[int]] = None, intelligent_tiering_request_frequent: Optional[pulumi.Input[int]] = None, + kms_id: Optional[pulumi.Input[str]] = None, lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketLifecycleRuleArgs']]]]] = None, log_enable: Optional[pulumi.Input[bool]] = None, log_prefix: Optional[pulumi.Input[str]] = None, @@ -1313,12 +1577,14 @@ def _internal_init(__self__, if bucket is None and not opts.urn: raise TypeError("Missing required property 'bucket'") __props__.__dict__["bucket"] = bucket + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["cors_rules"] = cors_rules __props__.__dict__["enable_intelligent_tiering"] = enable_intelligent_tiering __props__.__dict__["encryption_algorithm"] = encryption_algorithm __props__.__dict__["force_clean"] = force_clean __props__.__dict__["intelligent_tiering_days"] = intelligent_tiering_days __props__.__dict__["intelligent_tiering_request_frequent"] = intelligent_tiering_request_frequent + __props__.__dict__["kms_id"] = kms_id __props__.__dict__["lifecycle_rules"] = lifecycle_rules __props__.__dict__["log_enable"] = log_enable __props__.__dict__["log_prefix"] = log_prefix @@ -1346,6 +1612,7 @@ def get(resource_name: str, acl: Optional[pulumi.Input[str]] = None, acl_body: Optional[pulumi.Input[str]] = None, bucket: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cors_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketCorsRuleArgs']]]]] = None, cos_bucket_url: Optional[pulumi.Input[str]] = None, enable_intelligent_tiering: Optional[pulumi.Input[bool]] = None, @@ -1353,6 +1620,7 @@ def get(resource_name: str, force_clean: Optional[pulumi.Input[bool]] = None, intelligent_tiering_days: Optional[pulumi.Input[int]] = None, intelligent_tiering_request_frequent: Optional[pulumi.Input[int]] = None, + kms_id: Optional[pulumi.Input[str]] = None, lifecycle_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketLifecycleRuleArgs']]]]] = None, log_enable: Optional[pulumi.Input[bool]] = None, log_prefix: Optional[pulumi.Input[str]] = None, @@ -1376,13 +1644,15 @@ def get(resource_name: str, :param pulumi.Input[str] acl: The canned ACL to apply. Valid values: private, public-read, and public-read-write. Defaults to private. :param pulumi.Input[str] acl_body: ACL XML body for multiple grant info. NOTE: this argument will overwrite `acl`. Check https://intl.cloud.tencent.com/document/product/436/7737 for more detail. :param pulumi.Input[str] bucket: The name of a bucket to be created. Bucket format should be [custom name]-[appid], for example `mycos-1258798060`. + :param pulumi.Input[str] cdc_id: CDC cluster ID. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketCorsRuleArgs']]]] cors_rules: A rule of Cross-Origin Resource Sharing (documented below). :param pulumi.Input[str] cos_bucket_url: The URL of this cos bucket. :param pulumi.Input[bool] enable_intelligent_tiering: Enable intelligent tiering. NOTE: When intelligent tiering configuration is enabled, it cannot be turned off or modified. - :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid value is `AES256`. + :param pulumi.Input[str] encryption_algorithm: The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. :param pulumi.Input[bool] force_clean: Force cleanup all objects before delete bucket. :param pulumi.Input[int] intelligent_tiering_days: Specifies the limit of days for standard-tier data to low-frequency data in an intelligent tiered storage configuration, with optional days of 30, 60, 90. Default value is 30. :param pulumi.Input[int] intelligent_tiering_request_frequent: Specify the access limit for converting standard layer data into low-frequency layer data in the configuration. The default value is once, which can be used in combination with the number of days to achieve the conversion effect. For example, if the parameter is set to 1 and the number of access days is 30, it means that objects with less than one visit in 30 consecutive days will be reduced from the standard layer to the low frequency layer. + :param pulumi.Input[str] kms_id: The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketLifecycleRuleArgs']]]] lifecycle_rules: A configuration of object lifecycle management (documented below). :param pulumi.Input[bool] log_enable: Indicate the access log of this bucket to be saved or not. Default is `false`. If set `true`, the access log will be saved with `log_target_bucket`. To enable log, the full access of log service must be granted. [Full Access Role Policy](https://intl.cloud.tencent.com/document/product/436/16920). :param pulumi.Input[str] log_prefix: The prefix log name which saves the access log of this bucket per 5 minutes. Eg. `MyLogPrefix/`. The log access file format is `log_target_bucket`/`log_prefix`{YYYY}/{MM}/{DD}/{time}_{random}_{index}.gz. Only valid when `log_enable` is `true`. @@ -1404,6 +1674,7 @@ def get(resource_name: str, __props__.__dict__["acl"] = acl __props__.__dict__["acl_body"] = acl_body __props__.__dict__["bucket"] = bucket + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["cors_rules"] = cors_rules __props__.__dict__["cos_bucket_url"] = cos_bucket_url __props__.__dict__["enable_intelligent_tiering"] = enable_intelligent_tiering @@ -1411,6 +1682,7 @@ def get(resource_name: str, __props__.__dict__["force_clean"] = force_clean __props__.__dict__["intelligent_tiering_days"] = intelligent_tiering_days __props__.__dict__["intelligent_tiering_request_frequent"] = intelligent_tiering_request_frequent + __props__.__dict__["kms_id"] = kms_id __props__.__dict__["lifecycle_rules"] = lifecycle_rules __props__.__dict__["log_enable"] = log_enable __props__.__dict__["log_prefix"] = log_prefix @@ -1457,6 +1729,14 @@ def bucket(self) -> pulumi.Output[str]: """ return pulumi.get(self, "bucket") + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> pulumi.Output[Optional[str]]: + """ + CDC cluster ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="corsRules") def cors_rules(self) -> pulumi.Output[Optional[Sequence['outputs.BucketCorsRule']]]: @@ -1485,7 +1765,7 @@ def enable_intelligent_tiering(self) -> pulumi.Output[bool]: @pulumi.getter(name="encryptionAlgorithm") def encryption_algorithm(self) -> pulumi.Output[Optional[str]]: """ - The server-side encryption algorithm to use. Valid value is `AES256`. + The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario. """ return pulumi.get(self, "encryption_algorithm") @@ -1513,6 +1793,14 @@ def intelligent_tiering_request_frequent(self) -> pulumi.Output[int]: """ return pulumi.get(self, "intelligent_tiering_request_frequent") + @property + @pulumi.getter(name="kmsId") + def kms_id(self) -> pulumi.Output[Optional[str]]: + """ + The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used. + """ + return pulumi.get(self, "kms_id") + @property @pulumi.getter(name="lifecycleRules") def lifecycle_rules(self) -> pulumi.Output[Optional[Sequence['outputs.BucketLifecycleRule']]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_domain_certificate_attachment.py b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_domain_certificate_attachment.py index d1efabf91..4b5d047fa 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_domain_certificate_attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_domain_certificate_attachment.py @@ -102,6 +102,8 @@ def __init__(__self__, """ Provides a resource to attach/detach the corresponding certificate for the domain name in specified cos bucket. + > **NOTE:** The current resource does not support cdc. + ## Example Usage @@ -138,6 +140,8 @@ def __init__(__self__, """ Provides a resource to attach/detach the corresponding certificate for the domain name in specified cos bucket. + > **NOTE:** The current resource does not support cdc. + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_generate_inventory_immediately_operation.py b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_generate_inventory_immediately_operation.py index 095bccc2f..4ba818ae5 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_generate_inventory_immediately_operation.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_generate_inventory_immediately_operation.py @@ -100,6 +100,8 @@ def __init__(__self__, """ Provides a resource to generate a cos bucket inventory immediately + > **NOTE:** The current resource does not support cdc. + ## Example Usage @@ -127,6 +129,8 @@ def __init__(__self__, """ Provides a resource to generate a cos bucket inventory immediately + > **NOTE:** The current resource does not support cdc. + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_inventory.py b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_inventory.py index 79a952588..a241dbe45 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_inventory.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_inventory.py @@ -295,48 +295,57 @@ def __init__(__self__, schedule: Optional[pulumi.Input[pulumi.InputType['BucketInventoryScheduleArgs']]] = None, __props__=None): """ - Provides a resource to create a cos bucket_inventory + Provides a resource to create a cos bucket inventory + + > **NOTE:** The current resource does not support cdc. ## Example Usage ```python import pulumi + import pulumi_tencentcloud as tencentcloud import tencentcloud_iac_pulumi as tencentcloud - bucket_inventory = tencentcloud.cos.BucketInventory("bucketInventory", - bucket="keep-test-xxxxxx", - destination=tencentcloud.cos.BucketInventoryDestinationArgs( - account_id="", - bucket="qcs::cos:ap-guangzhou::keep-test-xxxxxx", - format="CSV", - prefix="cos_bucket_inventory", - ), - filter=tencentcloud.cos.BucketInventoryFilterArgs( - period=tencentcloud.cos.BucketInventoryFilterPeriodArgs( - start_time="1687276800", - ), - ), - included_object_versions="Current", + info = tencentcloud.User.get_info() + app_id = info.app_id + # create cos + example_bucket = tencentcloud.cos.Bucket("exampleBucket", + bucket=f"private-bucket-{app_id}", + acl="private") + # create cos bucket inventory + example_bucket_inventory = tencentcloud.cos.BucketInventory("exampleBucketInventory", + bucket=example_bucket.id, is_enabled="true", + included_object_versions="Current", optional_fields=tencentcloud.cos.BucketInventoryOptionalFieldsArgs( fields=[ "Size", "ETag", ], ), + filter=tencentcloud.cos.BucketInventoryFilterArgs( + period=tencentcloud.cos.BucketInventoryFilterPeriodArgs( + start_time="1687276800", + ), + ), schedule=tencentcloud.cos.BucketInventoryScheduleArgs( - frequency="Weekly", + frequency="Daily", + ), + destination=tencentcloud.cos.BucketInventoryDestinationArgs( + bucket="qcs::cos:ap-guangzhou::private-bucket-1309118522", + format="CSV", + prefix="frontends", )) ``` ## Import - cos bucket_inventory can be imported using the id, e.g. + cos bucket inventory can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory bucket_inventory bucket_inventory_id + $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory example private-bucket-1309118522#tf-example ``` :param str resource_name: The name of the resource. @@ -357,48 +366,57 @@ def __init__(__self__, args: BucketInventoryArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a resource to create a cos bucket_inventory + Provides a resource to create a cos bucket inventory + + > **NOTE:** The current resource does not support cdc. ## Example Usage ```python import pulumi + import pulumi_tencentcloud as tencentcloud import tencentcloud_iac_pulumi as tencentcloud - bucket_inventory = tencentcloud.cos.BucketInventory("bucketInventory", - bucket="keep-test-xxxxxx", - destination=tencentcloud.cos.BucketInventoryDestinationArgs( - account_id="", - bucket="qcs::cos:ap-guangzhou::keep-test-xxxxxx", - format="CSV", - prefix="cos_bucket_inventory", - ), - filter=tencentcloud.cos.BucketInventoryFilterArgs( - period=tencentcloud.cos.BucketInventoryFilterPeriodArgs( - start_time="1687276800", - ), - ), - included_object_versions="Current", + info = tencentcloud.User.get_info() + app_id = info.app_id + # create cos + example_bucket = tencentcloud.cos.Bucket("exampleBucket", + bucket=f"private-bucket-{app_id}", + acl="private") + # create cos bucket inventory + example_bucket_inventory = tencentcloud.cos.BucketInventory("exampleBucketInventory", + bucket=example_bucket.id, is_enabled="true", + included_object_versions="Current", optional_fields=tencentcloud.cos.BucketInventoryOptionalFieldsArgs( fields=[ "Size", "ETag", ], ), + filter=tencentcloud.cos.BucketInventoryFilterArgs( + period=tencentcloud.cos.BucketInventoryFilterPeriodArgs( + start_time="1687276800", + ), + ), schedule=tencentcloud.cos.BucketInventoryScheduleArgs( - frequency="Weekly", + frequency="Daily", + ), + destination=tencentcloud.cos.BucketInventoryDestinationArgs( + bucket="qcs::cos:ap-guangzhou::private-bucket-1309118522", + format="CSV", + prefix="frontends", )) ``` ## Import - cos bucket_inventory can be imported using the id, e.g. + cos bucket inventory can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory bucket_inventory bucket_inventory_id + $ pulumi import tencentcloud:Cos/bucketInventory:BucketInventory example private-bucket-1309118522#tf-example ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_referer.py b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_referer.py index 27c04c895..fcfb59bfe 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/bucket_referer.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/bucket_referer.py @@ -197,6 +197,8 @@ def __init__(__self__, """ Provides a resource to create a cos bucket_referer + > **NOTE:** The current resource does not support cdc. + ## Example Usage @@ -241,6 +243,8 @@ def __init__(__self__, """ Provides a resource to create a cos bucket_referer + > **NOTE:** The current resource does not support cdc. + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/get_batchs.py b/sdk/python/tencentcloud_iac_pulumi/cos/get_batchs.py index 76e5b4406..3bf42087b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/get_batchs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/get_batchs.py @@ -101,6 +101,8 @@ def get_batchs(appid: Optional[int] = None, """ Use this data source to query the COS batch. + > **NOTE:** The current resource does not support `cos_domain`. + ## Example Usage @@ -145,6 +147,8 @@ def get_batchs_output(appid: Optional[pulumi.Input[int]] = None, """ Use this data source to query the COS batch. + > **NOTE:** The current resource does not support `cos_domain`. + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/get_bucket_inventorys.py b/sdk/python/tencentcloud_iac_pulumi/cos/get_bucket_inventorys.py index 0397129e7..749716055 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/get_bucket_inventorys.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/get_bucket_inventorys.py @@ -84,6 +84,8 @@ def get_bucket_inventorys(bucket: Optional[str] = None, """ Use this data source to query the COS bucket inventorys. + > **NOTE:** The current resource does not support cdc. + ## Example Usage @@ -119,6 +121,8 @@ def get_bucket_inventorys_output(bucket: Optional[pulumi.Input[str]] = None, """ Use this data source to query the COS bucket inventorys. + > **NOTE:** The current resource does not support cdc. + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/cos/object_restore_operation.py b/sdk/python/tencentcloud_iac_pulumi/cos/object_restore_operation.py index fd20d5cb3..18cb2a26a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cos/object_restore_operation.py +++ b/sdk/python/tencentcloud_iac_pulumi/cos/object_restore_operation.py @@ -192,6 +192,8 @@ def __init__(__self__, """ Provides a resource to restore object + > **NOTE:** The current resource does not support cdc. + ## Example Usage @@ -230,6 +232,8 @@ def __init__(__self__, """ Provides a resource to restore object + > **NOTE:** The current resource does not support cdc. + ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py index f8783c351..adf2727ca 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cvm/_inputs.py @@ -988,12 +988,15 @@ def __init__(__self__, *, """ :param pulumi.Input[str] zone: The available zone ID of the instance. :param pulumi.Input[Sequence[pulumi.Input[str]]] host_ids: The CDH ID list of the instance(input). - :param pulumi.Input[Sequence[pulumi.Input[str]]] host_ips: Specify the host machine ip. + :param pulumi.Input[Sequence[pulumi.Input[str]]] host_ips: It has been deprecated from version 1.81.108. Specify the host machine ip. :param pulumi.Input[int] project_id: The project ID of the instance. """ pulumi.set(__self__, "zone", zone) if host_ids is not None: pulumi.set(__self__, "host_ids", host_ids) + if host_ips is not None: + warnings.warn("""It has been deprecated from version 1.81.108.""", DeprecationWarning) + pulumi.log.warn("""host_ips is deprecated: It has been deprecated from version 1.81.108.""") if host_ips is not None: pulumi.set(__self__, "host_ips", host_ips) if project_id is not None: @@ -1027,8 +1030,11 @@ def host_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="hostIps") def host_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specify the host machine ip. + It has been deprecated from version 1.81.108. Specify the host machine ip. """ + warnings.warn("""It has been deprecated from version 1.81.108.""", DeprecationWarning) + pulumi.log.warn("""host_ips is deprecated: It has been deprecated from version 1.81.108.""") + return pulumi.get(self, "host_ips") @host_ips.setter diff --git a/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py index 24c47ba45..4c429f7f6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cvm/outputs.py @@ -1091,7 +1091,7 @@ def __init__(__self__, *, """ :param str zone: The available zone ID of the instance. :param Sequence[str] host_ids: The CDH ID list of the instance(input). - :param Sequence[str] host_ips: Specify the host machine ip. + :param Sequence[str] host_ips: It has been deprecated from version 1.81.108. Specify the host machine ip. :param int project_id: The project ID of the instance. """ pulumi.set(__self__, "zone", zone) @@ -1122,8 +1122,11 @@ def host_ids(self) -> Optional[Sequence[str]]: @pulumi.getter(name="hostIps") def host_ips(self) -> Optional[Sequence[str]]: """ - Specify the host machine ip. + It has been deprecated from version 1.81.108. Specify the host machine ip. """ + warnings.warn("""It has been deprecated from version 1.81.108.""", DeprecationWarning) + pulumi.log.warn("""host_ips is deprecated: It has been deprecated from version 1.81.108.""") + return pulumi.get(self, "host_ips") @property @@ -3208,7 +3211,7 @@ def __init__(__self__, *, """ :param str host_id: The ID of the CDH to which the instance belongs, only used as an output parameter. :param Sequence[str] host_ids: ID list of CDHs from which the instance can be created. If you have purchased CDHs and specify this parameter, the instances you purchase will be randomly deployed on the CDHs. - :param Sequence[str] host_ips: IPs of the hosts to create CVMs. + :param Sequence[str] host_ips: (**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs. :param int project_id: ID of the project to which the instance belongs. This parameter can be obtained from the projectId returned by DescribeProject. If this is left empty, the default project is used. :param str zone: ID of the availability zone where the instance resides. You can call the [DescribeZones](https://www.tencentcloud.com/document/product/213/35071) API and obtain the ID in the returned Zone field. """ @@ -3238,8 +3241,11 @@ def host_ids(self) -> Sequence[str]: @pulumi.getter(name="hostIps") def host_ips(self) -> Sequence[str]: """ - IPs of the hosts to create CVMs. + (**Deprecated**) It has been deprecated from version 1.81.108. IPs of the hosts to create CVMs. """ + warnings.warn("""It has been deprecated from version 1.81.108.""", DeprecationWarning) + pulumi.log.warn("""host_ips is deprecated: It has been deprecated from version 1.81.108.""") + return pulumi.get(self, "host_ips") @property diff --git a/sdk/python/tencentcloud_iac_pulumi/cynosdb/cluster.py b/sdk/python/tencentcloud_iac_pulumi/cynosdb/cluster.py index cf59d6535..b3095e0a6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cynosdb/cluster.py +++ b/sdk/python/tencentcloud_iac_pulumi/cynosdb/cluster.py @@ -38,6 +38,7 @@ def __init__(__self__, *, min_cpu: Optional[pulumi.Input[float]] = None, old_ip_reserve_hours: Optional[pulumi.Input[int]] = None, param_items: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]]] = None, + param_template_id: Optional[pulumi.Input[int]] = None, port: Optional[pulumi.Input[int]] = None, prarm_template_id: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, @@ -45,6 +46,7 @@ def __init__(__self__, *, ro_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, rw_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_status_flag: Optional[pulumi.Input[str]] = None, + slave_zone: Optional[pulumi.Input[str]] = None, storage_limit: Optional[pulumi.Input[int]] = None, storage_pay_mode: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None): @@ -53,7 +55,7 @@ def __init__(__self__, *, :param pulumi.Input[str] available_zone: The available zone of the CynosDB Cluster. :param pulumi.Input[str] cluster_name: Name of CynosDB cluster. :param pulumi.Input[str] db_type: Type of CynosDB, and available values include `MYSQL`. - :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. :param pulumi.Input[str] password: Password of `root` account. :param pulumi.Input[str] subnet_id: ID of the subnet within this VPC. :param pulumi.Input[str] vpc_id: ID of the VPC. @@ -71,14 +73,16 @@ def __init__(__self__, *, :param pulumi.Input[float] max_cpu: Maximum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[float] min_cpu: Minimum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[int] old_ip_reserve_hours: Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. - :param pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]] param_items: Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]] param_items: Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[int] param_template_id: The ID of the parameter template. :param pulumi.Input[int] port: Port of CynosDB cluster. - :param pulumi.Input[int] prarm_template_id: The ID of the parameter template. + :param pulumi.Input[int] prarm_template_id: It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[int] project_id: ID of the project. `0` by default. :param pulumi.Input[Sequence[pulumi.Input[str]]] ro_group_sgs: IDs of security group for `ro_group`. :param pulumi.Input[Sequence[pulumi.Input[str]]] rw_group_sgs: IDs of security group for `rw_group`. :param pulumi.Input[str] serverless_status_flag: Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. + :param pulumi.Input[str] slave_zone: Multi zone Addresses of the CynosDB Cluster. :param pulumi.Input[int] storage_limit: Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary. :param pulumi.Input[int] storage_pay_mode: Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. :param pulumi.Input[Mapping[str, Any]] tags: The tags of the CynosDB cluster. @@ -120,8 +124,13 @@ def __init__(__self__, *, pulumi.set(__self__, "old_ip_reserve_hours", old_ip_reserve_hours) if param_items is not None: pulumi.set(__self__, "param_items", param_items) + if param_template_id is not None: + pulumi.set(__self__, "param_template_id", param_template_id) if port is not None: pulumi.set(__self__, "port", port) + if prarm_template_id is not None: + warnings.warn("""It will be deprecated. Use `param_template_id` instead.""", DeprecationWarning) + pulumi.log.warn("""prarm_template_id is deprecated: It will be deprecated. Use `param_template_id` instead.""") if prarm_template_id is not None: pulumi.set(__self__, "prarm_template_id", prarm_template_id) if prepaid_period is not None: @@ -134,6 +143,8 @@ def __init__(__self__, *, pulumi.set(__self__, "rw_group_sgs", rw_group_sgs) if serverless_status_flag is not None: pulumi.set(__self__, "serverless_status_flag", serverless_status_flag) + if slave_zone is not None: + pulumi.set(__self__, "slave_zone", slave_zone) if storage_limit is not None: pulumi.set(__self__, "storage_limit", storage_limit) if storage_pay_mode is not None: @@ -181,7 +192,7 @@ def db_type(self, value: pulumi.Input[str]): @pulumi.getter(name="dbVersion") def db_version(self) -> pulumi.Input[str]: """ - Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. """ return pulumi.get(self, "db_version") @@ -397,7 +408,7 @@ def old_ip_reserve_hours(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="paramItems") def param_items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]]]: """ - Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. """ return pulumi.get(self, "param_items") @@ -405,6 +416,18 @@ def param_items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPar def param_items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]]]): pulumi.set(self, "param_items", value) + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> Optional[pulumi.Input[int]]: + """ + The ID of the parameter template. + """ + return pulumi.get(self, "param_template_id") + + @param_template_id.setter + def param_template_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "param_template_id", value) + @property @pulumi.getter def port(self) -> Optional[pulumi.Input[int]]: @@ -421,8 +444,11 @@ def port(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="prarmTemplateId") def prarm_template_id(self) -> Optional[pulumi.Input[int]]: """ - The ID of the parameter template. + It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. """ + warnings.warn("""It will be deprecated. Use `param_template_id` instead.""", DeprecationWarning) + pulumi.log.warn("""prarm_template_id is deprecated: It will be deprecated. Use `param_template_id` instead.""") + return pulumi.get(self, "prarm_template_id") @prarm_template_id.setter @@ -489,6 +515,18 @@ def serverless_status_flag(self) -> Optional[pulumi.Input[str]]: def serverless_status_flag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "serverless_status_flag", value) + @property + @pulumi.getter(name="slaveZone") + def slave_zone(self) -> Optional[pulumi.Input[str]]: + """ + Multi zone Addresses of the CynosDB Cluster. + """ + return pulumi.get(self, "slave_zone") + + @slave_zone.setter + def slave_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "slave_zone", value) + @property @pulumi.getter(name="storageLimit") def storage_limit(self) -> Optional[pulumi.Input[int]]: @@ -555,6 +593,7 @@ def __init__(__self__, *, min_cpu: Optional[pulumi.Input[float]] = None, old_ip_reserve_hours: Optional[pulumi.Input[int]] = None, param_items: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]]] = None, + param_template_id: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prarm_template_id: Optional[pulumi.Input[int]] = None, @@ -570,6 +609,7 @@ def __init__(__self__, *, rw_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_status: Optional[pulumi.Input[str]] = None, serverless_status_flag: Optional[pulumi.Input[str]] = None, + slave_zone: Optional[pulumi.Input[str]] = None, storage_limit: Optional[pulumi.Input[int]] = None, storage_pay_mode: Optional[pulumi.Input[int]] = None, storage_used: Optional[pulumi.Input[int]] = None, @@ -589,7 +629,7 @@ def __init__(__self__, *, :param pulumi.Input[str] create_time: Creation time of the CynosDB cluster. :param pulumi.Input[str] db_mode: Specify DB mode, only available when `db_type` is `MYSQL`. Values: `NORMAL` (Default), `SERVERLESS`. :param pulumi.Input[str] db_type: Type of CynosDB, and available values include `MYSQL`. - :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. :param pulumi.Input[bool] force_delete: Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. :param pulumi.Input[int] instance_cpu_core: The number of CPU cores of read-write type instance in the CynosDB cluster. Required while creating normal cluster. Note: modification of this field will take effect immediately, if want to upgrade on maintenance window, please upgrade from console. :param pulumi.Input[str] instance_id: ID of instance. @@ -603,10 +643,11 @@ def __init__(__self__, *, :param pulumi.Input[float] max_cpu: Maximum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[float] min_cpu: Minimum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[int] old_ip_reserve_hours: Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. - :param pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]] param_items: Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]] param_items: Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[int] param_template_id: The ID of the parameter template. :param pulumi.Input[str] password: Password of `root` account. :param pulumi.Input[int] port: Port of CynosDB cluster. - :param pulumi.Input[int] prarm_template_id: The ID of the parameter template. + :param pulumi.Input[int] prarm_template_id: It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[int] project_id: ID of the project. `0` by default. :param pulumi.Input[Sequence[pulumi.Input['ClusterRoGroupAddrArgs']]] ro_group_addrs: Readonly addresses. Each element contains the following attributes: @@ -619,6 +660,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] rw_group_sgs: IDs of security group for `rw_group`. :param pulumi.Input[str] serverless_status: Serverless cluster status. NOTE: This is a readonly attribute, to modify, please set `serverless_status_flag`. :param pulumi.Input[str] serverless_status_flag: Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. + :param pulumi.Input[str] slave_zone: Multi zone Addresses of the CynosDB Cluster. :param pulumi.Input[int] storage_limit: Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary. :param pulumi.Input[int] storage_pay_mode: Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. :param pulumi.Input[int] storage_used: Used storage of CynosDB cluster, unit in MB. @@ -678,10 +720,15 @@ def __init__(__self__, *, pulumi.set(__self__, "old_ip_reserve_hours", old_ip_reserve_hours) if param_items is not None: pulumi.set(__self__, "param_items", param_items) + if param_template_id is not None: + pulumi.set(__self__, "param_template_id", param_template_id) if password is not None: pulumi.set(__self__, "password", password) if port is not None: pulumi.set(__self__, "port", port) + if prarm_template_id is not None: + warnings.warn("""It will be deprecated. Use `param_template_id` instead.""", DeprecationWarning) + pulumi.log.warn("""prarm_template_id is deprecated: It will be deprecated. Use `param_template_id` instead.""") if prarm_template_id is not None: pulumi.set(__self__, "prarm_template_id", prarm_template_id) if prepaid_period is not None: @@ -708,6 +755,8 @@ def __init__(__self__, *, pulumi.set(__self__, "serverless_status", serverless_status) if serverless_status_flag is not None: pulumi.set(__self__, "serverless_status_flag", serverless_status_flag) + if slave_zone is not None: + pulumi.set(__self__, "slave_zone", slave_zone) if storage_limit is not None: pulumi.set(__self__, "storage_limit", storage_limit) if storage_pay_mode is not None: @@ -857,7 +906,7 @@ def db_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbVersion") def db_version(self) -> Optional[pulumi.Input[str]]: """ - Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. """ return pulumi.get(self, "db_version") @@ -1025,7 +1074,7 @@ def old_ip_reserve_hours(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="paramItems") def param_items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]]]: """ - Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. """ return pulumi.get(self, "param_items") @@ -1033,6 +1082,18 @@ def param_items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPar def param_items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterParamItemArgs']]]]): pulumi.set(self, "param_items", value) + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> Optional[pulumi.Input[int]]: + """ + The ID of the parameter template. + """ + return pulumi.get(self, "param_template_id") + + @param_template_id.setter + def param_template_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "param_template_id", value) + @property @pulumi.getter def password(self) -> Optional[pulumi.Input[str]]: @@ -1061,8 +1122,11 @@ def port(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="prarmTemplateId") def prarm_template_id(self) -> Optional[pulumi.Input[int]]: """ - The ID of the parameter template. + It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. """ + warnings.warn("""It will be deprecated. Use `param_template_id` instead.""", DeprecationWarning) + pulumi.log.warn("""prarm_template_id is deprecated: It will be deprecated. Use `param_template_id` instead.""") + return pulumi.get(self, "prarm_template_id") @prarm_template_id.setter @@ -1213,6 +1277,18 @@ def serverless_status_flag(self) -> Optional[pulumi.Input[str]]: def serverless_status_flag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "serverless_status_flag", value) + @property + @pulumi.getter(name="slaveZone") + def slave_zone(self) -> Optional[pulumi.Input[str]]: + """ + Multi zone Addresses of the CynosDB Cluster. + """ + return pulumi.get(self, "slave_zone") + + @slave_zone.setter + def slave_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "slave_zone", value) + @property @pulumi.getter(name="storageLimit") def storage_limit(self) -> Optional[pulumi.Input[int]]: @@ -1310,6 +1386,7 @@ def __init__(__self__, min_cpu: Optional[pulumi.Input[float]] = None, old_ip_reserve_hours: Optional[pulumi.Input[int]] = None, param_items: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParamItemArgs']]]]] = None, + param_template_id: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prarm_template_id: Optional[pulumi.Input[int]] = None, @@ -1318,6 +1395,7 @@ def __init__(__self__, ro_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, rw_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_status_flag: Optional[pulumi.Input[str]] = None, + slave_zone: Optional[pulumi.Input[str]] = None, storage_limit: Optional[pulumi.Input[int]] = None, storage_pay_mode: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -1327,12 +1405,159 @@ def __init__(__self__, """ Provide a resource to create a CynosDB cluster. + ## Example Usage + + ### Create a single availability zone NORMAL CynosDB cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create cynosdb cluster + example_cluster = tencentcloud.cynosdb.Cluster("exampleCluster", + available_zone=availability_zone, + vpc_id=vpc.id, + subnet_id=subnet.id, + db_mode="NORMAL", + db_type="MYSQL", + db_version="5.7", + port=3306, + storage_limit=1000, + cluster_name="tf-example", + password="cynosDB@123", + instance_maintain_duration=7200, + instance_maintain_start_time=10800, + instance_cpu_core=2, + instance_memory_size=4, + force_delete=False, + instance_maintain_weekdays=[ + "Fri", + "Mon", + "Sat", + "Sun", + "Thu", + "Wed", + "Tue", + ], + param_items=[ + tencentcloud.cynosdb.ClusterParamItemArgs( + name="character_set_server", + current_value="utf8mb4", + ), + tencentcloud.cynosdb.ClusterParamItemArgs( + name="lower_case_table_names", + current_value="0", + ), + ], + rw_group_sgs=[example_group.id], + ro_group_sgs=[example_group.id], + tags={ + "createBy": "terraform", + }) + ``` + + + ### Create a multiple availability zone SERVERLESS CynosDB cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + slave_zone = config.get("slaveZone") + if slave_zone is None: + slave_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create param template + example_param_template = tencentcloud.cynosdb.ParamTemplate("exampleParamTemplate", + db_mode="SERVERLESS", + engine_version="8.0", + template_name="tf-example", + template_description="terraform-template", + param_lists=[tencentcloud.cynosdb.ParamTemplateParamListArgs( + current_value="-1", + param_name="optimizer_trace_offset", + )]) + # create cynosdb cluster + example_cluster = tencentcloud.cynosdb.Cluster("exampleCluster", + available_zone=availability_zone, + slave_zone=slave_zone, + vpc_id=vpc.id, + subnet_id=subnet.id, + db_mode="SERVERLESS", + db_type="MYSQL", + db_version="8.0", + port=3306, + storage_limit=1000, + cluster_name="tf-example", + password="cynosDB@123", + instance_maintain_duration=7200, + instance_maintain_start_time=10800, + min_cpu=2, + max_cpu=4, + param_template_id=example_param_template.template_id, + force_delete=False, + instance_maintain_weekdays=[ + "Fri", + "Mon", + "Sat", + "Sun", + "Thu", + "Wed", + "Tue", + ], + rw_group_sgs=[example_group.id], + ro_group_sgs=[example_group.id], + tags={ + "createBy": "terraform", + }) + ``` + + ## Import CynosDB cluster can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cynosdb/cluster:Cluster foo cynosdbmysql-dzj5l8gz + $ pulumi import tencentcloud:Cynosdb/cluster:Cluster example cynosdbmysql-dzj5l8gz ``` :param str resource_name: The name of the resource. @@ -1345,7 +1570,7 @@ def __init__(__self__, :param pulumi.Input[str] cluster_name: Name of CynosDB cluster. :param pulumi.Input[str] db_mode: Specify DB mode, only available when `db_type` is `MYSQL`. Values: `NORMAL` (Default), `SERVERLESS`. :param pulumi.Input[str] db_type: Type of CynosDB, and available values include `MYSQL`. - :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. :param pulumi.Input[bool] force_delete: Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. :param pulumi.Input[int] instance_cpu_core: The number of CPU cores of read-write type instance in the CynosDB cluster. Required while creating normal cluster. Note: modification of this field will take effect immediately, if want to upgrade on maintenance window, please upgrade from console. :param pulumi.Input[int] instance_maintain_duration: Duration time for maintenance, unit in second. `3600` by default. @@ -1355,15 +1580,17 @@ def __init__(__self__, :param pulumi.Input[float] max_cpu: Maximum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[float] min_cpu: Minimum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[int] old_ip_reserve_hours: Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParamItemArgs']]]] param_items: Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParamItemArgs']]]] param_items: Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[int] param_template_id: The ID of the parameter template. :param pulumi.Input[str] password: Password of `root` account. :param pulumi.Input[int] port: Port of CynosDB cluster. - :param pulumi.Input[int] prarm_template_id: The ID of the parameter template. + :param pulumi.Input[int] prarm_template_id: It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[int] project_id: ID of the project. `0` by default. :param pulumi.Input[Sequence[pulumi.Input[str]]] ro_group_sgs: IDs of security group for `ro_group`. :param pulumi.Input[Sequence[pulumi.Input[str]]] rw_group_sgs: IDs of security group for `rw_group`. :param pulumi.Input[str] serverless_status_flag: Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. + :param pulumi.Input[str] slave_zone: Multi zone Addresses of the CynosDB Cluster. :param pulumi.Input[int] storage_limit: Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary. :param pulumi.Input[int] storage_pay_mode: Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. :param pulumi.Input[str] subnet_id: ID of the subnet within this VPC. @@ -1379,12 +1606,159 @@ def __init__(__self__, """ Provide a resource to create a CynosDB cluster. + ## Example Usage + + ### Create a single availability zone NORMAL CynosDB cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create cynosdb cluster + example_cluster = tencentcloud.cynosdb.Cluster("exampleCluster", + available_zone=availability_zone, + vpc_id=vpc.id, + subnet_id=subnet.id, + db_mode="NORMAL", + db_type="MYSQL", + db_version="5.7", + port=3306, + storage_limit=1000, + cluster_name="tf-example", + password="cynosDB@123", + instance_maintain_duration=7200, + instance_maintain_start_time=10800, + instance_cpu_core=2, + instance_memory_size=4, + force_delete=False, + instance_maintain_weekdays=[ + "Fri", + "Mon", + "Sat", + "Sun", + "Thu", + "Wed", + "Tue", + ], + param_items=[ + tencentcloud.cynosdb.ClusterParamItemArgs( + name="character_set_server", + current_value="utf8mb4", + ), + tencentcloud.cynosdb.ClusterParamItemArgs( + name="lower_case_table_names", + current_value="0", + ), + ], + rw_group_sgs=[example_group.id], + ro_group_sgs=[example_group.id], + tags={ + "createBy": "terraform", + }) + ``` + + + ### Create a multiple availability zone SERVERLESS CynosDB cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + slave_zone = config.get("slaveZone") + if slave_zone is None: + slave_zone = "ap-guangzhou-6" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "example": "test", + }) + # create param template + example_param_template = tencentcloud.cynosdb.ParamTemplate("exampleParamTemplate", + db_mode="SERVERLESS", + engine_version="8.0", + template_name="tf-example", + template_description="terraform-template", + param_lists=[tencentcloud.cynosdb.ParamTemplateParamListArgs( + current_value="-1", + param_name="optimizer_trace_offset", + )]) + # create cynosdb cluster + example_cluster = tencentcloud.cynosdb.Cluster("exampleCluster", + available_zone=availability_zone, + slave_zone=slave_zone, + vpc_id=vpc.id, + subnet_id=subnet.id, + db_mode="SERVERLESS", + db_type="MYSQL", + db_version="8.0", + port=3306, + storage_limit=1000, + cluster_name="tf-example", + password="cynosDB@123", + instance_maintain_duration=7200, + instance_maintain_start_time=10800, + min_cpu=2, + max_cpu=4, + param_template_id=example_param_template.template_id, + force_delete=False, + instance_maintain_weekdays=[ + "Fri", + "Mon", + "Sat", + "Sun", + "Thu", + "Wed", + "Tue", + ], + rw_group_sgs=[example_group.id], + ro_group_sgs=[example_group.id], + tags={ + "createBy": "terraform", + }) + ``` + + ## Import CynosDB cluster can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Cynosdb/cluster:Cluster foo cynosdbmysql-dzj5l8gz + $ pulumi import tencentcloud:Cynosdb/cluster:Cluster example cynosdbmysql-dzj5l8gz ``` :param str resource_name: The name of the resource. @@ -1421,6 +1795,7 @@ def _internal_init(__self__, min_cpu: Optional[pulumi.Input[float]] = None, old_ip_reserve_hours: Optional[pulumi.Input[int]] = None, param_items: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParamItemArgs']]]]] = None, + param_template_id: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prarm_template_id: Optional[pulumi.Input[int]] = None, @@ -1429,6 +1804,7 @@ def _internal_init(__self__, ro_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, rw_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_status_flag: Optional[pulumi.Input[str]] = None, + slave_zone: Optional[pulumi.Input[str]] = None, storage_limit: Optional[pulumi.Input[int]] = None, storage_pay_mode: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -1470,6 +1846,7 @@ def _internal_init(__self__, __props__.__dict__["min_cpu"] = min_cpu __props__.__dict__["old_ip_reserve_hours"] = old_ip_reserve_hours __props__.__dict__["param_items"] = param_items + __props__.__dict__["param_template_id"] = param_template_id if password is None and not opts.urn: raise TypeError("Missing required property 'password'") __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) @@ -1480,6 +1857,7 @@ def _internal_init(__self__, __props__.__dict__["ro_group_sgs"] = ro_group_sgs __props__.__dict__["rw_group_sgs"] = rw_group_sgs __props__.__dict__["serverless_status_flag"] = serverless_status_flag + __props__.__dict__["slave_zone"] = slave_zone __props__.__dict__["storage_limit"] = storage_limit __props__.__dict__["storage_pay_mode"] = storage_pay_mode if subnet_id is None and not opts.urn: @@ -1542,6 +1920,7 @@ def get(resource_name: str, min_cpu: Optional[pulumi.Input[float]] = None, old_ip_reserve_hours: Optional[pulumi.Input[int]] = None, param_items: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParamItemArgs']]]]] = None, + param_template_id: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prarm_template_id: Optional[pulumi.Input[int]] = None, @@ -1557,6 +1936,7 @@ def get(resource_name: str, rw_group_sgs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_status: Optional[pulumi.Input[str]] = None, serverless_status_flag: Optional[pulumi.Input[str]] = None, + slave_zone: Optional[pulumi.Input[str]] = None, storage_limit: Optional[pulumi.Input[int]] = None, storage_pay_mode: Optional[pulumi.Input[int]] = None, storage_used: Optional[pulumi.Input[int]] = None, @@ -1581,7 +1961,7 @@ def get(resource_name: str, :param pulumi.Input[str] create_time: Creation time of the CynosDB cluster. :param pulumi.Input[str] db_mode: Specify DB mode, only available when `db_type` is `MYSQL`. Values: `NORMAL` (Default), `SERVERLESS`. :param pulumi.Input[str] db_type: Type of CynosDB, and available values include `MYSQL`. - :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + :param pulumi.Input[str] db_version: Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. :param pulumi.Input[bool] force_delete: Indicate whether to delete cluster instance directly or not. Default is false. If set true, the cluster and its `All RELATED INSTANCES` will be deleted instead of staying recycle bin. Note: works for both `PREPAID` and `POSTPAID_BY_HOUR` cluster. :param pulumi.Input[int] instance_cpu_core: The number of CPU cores of read-write type instance in the CynosDB cluster. Required while creating normal cluster. Note: modification of this field will take effect immediately, if want to upgrade on maintenance window, please upgrade from console. :param pulumi.Input[str] instance_id: ID of instance. @@ -1595,10 +1975,11 @@ def get(resource_name: str, :param pulumi.Input[float] max_cpu: Maximum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[float] min_cpu: Minimum CPU core count, required while `db_mode` is `SERVERLESS`, request DescribeServerlessInstanceSpecs for more reference. :param pulumi.Input[int] old_ip_reserve_hours: Recycling time of the old address, must be filled in when modifying the vpcRecycling time of the old address, must be filled in when modifying the vpc. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParamItemArgs']]]] param_items: Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParamItemArgs']]]] param_items: Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + :param pulumi.Input[int] param_template_id: The ID of the parameter template. :param pulumi.Input[str] password: Password of `root` account. :param pulumi.Input[int] port: Port of CynosDB cluster. - :param pulumi.Input[int] prarm_template_id: The ID of the parameter template. + :param pulumi.Input[int] prarm_template_id: It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[int] project_id: ID of the project. `0` by default. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterRoGroupAddrArgs']]]] ro_group_addrs: Readonly addresses. Each element contains the following attributes: @@ -1611,6 +1992,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] rw_group_sgs: IDs of security group for `rw_group`. :param pulumi.Input[str] serverless_status: Serverless cluster status. NOTE: This is a readonly attribute, to modify, please set `serverless_status_flag`. :param pulumi.Input[str] serverless_status_flag: Specify whether to pause or resume serverless cluster. values: `resume`, `pause`. + :param pulumi.Input[str] slave_zone: Multi zone Addresses of the CynosDB Cluster. :param pulumi.Input[int] storage_limit: Storage limit of CynosDB cluster instance, unit in GB. The maximum storage of a non-serverless instance in GB. NOTE: If db_type is `MYSQL` and charge_type is `PREPAID`, the value cannot exceed the maximum storage corresponding to the CPU and memory specifications, and the transaction mode is `order and pay`. when charge_type is `POSTPAID_BY_HOUR`, this argument is unnecessary. :param pulumi.Input[int] storage_pay_mode: Cluster storage billing mode, pay-as-you-go: `0`-yearly/monthly: `1`-The default is pay-as-you-go. When the DbType is MYSQL, when the cluster computing billing mode is post-paid (including DbMode is SERVERLESS), the storage billing mode can only be billing by volume; rollback and cloning do not support yearly subscriptions monthly storage. :param pulumi.Input[int] storage_used: Used storage of CynosDB cluster, unit in MB. @@ -1648,6 +2030,7 @@ def get(resource_name: str, __props__.__dict__["min_cpu"] = min_cpu __props__.__dict__["old_ip_reserve_hours"] = old_ip_reserve_hours __props__.__dict__["param_items"] = param_items + __props__.__dict__["param_template_id"] = param_template_id __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["prarm_template_id"] = prarm_template_id @@ -1663,6 +2046,7 @@ def get(resource_name: str, __props__.__dict__["rw_group_sgs"] = rw_group_sgs __props__.__dict__["serverless_status"] = serverless_status __props__.__dict__["serverless_status_flag"] = serverless_status_flag + __props__.__dict__["slave_zone"] = slave_zone __props__.__dict__["storage_limit"] = storage_limit __props__.__dict__["storage_pay_mode"] = storage_pay_mode __props__.__dict__["storage_used"] = storage_used @@ -1763,7 +2147,7 @@ def db_type(self) -> pulumi.Output[str]: @pulumi.getter(name="dbVersion") def db_version(self) -> pulumi.Output[str]: """ - Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`. + Version of CynosDB, which is related to `db_type`. For `MYSQL`, available value is `5.7`, `8.0`. """ return pulumi.get(self, "db_version") @@ -1875,10 +2259,18 @@ def old_ip_reserve_hours(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="paramItems") def param_items(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterParamItem']]]: """ - Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. + Specify parameter list of database. It is valid when `param_template_id` is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details. """ return pulumi.get(self, "param_items") + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> pulumi.Output[int]: + """ + The ID of the parameter template. + """ + return pulumi.get(self, "param_template_id") + @property @pulumi.getter def password(self) -> pulumi.Output[str]: @@ -1899,8 +2291,11 @@ def port(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="prarmTemplateId") def prarm_template_id(self) -> pulumi.Output[int]: """ - The ID of the parameter template. + It will be deprecated. Use `param_template_id` instead. The ID of the parameter template. """ + warnings.warn("""It will be deprecated. Use `param_template_id` instead.""", DeprecationWarning) + pulumi.log.warn("""prarm_template_id is deprecated: It will be deprecated. Use `param_template_id` instead.""") + return pulumi.get(self, "prarm_template_id") @property @@ -1999,6 +2394,14 @@ def serverless_status_flag(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "serverless_status_flag") + @property + @pulumi.getter(name="slaveZone") + def slave_zone(self) -> pulumi.Output[Optional[str]]: + """ + Multi zone Addresses of the CynosDB Cluster. + """ + return pulumi.get(self, "slave_zone") + @property @pulumi.getter(name="storageLimit") def storage_limit(self) -> pulumi.Output[Optional[int]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/dasb/user.py b/sdk/python/tencentcloud_iac_pulumi/dasb/user.py index 43936d1d7..d764ad8ee 100644 --- a/sdk/python/tencentcloud_iac_pulumi/dasb/user.py +++ b/sdk/python/tencentcloud_iac_pulumi/dasb/user.py @@ -30,9 +30,9 @@ def __init__(__self__, *, :param pulumi.Input[str] user_name: Username, 3-20 characters, must start with an English letter and cannot contain characters other than letters, numbers, '.', '_', '-'. :param pulumi.Input[int] auth_type: Authentication method, 0 - local, 1 - LDAP, 2 - OAuth. If not passed, the default is 0. :param pulumi.Input[str] department_id: Department ID, such as: 1.2.3. - :param pulumi.Input[str] email: Email. + :param pulumi.Input[str] email: Email. Please provide at least one of `phone` or `email`. :param pulumi.Input[Sequence[pulumi.Input[int]]] group_id_sets: The set of user group IDs to which it belongs. - :param pulumi.Input[str] phone: Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + :param pulumi.Input[str] phone: Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. :param pulumi.Input[str] validate_from: User effective time, such as: 2021-09-22T00:00:00+00:00If the effective and expiry time are not filled in, the user will be valid for a long time. :param pulumi.Input[str] validate_time: Access time period limit, a string composed of 0 and 1, length 168 (7 * 24), representing the time period the user is allowed to access in a week. The Nth character in the string represents the Nth hour of the week, 0 - means access is not allowed, 1 - means access is allowed. :param pulumi.Input[str] validate_to: User expiration time, such as: 2021-09-23T00:00:00+00:00If the effective and expiry time are not filled in, the user will be valid for a long time. @@ -108,7 +108,7 @@ def department_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def email(self) -> Optional[pulumi.Input[str]]: """ - Email. + Email. Please provide at least one of `phone` or `email`. """ return pulumi.get(self, "email") @@ -132,7 +132,7 @@ def group_id_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]] @pulumi.getter def phone(self) -> Optional[pulumi.Input[str]]: """ - Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. """ return pulumi.get(self, "phone") @@ -194,9 +194,9 @@ def __init__(__self__, *, Input properties used for looking up and filtering User resources. :param pulumi.Input[int] auth_type: Authentication method, 0 - local, 1 - LDAP, 2 - OAuth. If not passed, the default is 0. :param pulumi.Input[str] department_id: Department ID, such as: 1.2.3. - :param pulumi.Input[str] email: Email. + :param pulumi.Input[str] email: Email. Please provide at least one of `phone` or `email`. :param pulumi.Input[Sequence[pulumi.Input[int]]] group_id_sets: The set of user group IDs to which it belongs. - :param pulumi.Input[str] phone: Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + :param pulumi.Input[str] phone: Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. :param pulumi.Input[str] real_name: Real name, maximum length 20 characters, cannot contain blank characters. :param pulumi.Input[str] user_name: Username, 3-20 characters, must start with an English letter and cannot contain characters other than letters, numbers, '.', '_', '-'. :param pulumi.Input[str] validate_from: User effective time, such as: 2021-09-22T00:00:00+00:00If the effective and expiry time are not filled in, the user will be valid for a long time. @@ -252,7 +252,7 @@ def department_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def email(self) -> Optional[pulumi.Input[str]]: """ - Email. + Email. Please provide at least one of `phone` or `email`. """ return pulumi.get(self, "email") @@ -276,7 +276,7 @@ def group_id_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]] @pulumi.getter def phone(self) -> Optional[pulumi.Input[str]]: """ - Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. """ return pulumi.get(self, "phone") @@ -395,9 +395,9 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] auth_type: Authentication method, 0 - local, 1 - LDAP, 2 - OAuth. If not passed, the default is 0. :param pulumi.Input[str] department_id: Department ID, such as: 1.2.3. - :param pulumi.Input[str] email: Email. + :param pulumi.Input[str] email: Email. Please provide at least one of `phone` or `email`. :param pulumi.Input[Sequence[pulumi.Input[int]]] group_id_sets: The set of user group IDs to which it belongs. - :param pulumi.Input[str] phone: Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + :param pulumi.Input[str] phone: Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. :param pulumi.Input[str] real_name: Real name, maximum length 20 characters, cannot contain blank characters. :param pulumi.Input[str] user_name: Username, 3-20 characters, must start with an English letter and cannot contain characters other than letters, numbers, '.', '_', '-'. :param pulumi.Input[str] validate_from: User effective time, such as: 2021-09-22T00:00:00+00:00If the effective and expiry time are not filled in, the user will be valid for a long time. @@ -517,9 +517,9 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] auth_type: Authentication method, 0 - local, 1 - LDAP, 2 - OAuth. If not passed, the default is 0. :param pulumi.Input[str] department_id: Department ID, such as: 1.2.3. - :param pulumi.Input[str] email: Email. + :param pulumi.Input[str] email: Email. Please provide at least one of `phone` or `email`. :param pulumi.Input[Sequence[pulumi.Input[int]]] group_id_sets: The set of user group IDs to which it belongs. - :param pulumi.Input[str] phone: Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + :param pulumi.Input[str] phone: Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. :param pulumi.Input[str] real_name: Real name, maximum length 20 characters, cannot contain blank characters. :param pulumi.Input[str] user_name: Username, 3-20 characters, must start with an English letter and cannot contain characters other than letters, numbers, '.', '_', '-'. :param pulumi.Input[str] validate_from: User effective time, such as: 2021-09-22T00:00:00+00:00If the effective and expiry time are not filled in, the user will be valid for a long time. @@ -562,7 +562,7 @@ def department_id(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def email(self) -> pulumi.Output[Optional[str]]: """ - Email. + Email. Please provide at least one of `phone` or `email`. """ return pulumi.get(self, "email") @@ -578,7 +578,7 @@ def group_id_sets(self) -> pulumi.Output[Sequence[int]]: @pulumi.getter def phone(self) -> pulumi.Output[Optional[str]]: """ - Fill in the mainland mobile phone number directly. If it is a number from other countries or regions, enter it in the format of country area code|mobile phone number. For example: +852|xxxxxxxx. + Enter it in the format of country area code|mobile phone number. For example: +86|***********, +852|xxxxxxxx. Please provide at least one of `phone` or `email`. """ return pulumi.get(self, "phone") diff --git a/sdk/python/tencentcloud_iac_pulumi/eip/instance.py b/sdk/python/tencentcloud_iac_pulumi/eip/instance.py index 6b6ea15ed..dde78d557 100644 --- a/sdk/python/tencentcloud_iac_pulumi/eip/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/eip/instance.py @@ -19,6 +19,7 @@ def __init__(__self__, *, applicable_for_clb: Optional[pulumi.Input[bool]] = None, auto_renew_flag: Optional[pulumi.Input[int]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, egress: Optional[pulumi.Input[str]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, internet_max_bandwidth_out: Optional[pulumi.Input[int]] = None, @@ -34,6 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] applicable_for_clb: It has been deprecated from version 1.27.0. Indicates whether the anycast eip can be associated to a CLB. :param pulumi.Input[int] auto_renew_flag: Auto renew flag. 0 - default state (manual renew); 1 - automatic renew; 2 - explicit no automatic renew. NOTES: Only supported prepaid EIP. :param pulumi.Input[str] bandwidth_package_id: ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`. + :param pulumi.Input[str] cdc_id: CDC Unique ID. :param pulumi.Input[str] egress: Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). :param pulumi.Input[str] internet_charge_type: The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. :param pulumi.Input[int] internet_max_bandwidth_out: The bandwidth limit of EIP, unit is Mbps. @@ -56,6 +58,8 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_renew_flag", auto_renew_flag) if bandwidth_package_id is not None: pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if egress is not None: pulumi.set(__self__, "egress", egress) if internet_charge_type is not None: @@ -136,6 +140,18 @@ def bandwidth_package_id(self) -> Optional[pulumi.Input[str]]: def bandwidth_package_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "bandwidth_package_id", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC Unique ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter def egress(self) -> Optional[pulumi.Input[str]]: @@ -241,6 +257,7 @@ def __init__(__self__, *, applicable_for_clb: Optional[pulumi.Input[bool]] = None, auto_renew_flag: Optional[pulumi.Input[int]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, egress: Optional[pulumi.Input[str]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, internet_max_bandwidth_out: Optional[pulumi.Input[int]] = None, @@ -258,6 +275,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] applicable_for_clb: It has been deprecated from version 1.27.0. Indicates whether the anycast eip can be associated to a CLB. :param pulumi.Input[int] auto_renew_flag: Auto renew flag. 0 - default state (manual renew); 1 - automatic renew; 2 - explicit no automatic renew. NOTES: Only supported prepaid EIP. :param pulumi.Input[str] bandwidth_package_id: ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`. + :param pulumi.Input[str] cdc_id: CDC Unique ID. :param pulumi.Input[str] egress: Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). :param pulumi.Input[str] internet_charge_type: The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. :param pulumi.Input[int] internet_max_bandwidth_out: The bandwidth limit of EIP, unit is Mbps. @@ -282,6 +300,8 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_renew_flag", auto_renew_flag) if bandwidth_package_id is not None: pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if egress is not None: pulumi.set(__self__, "egress", egress) if internet_charge_type is not None: @@ -366,6 +386,18 @@ def bandwidth_package_id(self) -> Optional[pulumi.Input[str]]: def bandwidth_package_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "bandwidth_package_id", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC Unique ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter def egress(self) -> Optional[pulumi.Input[str]]: @@ -497,6 +529,7 @@ def __init__(__self__, applicable_for_clb: Optional[pulumi.Input[bool]] = None, auto_renew_flag: Optional[pulumi.Input[int]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, egress: Optional[pulumi.Input[str]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, internet_max_bandwidth_out: Optional[pulumi.Input[int]] = None, @@ -574,6 +607,7 @@ def __init__(__self__, :param pulumi.Input[bool] applicable_for_clb: It has been deprecated from version 1.27.0. Indicates whether the anycast eip can be associated to a CLB. :param pulumi.Input[int] auto_renew_flag: Auto renew flag. 0 - default state (manual renew); 1 - automatic renew; 2 - explicit no automatic renew. NOTES: Only supported prepaid EIP. :param pulumi.Input[str] bandwidth_package_id: ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`. + :param pulumi.Input[str] cdc_id: CDC Unique ID. :param pulumi.Input[str] egress: Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). :param pulumi.Input[str] internet_charge_type: The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. :param pulumi.Input[int] internet_max_bandwidth_out: The bandwidth limit of EIP, unit is Mbps. @@ -670,6 +704,7 @@ def _internal_init(__self__, applicable_for_clb: Optional[pulumi.Input[bool]] = None, auto_renew_flag: Optional[pulumi.Input[int]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, egress: Optional[pulumi.Input[str]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, internet_max_bandwidth_out: Optional[pulumi.Input[int]] = None, @@ -692,6 +727,7 @@ def _internal_init(__self__, __props__.__dict__["applicable_for_clb"] = applicable_for_clb __props__.__dict__["auto_renew_flag"] = auto_renew_flag __props__.__dict__["bandwidth_package_id"] = bandwidth_package_id + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["egress"] = egress __props__.__dict__["internet_charge_type"] = internet_charge_type __props__.__dict__["internet_max_bandwidth_out"] = internet_max_bandwidth_out @@ -717,6 +753,7 @@ def get(resource_name: str, applicable_for_clb: Optional[pulumi.Input[bool]] = None, auto_renew_flag: Optional[pulumi.Input[int]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, egress: Optional[pulumi.Input[str]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, internet_max_bandwidth_out: Optional[pulumi.Input[int]] = None, @@ -739,6 +776,7 @@ def get(resource_name: str, :param pulumi.Input[bool] applicable_for_clb: It has been deprecated from version 1.27.0. Indicates whether the anycast eip can be associated to a CLB. :param pulumi.Input[int] auto_renew_flag: Auto renew flag. 0 - default state (manual renew); 1 - automatic renew; 2 - explicit no automatic renew. NOTES: Only supported prepaid EIP. :param pulumi.Input[str] bandwidth_package_id: ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`. + :param pulumi.Input[str] cdc_id: CDC Unique ID. :param pulumi.Input[str] egress: Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). :param pulumi.Input[str] internet_charge_type: The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. :param pulumi.Input[int] internet_max_bandwidth_out: The bandwidth limit of EIP, unit is Mbps. @@ -759,6 +797,7 @@ def get(resource_name: str, __props__.__dict__["applicable_for_clb"] = applicable_for_clb __props__.__dict__["auto_renew_flag"] = auto_renew_flag __props__.__dict__["bandwidth_package_id"] = bandwidth_package_id + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["egress"] = egress __props__.__dict__["internet_charge_type"] = internet_charge_type __props__.__dict__["internet_max_bandwidth_out"] = internet_max_bandwidth_out @@ -814,6 +853,14 @@ def bandwidth_package_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "bandwidth_package_id") + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> pulumi.Output[Optional[str]]: + """ + CDC Unique ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter def egress(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/elasticsearch/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/elasticsearch/_inputs.py index 9216ac3cc..fa132185c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/elasticsearch/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/elasticsearch/_inputs.py @@ -11,6 +11,7 @@ __all__ = [ 'DiagnoseDiagnoseJobMetaArgs', + 'InstanceCosBackupArgs', 'InstanceEsAclArgs', 'InstanceMultiZoneInfoArgs', 'InstanceNodeInfoListArgs', @@ -74,6 +75,43 @@ def job_zh_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "job_zh_name", value) +@pulumi.input_type +class InstanceCosBackupArgs: + def __init__(__self__, *, + backup_time: pulumi.Input[str], + is_auto_backup: pulumi.Input[bool]): + """ + :param pulumi.Input[str] backup_time: Automatic backup execution time (accurate to the hour), e.g. `22:00`. + :param pulumi.Input[bool] is_auto_backup: Whether to enable automatic backup of cos. + """ + pulumi.set(__self__, "backup_time", backup_time) + pulumi.set(__self__, "is_auto_backup", is_auto_backup) + + @property + @pulumi.getter(name="backupTime") + def backup_time(self) -> pulumi.Input[str]: + """ + Automatic backup execution time (accurate to the hour), e.g. `22:00`. + """ + return pulumi.get(self, "backup_time") + + @backup_time.setter + def backup_time(self, value: pulumi.Input[str]): + pulumi.set(self, "backup_time", value) + + @property + @pulumi.getter(name="isAutoBackup") + def is_auto_backup(self) -> pulumi.Input[bool]: + """ + Whether to enable automatic backup of cos. + """ + return pulumi.get(self, "is_auto_backup") + + @is_auto_backup.setter + def is_auto_backup(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_auto_backup", value) + + @pulumi.input_type class InstanceEsAclArgs: def __init__(__self__, *, @@ -163,7 +201,7 @@ def __init__(__self__, *, :param pulumi.Input[int] node_num: Number of nodes. :param pulumi.Input[str] node_type: Node specification, and valid values refer to [document of tencentcloud](https://intl.cloud.tencent.com/document/product/845/18376). :param pulumi.Input[int] disk_size: Node disk size. Unit is GB, and default value is `100`. - :param pulumi.Input[str] disk_type: Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + :param pulumi.Input[str] disk_type: Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. :param pulumi.Input[bool] encrypt: Decides to encrypt this disk or not. :param pulumi.Input[str] type: Node type. Valid values are `hotData`, `warmData` and `dedicatedMaster`. The default value is 'hotData`. """ @@ -218,7 +256,7 @@ def disk_size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="diskType") def disk_type(self) -> Optional[pulumi.Input[str]]: """ - Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. """ return pulumi.get(self, "disk_type") diff --git a/sdk/python/tencentcloud_iac_pulumi/elasticsearch/instance.py b/sdk/python/tencentcloud_iac_pulumi/elasticsearch/instance.py index fc487d3fa..977d72da0 100644 --- a/sdk/python/tencentcloud_iac_pulumi/elasticsearch/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/elasticsearch/instance.py @@ -24,6 +24,7 @@ def __init__(__self__, *, basic_security_type: Optional[pulumi.Input[int]] = None, charge_period: Optional[pulumi.Input[int]] = None, charge_type: Optional[pulumi.Input[str]] = None, + cos_backup: Optional[pulumi.Input['InstanceCosBackupArgs']] = None, deploy_mode: Optional[pulumi.Input[int]] = None, es_acl: Optional[pulumi.Input['InstanceEsAclArgs']] = None, instance_name: Optional[pulumi.Input[str]] = None, @@ -44,6 +45,7 @@ def __init__(__self__, *, :param pulumi.Input[int] basic_security_type: Whether to enable X-Pack security authentication in Basic Edition 6.8 and above. Valid values are `1` and `2`. `1` is disabled, `2` is enabled, and default value is `1`. Notice: this parameter is only take effect on `basic` license. :param pulumi.Input[int] charge_period: The tenancy of the prepaid instance, and uint is month. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[str] charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. + :param pulumi.Input['InstanceCosBackupArgs'] cos_backup: COS automatic backup information. :param pulumi.Input[int] deploy_mode: Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. :param pulumi.Input['InstanceEsAclArgs'] es_acl: Kibana Access Control Configuration. :param pulumi.Input[str] instance_name: Name of the instance, which can contain 1 to 50 English letters, Chinese characters, digits, dashes(-), or underscores(_). @@ -67,6 +69,8 @@ def __init__(__self__, *, pulumi.set(__self__, "charge_period", charge_period) if charge_type is not None: pulumi.set(__self__, "charge_type", charge_type) + if cos_backup is not None: + pulumi.set(__self__, "cos_backup", cos_backup) if deploy_mode is not None: pulumi.set(__self__, "deploy_mode", deploy_mode) if es_acl is not None: @@ -184,6 +188,18 @@ def charge_type(self) -> Optional[pulumi.Input[str]]: def charge_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "charge_type", value) + @property + @pulumi.getter(name="cosBackup") + def cos_backup(self) -> Optional[pulumi.Input['InstanceCosBackupArgs']]: + """ + COS automatic backup information. + """ + return pulumi.get(self, "cos_backup") + + @cos_backup.setter + def cos_backup(self, value: Optional[pulumi.Input['InstanceCosBackupArgs']]): + pulumi.set(self, "cos_backup", value) + @property @pulumi.getter(name="deployMode") def deploy_mode(self) -> Optional[pulumi.Input[int]]: @@ -312,6 +328,7 @@ def __init__(__self__, *, basic_security_type: Optional[pulumi.Input[int]] = None, charge_period: Optional[pulumi.Input[int]] = None, charge_type: Optional[pulumi.Input[str]] = None, + cos_backup: Optional[pulumi.Input['InstanceCosBackupArgs']] = None, create_time: Optional[pulumi.Input[str]] = None, deploy_mode: Optional[pulumi.Input[int]] = None, elasticsearch_domain: Optional[pulumi.Input[str]] = None, @@ -337,6 +354,7 @@ def __init__(__self__, *, :param pulumi.Input[int] basic_security_type: Whether to enable X-Pack security authentication in Basic Edition 6.8 and above. Valid values are `1` and `2`. `1` is disabled, `2` is enabled, and default value is `1`. Notice: this parameter is only take effect on `basic` license. :param pulumi.Input[int] charge_period: The tenancy of the prepaid instance, and uint is month. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[str] charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. + :param pulumi.Input['InstanceCosBackupArgs'] cos_backup: COS automatic backup information. :param pulumi.Input[str] create_time: Instance creation time. :param pulumi.Input[int] deploy_mode: Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. :param pulumi.Input[str] elasticsearch_domain: Elasticsearch domain name. @@ -365,6 +383,8 @@ def __init__(__self__, *, pulumi.set(__self__, "charge_period", charge_period) if charge_type is not None: pulumi.set(__self__, "charge_type", charge_type) + if cos_backup is not None: + pulumi.set(__self__, "cos_backup", cos_backup) if create_time is not None: pulumi.set(__self__, "create_time", create_time) if deploy_mode is not None: @@ -452,6 +472,18 @@ def charge_type(self) -> Optional[pulumi.Input[str]]: def charge_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "charge_type", value) + @property + @pulumi.getter(name="cosBackup") + def cos_backup(self) -> Optional[pulumi.Input['InstanceCosBackupArgs']]: + """ + COS automatic backup information. + """ + return pulumi.get(self, "cos_backup") + + @cos_backup.setter + def cos_backup(self, value: Optional[pulumi.Input['InstanceCosBackupArgs']]): + pulumi.set(self, "cos_backup", value) + @property @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[str]]: @@ -690,6 +722,7 @@ def __init__(__self__, basic_security_type: Optional[pulumi.Input[int]] = None, charge_period: Optional[pulumi.Input[int]] = None, charge_type: Optional[pulumi.Input[str]] = None, + cos_backup: Optional[pulumi.Input[pulumi.InputType['InstanceCosBackupArgs']]] = None, deploy_mode: Optional[pulumi.Input[int]] = None, es_acl: Optional[pulumi.Input[pulumi.InputType['InstanceEsAclArgs']]] = None, instance_name: Optional[pulumi.Input[str]] = None, @@ -745,6 +778,10 @@ def __init__(__self__, es_acl=tencentcloud.elasticsearch.InstanceEsAclArgs( white_lists=["127.0.0.1"], ), + cos_backup=tencentcloud.elasticsearch.InstanceCosBackupArgs( + is_auto_backup=True, + backup_time="22:00", + ), tags={ "test": "test", }) @@ -830,6 +867,7 @@ def __init__(__self__, :param pulumi.Input[int] basic_security_type: Whether to enable X-Pack security authentication in Basic Edition 6.8 and above. Valid values are `1` and `2`. `1` is disabled, `2` is enabled, and default value is `1`. Notice: this parameter is only take effect on `basic` license. :param pulumi.Input[int] charge_period: The tenancy of the prepaid instance, and uint is month. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[str] charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. + :param pulumi.Input[pulumi.InputType['InstanceCosBackupArgs']] cos_backup: COS automatic backup information. :param pulumi.Input[int] deploy_mode: Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. :param pulumi.Input[pulumi.InputType['InstanceEsAclArgs']] es_acl: Kibana Access Control Configuration. :param pulumi.Input[str] instance_name: Name of the instance, which can contain 1 to 50 English letters, Chinese characters, digits, dashes(-), or underscores(_). @@ -891,6 +929,10 @@ def __init__(__self__, es_acl=tencentcloud.elasticsearch.InstanceEsAclArgs( white_lists=["127.0.0.1"], ), + cos_backup=tencentcloud.elasticsearch.InstanceCosBackupArgs( + is_auto_backup=True, + backup_time="22:00", + ), tags={ "test": "test", }) @@ -989,6 +1031,7 @@ def _internal_init(__self__, basic_security_type: Optional[pulumi.Input[int]] = None, charge_period: Optional[pulumi.Input[int]] = None, charge_type: Optional[pulumi.Input[str]] = None, + cos_backup: Optional[pulumi.Input[pulumi.InputType['InstanceCosBackupArgs']]] = None, deploy_mode: Optional[pulumi.Input[int]] = None, es_acl: Optional[pulumi.Input[pulumi.InputType['InstanceEsAclArgs']]] = None, instance_name: Optional[pulumi.Input[str]] = None, @@ -1016,6 +1059,7 @@ def _internal_init(__self__, __props__.__dict__["basic_security_type"] = basic_security_type __props__.__dict__["charge_period"] = charge_period __props__.__dict__["charge_type"] = charge_type + __props__.__dict__["cos_backup"] = cos_backup __props__.__dict__["deploy_mode"] = deploy_mode __props__.__dict__["es_acl"] = es_acl __props__.__dict__["instance_name"] = instance_name @@ -1059,6 +1103,7 @@ def get(resource_name: str, basic_security_type: Optional[pulumi.Input[int]] = None, charge_period: Optional[pulumi.Input[int]] = None, charge_type: Optional[pulumi.Input[str]] = None, + cos_backup: Optional[pulumi.Input[pulumi.InputType['InstanceCosBackupArgs']]] = None, create_time: Optional[pulumi.Input[str]] = None, deploy_mode: Optional[pulumi.Input[int]] = None, elasticsearch_domain: Optional[pulumi.Input[str]] = None, @@ -1089,6 +1134,7 @@ def get(resource_name: str, :param pulumi.Input[int] basic_security_type: Whether to enable X-Pack security authentication in Basic Edition 6.8 and above. Valid values are `1` and `2`. `1` is disabled, `2` is enabled, and default value is `1`. Notice: this parameter is only take effect on `basic` license. :param pulumi.Input[int] charge_period: The tenancy of the prepaid instance, and uint is month. NOTE: it only works when charge_type is set to `PREPAID`. :param pulumi.Input[str] charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. + :param pulumi.Input[pulumi.InputType['InstanceCosBackupArgs']] cos_backup: COS automatic backup information. :param pulumi.Input[str] create_time: Instance creation time. :param pulumi.Input[int] deploy_mode: Cluster deployment mode. Valid values are `0` and `1`. `0` is single-AZ deployment, and `1` is multi-AZ deployment. Default value is `0`. :param pulumi.Input[str] elasticsearch_domain: Elasticsearch domain name. @@ -1117,6 +1163,7 @@ def get(resource_name: str, __props__.__dict__["basic_security_type"] = basic_security_type __props__.__dict__["charge_period"] = charge_period __props__.__dict__["charge_type"] = charge_type + __props__.__dict__["cos_backup"] = cos_backup __props__.__dict__["create_time"] = create_time __props__.__dict__["deploy_mode"] = deploy_mode __props__.__dict__["elasticsearch_domain"] = elasticsearch_domain @@ -1170,6 +1217,14 @@ def charge_type(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "charge_type") + @property + @pulumi.getter(name="cosBackup") + def cos_backup(self) -> pulumi.Output[Optional['outputs.InstanceCosBackup']]: + """ + COS automatic backup information. + """ + return pulumi.get(self, "cos_backup") + @property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/elasticsearch/outputs.py b/sdk/python/tencentcloud_iac_pulumi/elasticsearch/outputs.py index c0f01cf9a..718cb3d4d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/elasticsearch/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/elasticsearch/outputs.py @@ -12,6 +12,7 @@ __all__ = [ 'DiagnoseDiagnoseJobMeta', + 'InstanceCosBackup', 'InstanceEsAcl', 'InstanceMultiZoneInfo', 'InstanceNodeInfoList', @@ -120,6 +121,54 @@ def job_zh_name(self) -> Optional[str]: return pulumi.get(self, "job_zh_name") +@pulumi.output_type +class InstanceCosBackup(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "backupTime": + suggest = "backup_time" + elif key == "isAutoBackup": + suggest = "is_auto_backup" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceCosBackup. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceCosBackup.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceCosBackup.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + backup_time: str, + is_auto_backup: bool): + """ + :param str backup_time: Automatic backup execution time (accurate to the hour), e.g. `22:00`. + :param bool is_auto_backup: Whether to enable automatic backup of cos. + """ + pulumi.set(__self__, "backup_time", backup_time) + pulumi.set(__self__, "is_auto_backup", is_auto_backup) + + @property + @pulumi.getter(name="backupTime") + def backup_time(self) -> str: + """ + Automatic backup execution time (accurate to the hour), e.g. `22:00`. + """ + return pulumi.get(self, "backup_time") + + @property + @pulumi.getter(name="isAutoBackup") + def is_auto_backup(self) -> bool: + """ + Whether to enable automatic backup of cos. + """ + return pulumi.get(self, "is_auto_backup") + + @pulumi.output_type class InstanceEsAcl(dict): @staticmethod @@ -254,7 +303,7 @@ def __init__(__self__, *, :param int node_num: Number of nodes. :param str node_type: Node specification, and valid values refer to [document of tencentcloud](https://intl.cloud.tencent.com/document/product/845/18376). :param int disk_size: Node disk size. Unit is GB, and default value is `100`. - :param str disk_type: Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + :param str disk_type: Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. :param bool encrypt: Decides to encrypt this disk or not. :param str type: Node type. Valid values are `hotData`, `warmData` and `dedicatedMaster`. The default value is 'hotData`. """ @@ -297,7 +346,7 @@ def disk_size(self) -> Optional[int]: @pulumi.getter(name="diskType") def disk_type(self) -> Optional[str]: """ - Node disk type. Valid values are `CLOUD_SSD` and `CLOUD_PREMIUM`, `CLOUD_HSSD`. The default value is `CLOUD_SSD`. + Node disk type. Valid values are `CLOUD_SSD`, `CLOUD_PREMIUM`, `CLOUD_HSSD`, `CLOUD_BSSD`, `CLOUD_BIGDATA` and `CLOUD_HIGHIO`. The default value is `CLOUD_SSD`. """ return pulumi.get(self, "disk_type") diff --git a/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py b/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py index b7190c95a..83afbc79d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py +++ b/sdk/python/tencentcloud_iac_pulumi/emr/cluster.py @@ -22,6 +22,7 @@ def __init__(__self__, *, softwares: pulumi.Input[Sequence[pulumi.Input[str]]], support_ha: pulumi.Input[int], vpc_settings: pulumi.Input[Mapping[str, Any]], + auto_renew: Optional[pulumi.Input[int]] = None, display_strategy: Optional[pulumi.Input[str]] = None, extend_fs_field: Optional[pulumi.Input[str]] = None, login_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -53,6 +54,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] softwares: The softwares of a EMR instance. :param pulumi.Input[int] support_ha: The flag whether the instance support high availability.(0=>not support, 1=>support). :param pulumi.Input[Mapping[str, Any]] vpc_settings: The private net config of EMR instance. + :param pulumi.Input[int] auto_renew: 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. :param pulumi.Input[str] display_strategy: It will be deprecated in later versions. Display strategy of EMR instance. :param pulumi.Input[str] extend_fs_field: Access the external file system. :param pulumi.Input[Mapping[str, Any]] login_settings: Instance login settings. There are two optional fields:- password: Instance login password: 8-16 characters, including uppercase letters, lowercase letters, numbers and special characters. Special symbols only support! @% ^ *. The first bit of the password cannot be a special character;- public_key_id: Public key id. After the key is associated, the instance can be accessed through the corresponding private key. @@ -75,6 +77,8 @@ def __init__(__self__, *, pulumi.set(__self__, "softwares", softwares) pulumi.set(__self__, "support_ha", support_ha) pulumi.set(__self__, "vpc_settings", vpc_settings) + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) if display_strategy is not None: warnings.warn("""It will be deprecated in later versions.""", DeprecationWarning) pulumi.log.warn("""display_strategy is deprecated: It will be deprecated in later versions.""") @@ -188,6 +192,18 @@ def vpc_settings(self) -> pulumi.Input[Mapping[str, Any]]: def vpc_settings(self, value: pulumi.Input[Mapping[str, Any]]): pulumi.set(self, "vpc_settings", value) + @property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[int]]: + """ + 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + """ + return pulumi.get(self, "auto_renew") + + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "auto_renew", value) + @property @pulumi.getter(name="displayStrategy") def display_strategy(self) -> Optional[pulumi.Input[str]]: @@ -334,6 +350,7 @@ def time_unit(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class _ClusterState: def __init__(__self__, *, + auto_renew: Optional[pulumi.Input[int]] = None, display_strategy: Optional[pulumi.Input[str]] = None, extend_fs_field: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, @@ -354,6 +371,7 @@ def __init__(__self__, *, vpc_settings: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Input properties used for looking up and filtering Cluster resources. + :param pulumi.Input[int] auto_renew: 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. :param pulumi.Input[str] display_strategy: It will be deprecated in later versions. Display strategy of EMR instance. :param pulumi.Input[str] extend_fs_field: Access the external file system. :param pulumi.Input[str] instance_id: Created EMR instance id. @@ -389,6 +407,8 @@ def __init__(__self__, *, :param pulumi.Input[str] time_unit: The unit of time in which the instance was purchased. When PayMode is 0, TimeUnit can only take values of s(second). When PayMode is 1, TimeUnit can only take the value m(month). :param pulumi.Input[Mapping[str, Any]] vpc_settings: The private net config of EMR instance. """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) if display_strategy is not None: warnings.warn("""It will be deprecated in later versions.""", DeprecationWarning) pulumi.log.warn("""display_strategy is deprecated: It will be deprecated in later versions.""") @@ -432,6 +452,18 @@ def __init__(__self__, *, if vpc_settings is not None: pulumi.set(__self__, "vpc_settings", vpc_settings) + @property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[int]]: + """ + 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + """ + return pulumi.get(self, "auto_renew") + + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "auto_renew", value) + @property @pulumi.getter(name="displayStrategy") def display_strategy(self) -> Optional[pulumi.Input[str]]: @@ -676,6 +708,7 @@ class Cluster(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[int]] = None, display_strategy: Optional[pulumi.Input[str]] = None, extend_fs_field: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, @@ -784,6 +817,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] auto_renew: 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. :param pulumi.Input[str] display_strategy: It will be deprecated in later versions. Display strategy of EMR instance. :param pulumi.Input[str] extend_fs_field: Access the external file system. :param pulumi.Input[str] instance_name: Name of the instance, which can contain 6 to 36 English letters, Chinese characters, digits, dashes(-), or underscores(_). @@ -927,6 +961,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[int]] = None, display_strategy: Optional[pulumi.Input[str]] = None, extend_fs_field: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, @@ -953,6 +988,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = ClusterArgs.__new__(ClusterArgs) + __props__.__dict__["auto_renew"] = auto_renew __props__.__dict__["display_strategy"] = display_strategy __props__.__dict__["extend_fs_field"] = extend_fs_field if instance_name is None and not opts.urn: @@ -995,6 +1031,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[int]] = None, display_strategy: Optional[pulumi.Input[str]] = None, extend_fs_field: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, @@ -1020,6 +1057,7 @@ def get(resource_name: str, :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] auto_renew: 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. :param pulumi.Input[str] display_strategy: It will be deprecated in later versions. Display strategy of EMR instance. :param pulumi.Input[str] extend_fs_field: Access the external file system. :param pulumi.Input[str] instance_id: Created EMR instance id. @@ -1059,6 +1097,7 @@ def get(resource_name: str, __props__ = _ClusterState.__new__(_ClusterState) + __props__.__dict__["auto_renew"] = auto_renew __props__.__dict__["display_strategy"] = display_strategy __props__.__dict__["extend_fs_field"] = extend_fs_field __props__.__dict__["instance_id"] = instance_id @@ -1079,6 +1118,14 @@ def get(resource_name: str, __props__.__dict__["vpc_settings"] = vpc_settings return Cluster(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> pulumi.Output[int]: + """ + 0 means turn off automatic renewal, 1 means turn on automatic renewal. Default is 0. + """ + return pulumi.get(self, "auto_renew") + @property @pulumi.getter(name="displayStrategy") def display_strategy(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/eni/instance.py b/sdk/python/tencentcloud_iac_pulumi/eni/instance.py index 6e7c4e3b5..b5f7d6d81 100644 --- a/sdk/python/tencentcloud_iac_pulumi/eni/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/eni/instance.py @@ -150,6 +150,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): @pulumi.input_type class _InstanceState: def __init__(__self__, *, + cdc_id: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, ipv4_count: Optional[pulumi.Input[int]] = None, @@ -165,6 +166,7 @@ def __init__(__self__, *, vpc_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Instance resources. + :param pulumi.Input[str] cdc_id: CDC instance ID. :param pulumi.Input[str] create_time: Creation time of the ENI. :param pulumi.Input[str] description: Description of the IP, maximum length 25. :param pulumi.Input[int] ipv4_count: The number of intranet IPv4s. When it is greater than 1, there is only one primary intranet IP. The others are auxiliary intranet IPs, which conflict with `ipv4s`. @@ -179,6 +181,8 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, Any]] tags: Tags of the ENI. :param pulumi.Input[str] vpc_id: ID of the vpc. """ + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if create_time is not None: pulumi.set(__self__, "create_time", create_time) if description is not None: @@ -206,6 +210,18 @@ def __init__(__self__, *, if vpc_id is not None: pulumi.set(__self__, "vpc_id", vpc_id) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC instance ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[str]]: @@ -538,6 +554,7 @@ def _internal_init(__self__, if vpc_id is None and not opts.urn: raise TypeError("Missing required property 'vpc_id'") __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["cdc_id"] = None __props__.__dict__["create_time"] = None __props__.__dict__["ipv4_infos"] = None __props__.__dict__["mac"] = None @@ -553,6 +570,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + cdc_id: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, ipv4_count: Optional[pulumi.Input[int]] = None, @@ -573,6 +591,7 @@ def get(resource_name: str, :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] cdc_id: CDC instance ID. :param pulumi.Input[str] create_time: Creation time of the ENI. :param pulumi.Input[str] description: Description of the IP, maximum length 25. :param pulumi.Input[int] ipv4_count: The number of intranet IPv4s. When it is greater than 1, there is only one primary intranet IP. The others are auxiliary intranet IPs, which conflict with `ipv4s`. @@ -591,6 +610,7 @@ def get(resource_name: str, __props__ = _InstanceState.__new__(_InstanceState) + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["create_time"] = create_time __props__.__dict__["description"] = description __props__.__dict__["ipv4_count"] = ipv4_count @@ -606,6 +626,14 @@ def get(resource_name: str, __props__.__dict__["vpc_id"] = vpc_id return Instance(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> pulumi.Output[str]: + """ + CDC instance ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py b/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py index 485f6c96a..f32877f1c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/enis/outputs.py @@ -18,6 +18,7 @@ @pulumi.output_type class GetInstanceEniResult(dict): def __init__(__self__, *, + cdc_id: str, create_time: str, description: str, id: str, @@ -32,6 +33,7 @@ def __init__(__self__, *, tags: Mapping[str, Any], vpc_id: str): """ + :param str cdc_id: CDC instance ID. :param str create_time: Creation time of the ENI. :param str description: Description of the ENI. Conflict with `ids`. :param str id: ID of the ENI. @@ -46,6 +48,7 @@ def __init__(__self__, *, :param Mapping[str, Any] tags: Tags of the ENI. Conflict with `ids`. :param str vpc_id: ID of the vpc to be queried. Conflict with `ids`. """ + pulumi.set(__self__, "cdc_id", cdc_id) pulumi.set(__self__, "create_time", create_time) pulumi.set(__self__, "description", description) pulumi.set(__self__, "id", id) @@ -60,6 +63,14 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) pulumi.set(__self__, "vpc_id", vpc_id) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> str: + """ + CDC instance ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="createTime") def create_time(self) -> str: diff --git a/sdk/python/tencentcloud_iac_pulumi/gaap/layer4_listener.py b/sdk/python/tencentcloud_iac_pulumi/gaap/layer4_listener.py index 42f8edf26..1972d947c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/gaap/layer4_listener.py +++ b/sdk/python/tencentcloud_iac_pulumi/gaap/layer4_listener.py @@ -20,45 +20,73 @@ def __init__(__self__, *, protocol: pulumi.Input[str], proxy_id: pulumi.Input[str], realserver_type: pulumi.Input[str], + check_port: Optional[pulumi.Input[int]] = None, + check_type: Optional[pulumi.Input[str]] = None, client_ip_method: Optional[pulumi.Input[int]] = None, connect_timeout: Optional[pulumi.Input[int]] = None, + context_type: Optional[pulumi.Input[str]] = None, health_check: Optional[pulumi.Input[bool]] = None, + healthy_threshold: Optional[pulumi.Input[int]] = None, interval: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, realserver_bind_sets: Optional[pulumi.Input[Sequence[pulumi.Input['Layer4ListenerRealserverBindSetArgs']]]] = None, - scheduler: Optional[pulumi.Input[str]] = None): + recv_context: Optional[pulumi.Input[str]] = None, + scheduler: Optional[pulumi.Input[str]] = None, + send_context: Optional[pulumi.Input[str]] = None, + unhealthy_threshold: Optional[pulumi.Input[int]] = None): """ The set of arguments for constructing a Layer4Listener resource. :param pulumi.Input[int] port: Port of the layer4 listener. :param pulumi.Input[str] protocol: Protocol of the layer4 listener. Valid value: `TCP` and `UDP`. :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. :param pulumi.Input[str] realserver_type: Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. + :param pulumi.Input[int] check_port: UDP origin station health check probe port. + :param pulumi.Input[str] check_type: UDP origin server health type. PORT means check port, and PING means PING. :param pulumi.Input[int] client_ip_method: The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. - :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. + :param pulumi.Input[str] context_type: UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. + :param pulumi.Input[int] healthy_threshold: Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. :param pulumi.Input[str] name: Name of the layer4 listener, the maximum length is 30. :param pulumi.Input[Sequence[pulumi.Input['Layer4ListenerRealserverBindSetArgs']]] realserver_bind_sets: An information list of GAAP realserver. + :param pulumi.Input[str] recv_context: UDP source server health check port detects received messages. Only used when the health check type is PORT. :param pulumi.Input[str] scheduler: Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. + :param pulumi.Input[str] send_context: UDP source server health check port detection sends messages. Only used when health check type is PORT. + :param pulumi.Input[int] unhealthy_threshold: Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. """ pulumi.set(__self__, "port", port) pulumi.set(__self__, "protocol", protocol) pulumi.set(__self__, "proxy_id", proxy_id) pulumi.set(__self__, "realserver_type", realserver_type) + if check_port is not None: + pulumi.set(__self__, "check_port", check_port) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) if client_ip_method is not None: pulumi.set(__self__, "client_ip_method", client_ip_method) if connect_timeout is not None: pulumi.set(__self__, "connect_timeout", connect_timeout) + if context_type is not None: + pulumi.set(__self__, "context_type", context_type) if health_check is not None: pulumi.set(__self__, "health_check", health_check) + if healthy_threshold is not None: + pulumi.set(__self__, "healthy_threshold", healthy_threshold) if interval is not None: pulumi.set(__self__, "interval", interval) if name is not None: pulumi.set(__self__, "name", name) if realserver_bind_sets is not None: pulumi.set(__self__, "realserver_bind_sets", realserver_bind_sets) + if recv_context is not None: + pulumi.set(__self__, "recv_context", recv_context) if scheduler is not None: pulumi.set(__self__, "scheduler", scheduler) + if send_context is not None: + pulumi.set(__self__, "send_context", send_context) + if unhealthy_threshold is not None: + pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) @property @pulumi.getter @@ -108,6 +136,30 @@ def realserver_type(self) -> pulumi.Input[str]: def realserver_type(self, value: pulumi.Input[str]): pulumi.set(self, "realserver_type", value) + @property + @pulumi.getter(name="checkPort") + def check_port(self) -> Optional[pulumi.Input[int]]: + """ + UDP origin station health check probe port. + """ + return pulumi.get(self, "check_port") + + @check_port.setter + def check_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "check_port", value) + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[pulumi.Input[str]]: + """ + UDP origin server health type. PORT means check port, and PING means PING. + """ + return pulumi.get(self, "check_type") + + @check_type.setter + def check_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "check_type", value) + @property @pulumi.getter(name="clientIpMethod") def client_ip_method(self) -> Optional[pulumi.Input[int]]: @@ -124,7 +176,7 @@ def client_ip_method(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="connectTimeout") def connect_timeout(self) -> Optional[pulumi.Input[int]]: """ - Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. """ return pulumi.get(self, "connect_timeout") @@ -132,11 +184,23 @@ def connect_timeout(self) -> Optional[pulumi.Input[int]]: def connect_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "connect_timeout", value) + @property + @pulumi.getter(name="contextType") + def context_type(self) -> Optional[pulumi.Input[str]]: + """ + UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + """ + return pulumi.get(self, "context_type") + + @context_type.setter + def context_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context_type", value) + @property @pulumi.getter(name="healthCheck") def health_check(self) -> Optional[pulumi.Input[bool]]: """ - Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + Indicates whether health check is enable, default value is `false`. """ return pulumi.get(self, "health_check") @@ -144,11 +208,23 @@ def health_check(self) -> Optional[pulumi.Input[bool]]: def health_check(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "health_check", value) + @property + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> Optional[pulumi.Input[int]]: + """ + Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + """ + return pulumi.get(self, "healthy_threshold") + + @healthy_threshold.setter + def healthy_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "healthy_threshold", value) + @property @pulumi.getter def interval(self) -> Optional[pulumi.Input[int]]: """ - Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + Interval of the health check, default value is 5s. """ return pulumi.get(self, "interval") @@ -180,6 +256,18 @@ def realserver_bind_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['L def realserver_bind_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Layer4ListenerRealserverBindSetArgs']]]]): pulumi.set(self, "realserver_bind_sets", value) + @property + @pulumi.getter(name="recvContext") + def recv_context(self) -> Optional[pulumi.Input[str]]: + """ + UDP source server health check port detects received messages. Only used when the health check type is PORT. + """ + return pulumi.get(self, "recv_context") + + @recv_context.setter + def recv_context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recv_context", value) + @property @pulumi.getter def scheduler(self) -> Optional[pulumi.Input[str]]: @@ -192,14 +280,42 @@ def scheduler(self) -> Optional[pulumi.Input[str]]: def scheduler(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "scheduler", value) + @property + @pulumi.getter(name="sendContext") + def send_context(self) -> Optional[pulumi.Input[str]]: + """ + UDP source server health check port detection sends messages. Only used when health check type is PORT. + """ + return pulumi.get(self, "send_context") + + @send_context.setter + def send_context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "send_context", value) + + @property + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> Optional[pulumi.Input[int]]: + """ + Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + """ + return pulumi.get(self, "unhealthy_threshold") + + @unhealthy_threshold.setter + def unhealthy_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "unhealthy_threshold", value) + @pulumi.input_type class _Layer4ListenerState: def __init__(__self__, *, + check_port: Optional[pulumi.Input[int]] = None, + check_type: Optional[pulumi.Input[str]] = None, client_ip_method: Optional[pulumi.Input[int]] = None, connect_timeout: Optional[pulumi.Input[int]] = None, + context_type: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, health_check: Optional[pulumi.Input[bool]] = None, + healthy_threshold: Optional[pulumi.Input[int]] = None, interval: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -207,32 +323,50 @@ def __init__(__self__, *, proxy_id: Optional[pulumi.Input[str]] = None, realserver_bind_sets: Optional[pulumi.Input[Sequence[pulumi.Input['Layer4ListenerRealserverBindSetArgs']]]] = None, realserver_type: Optional[pulumi.Input[str]] = None, + recv_context: Optional[pulumi.Input[str]] = None, scheduler: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[int]] = None): + send_context: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[int]] = None, + unhealthy_threshold: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering Layer4Listener resources. + :param pulumi.Input[int] check_port: UDP origin station health check probe port. + :param pulumi.Input[str] check_type: UDP origin server health type. PORT means check port, and PING means PING. :param pulumi.Input[int] client_ip_method: The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. + :param pulumi.Input[str] context_type: UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. :param pulumi.Input[str] create_time: Creation time of the layer4 listener. - :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. + :param pulumi.Input[int] healthy_threshold: Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. :param pulumi.Input[str] name: Name of the layer4 listener, the maximum length is 30. :param pulumi.Input[int] port: Port of the layer4 listener. :param pulumi.Input[str] protocol: Protocol of the layer4 listener. Valid value: `TCP` and `UDP`. :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. :param pulumi.Input[Sequence[pulumi.Input['Layer4ListenerRealserverBindSetArgs']]] realserver_bind_sets: An information list of GAAP realserver. :param pulumi.Input[str] realserver_type: Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. + :param pulumi.Input[str] recv_context: UDP source server health check port detects received messages. Only used when the health check type is PORT. :param pulumi.Input[str] scheduler: Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. + :param pulumi.Input[str] send_context: UDP source server health check port detection sends messages. Only used when health check type is PORT. :param pulumi.Input[int] status: Status of the layer4 listener. + :param pulumi.Input[int] unhealthy_threshold: Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. """ + if check_port is not None: + pulumi.set(__self__, "check_port", check_port) + if check_type is not None: + pulumi.set(__self__, "check_type", check_type) if client_ip_method is not None: pulumi.set(__self__, "client_ip_method", client_ip_method) if connect_timeout is not None: pulumi.set(__self__, "connect_timeout", connect_timeout) + if context_type is not None: + pulumi.set(__self__, "context_type", context_type) if create_time is not None: pulumi.set(__self__, "create_time", create_time) if health_check is not None: pulumi.set(__self__, "health_check", health_check) + if healthy_threshold is not None: + pulumi.set(__self__, "healthy_threshold", healthy_threshold) if interval is not None: pulumi.set(__self__, "interval", interval) if name is not None: @@ -247,10 +381,40 @@ def __init__(__self__, *, pulumi.set(__self__, "realserver_bind_sets", realserver_bind_sets) if realserver_type is not None: pulumi.set(__self__, "realserver_type", realserver_type) + if recv_context is not None: + pulumi.set(__self__, "recv_context", recv_context) if scheduler is not None: pulumi.set(__self__, "scheduler", scheduler) + if send_context is not None: + pulumi.set(__self__, "send_context", send_context) if status is not None: pulumi.set(__self__, "status", status) + if unhealthy_threshold is not None: + pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + + @property + @pulumi.getter(name="checkPort") + def check_port(self) -> Optional[pulumi.Input[int]]: + """ + UDP origin station health check probe port. + """ + return pulumi.get(self, "check_port") + + @check_port.setter + def check_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "check_port", value) + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> Optional[pulumi.Input[str]]: + """ + UDP origin server health type. PORT means check port, and PING means PING. + """ + return pulumi.get(self, "check_type") + + @check_type.setter + def check_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "check_type", value) @property @pulumi.getter(name="clientIpMethod") @@ -268,7 +432,7 @@ def client_ip_method(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="connectTimeout") def connect_timeout(self) -> Optional[pulumi.Input[int]]: """ - Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. """ return pulumi.get(self, "connect_timeout") @@ -276,6 +440,18 @@ def connect_timeout(self) -> Optional[pulumi.Input[int]]: def connect_timeout(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "connect_timeout", value) + @property + @pulumi.getter(name="contextType") + def context_type(self) -> Optional[pulumi.Input[str]]: + """ + UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + """ + return pulumi.get(self, "context_type") + + @context_type.setter + def context_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context_type", value) + @property @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[str]]: @@ -292,7 +468,7 @@ def create_time(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="healthCheck") def health_check(self) -> Optional[pulumi.Input[bool]]: """ - Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + Indicates whether health check is enable, default value is `false`. """ return pulumi.get(self, "health_check") @@ -300,11 +476,23 @@ def health_check(self) -> Optional[pulumi.Input[bool]]: def health_check(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "health_check", value) + @property + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> Optional[pulumi.Input[int]]: + """ + Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + """ + return pulumi.get(self, "healthy_threshold") + + @healthy_threshold.setter + def healthy_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "healthy_threshold", value) + @property @pulumi.getter def interval(self) -> Optional[pulumi.Input[int]]: """ - Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + Interval of the health check, default value is 5s. """ return pulumi.get(self, "interval") @@ -384,6 +572,18 @@ def realserver_type(self) -> Optional[pulumi.Input[str]]: def realserver_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "realserver_type", value) + @property + @pulumi.getter(name="recvContext") + def recv_context(self) -> Optional[pulumi.Input[str]]: + """ + UDP source server health check port detects received messages. Only used when the health check type is PORT. + """ + return pulumi.get(self, "recv_context") + + @recv_context.setter + def recv_context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recv_context", value) + @property @pulumi.getter def scheduler(self) -> Optional[pulumi.Input[str]]: @@ -396,6 +596,18 @@ def scheduler(self) -> Optional[pulumi.Input[str]]: def scheduler(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "scheduler", value) + @property + @pulumi.getter(name="sendContext") + def send_context(self) -> Optional[pulumi.Input[str]]: + """ + UDP source server health check port detection sends messages. Only used when health check type is PORT. + """ + return pulumi.get(self, "send_context") + + @send_context.setter + def send_context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "send_context", value) + @property @pulumi.getter def status(self) -> Optional[pulumi.Input[int]]: @@ -408,15 +620,31 @@ def status(self) -> Optional[pulumi.Input[int]]: def status(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "status", value) + @property + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> Optional[pulumi.Input[int]]: + """ + Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + """ + return pulumi.get(self, "unhealthy_threshold") + + @unhealthy_threshold.setter + def unhealthy_threshold(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "unhealthy_threshold", value) + class Layer4Listener(pulumi.CustomResource): @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + check_port: Optional[pulumi.Input[int]] = None, + check_type: Optional[pulumi.Input[str]] = None, client_ip_method: Optional[pulumi.Input[int]] = None, connect_timeout: Optional[pulumi.Input[int]] = None, + context_type: Optional[pulumi.Input[str]] = None, health_check: Optional[pulumi.Input[bool]] = None, + healthy_threshold: Optional[pulumi.Input[int]] = None, interval: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -424,7 +652,10 @@ def __init__(__self__, proxy_id: Optional[pulumi.Input[str]] = None, realserver_bind_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Layer4ListenerRealserverBindSetArgs']]]]] = None, realserver_type: Optional[pulumi.Input[str]] = None, + recv_context: Optional[pulumi.Input[str]] = None, scheduler: Optional[pulumi.Input[str]] = None, + send_context: Optional[pulumi.Input[str]] = None, + unhealthy_threshold: Optional[pulumi.Input[int]] = None, __props__=None): """ Provides a resource to create a layer4 listener of GAAP. @@ -474,17 +705,24 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] check_port: UDP origin station health check probe port. + :param pulumi.Input[str] check_type: UDP origin server health type. PORT means check port, and PING means PING. :param pulumi.Input[int] client_ip_method: The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. - :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. + :param pulumi.Input[str] context_type: UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. + :param pulumi.Input[int] healthy_threshold: Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. :param pulumi.Input[str] name: Name of the layer4 listener, the maximum length is 30. :param pulumi.Input[int] port: Port of the layer4 listener. :param pulumi.Input[str] protocol: Protocol of the layer4 listener. Valid value: `TCP` and `UDP`. :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Layer4ListenerRealserverBindSetArgs']]]] realserver_bind_sets: An information list of GAAP realserver. :param pulumi.Input[str] realserver_type: Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. + :param pulumi.Input[str] recv_context: UDP source server health check port detects received messages. Only used when the health check type is PORT. :param pulumi.Input[str] scheduler: Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. + :param pulumi.Input[str] send_context: UDP source server health check port detection sends messages. Only used when health check type is PORT. + :param pulumi.Input[int] unhealthy_threshold: Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. """ ... @overload @@ -553,9 +791,13 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + check_port: Optional[pulumi.Input[int]] = None, + check_type: Optional[pulumi.Input[str]] = None, client_ip_method: Optional[pulumi.Input[int]] = None, connect_timeout: Optional[pulumi.Input[int]] = None, + context_type: Optional[pulumi.Input[str]] = None, health_check: Optional[pulumi.Input[bool]] = None, + healthy_threshold: Optional[pulumi.Input[int]] = None, interval: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -563,7 +805,10 @@ def _internal_init(__self__, proxy_id: Optional[pulumi.Input[str]] = None, realserver_bind_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Layer4ListenerRealserverBindSetArgs']]]]] = None, realserver_type: Optional[pulumi.Input[str]] = None, + recv_context: Optional[pulumi.Input[str]] = None, scheduler: Optional[pulumi.Input[str]] = None, + send_context: Optional[pulumi.Input[str]] = None, + unhealthy_threshold: Optional[pulumi.Input[int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -573,9 +818,13 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = Layer4ListenerArgs.__new__(Layer4ListenerArgs) + __props__.__dict__["check_port"] = check_port + __props__.__dict__["check_type"] = check_type __props__.__dict__["client_ip_method"] = client_ip_method __props__.__dict__["connect_timeout"] = connect_timeout + __props__.__dict__["context_type"] = context_type __props__.__dict__["health_check"] = health_check + __props__.__dict__["healthy_threshold"] = healthy_threshold __props__.__dict__["interval"] = interval __props__.__dict__["name"] = name if port is None and not opts.urn: @@ -591,7 +840,10 @@ def _internal_init(__self__, if realserver_type is None and not opts.urn: raise TypeError("Missing required property 'realserver_type'") __props__.__dict__["realserver_type"] = realserver_type + __props__.__dict__["recv_context"] = recv_context __props__.__dict__["scheduler"] = scheduler + __props__.__dict__["send_context"] = send_context + __props__.__dict__["unhealthy_threshold"] = unhealthy_threshold __props__.__dict__["create_time"] = None __props__.__dict__["status"] = None super(Layer4Listener, __self__).__init__( @@ -604,10 +856,14 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + check_port: Optional[pulumi.Input[int]] = None, + check_type: Optional[pulumi.Input[str]] = None, client_ip_method: Optional[pulumi.Input[int]] = None, connect_timeout: Optional[pulumi.Input[int]] = None, + context_type: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, health_check: Optional[pulumi.Input[bool]] = None, + healthy_threshold: Optional[pulumi.Input[int]] = None, interval: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -615,8 +871,11 @@ def get(resource_name: str, proxy_id: Optional[pulumi.Input[str]] = None, realserver_bind_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Layer4ListenerRealserverBindSetArgs']]]]] = None, realserver_type: Optional[pulumi.Input[str]] = None, + recv_context: Optional[pulumi.Input[str]] = None, scheduler: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[int]] = None) -> 'Layer4Listener': + send_context: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[int]] = None, + unhealthy_threshold: Optional[pulumi.Input[int]] = None) -> 'Layer4Listener': """ Get an existing Layer4Listener resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -624,28 +883,39 @@ def get(resource_name: str, :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] check_port: UDP origin station health check probe port. + :param pulumi.Input[str] check_type: UDP origin server health type. PORT means check port, and PING means PING. :param pulumi.Input[int] client_ip_method: The way the listener gets the client IP, 0 for TOA, 1 for Proxy Protocol, default value is 0. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + :param pulumi.Input[int] connect_timeout: Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. + :param pulumi.Input[str] context_type: UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. :param pulumi.Input[str] create_time: Creation time of the layer4 listener. - :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. - :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + :param pulumi.Input[bool] health_check: Indicates whether health check is enable, default value is `false`. + :param pulumi.Input[int] healthy_threshold: Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + :param pulumi.Input[int] interval: Interval of the health check, default value is 5s. :param pulumi.Input[str] name: Name of the layer4 listener, the maximum length is 30. :param pulumi.Input[int] port: Port of the layer4 listener. :param pulumi.Input[str] protocol: Protocol of the layer4 listener. Valid value: `TCP` and `UDP`. :param pulumi.Input[str] proxy_id: ID of the GAAP proxy. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['Layer4ListenerRealserverBindSetArgs']]]] realserver_bind_sets: An information list of GAAP realserver. :param pulumi.Input[str] realserver_type: Type of the realserver. Valid value: `IP` and `DOMAIN`. NOTES: when the `protocol` is specified as `TCP` and the `scheduler` is specified as `wrr`, the item can only be set to `IP`. + :param pulumi.Input[str] recv_context: UDP source server health check port detects received messages. Only used when the health check type is PORT. :param pulumi.Input[str] scheduler: Scheduling policy of the layer4 listener, default value is `rr`. Valid value: `rr`, `wrr` and `lc`. + :param pulumi.Input[str] send_context: UDP source server health check port detection sends messages. Only used when health check type is PORT. :param pulumi.Input[int] status: Status of the layer4 listener. + :param pulumi.Input[int] unhealthy_threshold: Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _Layer4ListenerState.__new__(_Layer4ListenerState) + __props__.__dict__["check_port"] = check_port + __props__.__dict__["check_type"] = check_type __props__.__dict__["client_ip_method"] = client_ip_method __props__.__dict__["connect_timeout"] = connect_timeout + __props__.__dict__["context_type"] = context_type __props__.__dict__["create_time"] = create_time __props__.__dict__["health_check"] = health_check + __props__.__dict__["healthy_threshold"] = healthy_threshold __props__.__dict__["interval"] = interval __props__.__dict__["name"] = name __props__.__dict__["port"] = port @@ -653,10 +923,29 @@ def get(resource_name: str, __props__.__dict__["proxy_id"] = proxy_id __props__.__dict__["realserver_bind_sets"] = realserver_bind_sets __props__.__dict__["realserver_type"] = realserver_type + __props__.__dict__["recv_context"] = recv_context __props__.__dict__["scheduler"] = scheduler + __props__.__dict__["send_context"] = send_context __props__.__dict__["status"] = status + __props__.__dict__["unhealthy_threshold"] = unhealthy_threshold return Layer4Listener(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="checkPort") + def check_port(self) -> pulumi.Output[int]: + """ + UDP origin station health check probe port. + """ + return pulumi.get(self, "check_port") + + @property + @pulumi.getter(name="checkType") + def check_type(self) -> pulumi.Output[str]: + """ + UDP origin server health type. PORT means check port, and PING means PING. + """ + return pulumi.get(self, "check_type") + @property @pulumi.getter(name="clientIpMethod") def client_ip_method(self) -> pulumi.Output[Optional[int]]: @@ -669,10 +958,18 @@ def client_ip_method(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="connectTimeout") def connect_timeout(self) -> pulumi.Output[Optional[int]]: """ - Timeout of the health check response, should less than interval, default value is 2s. NOTES: Only supports listeners of `TCP` protocol and require less than `interval`. + Timeout of the health check response, should less than interval, default value is 2s. NOTES: Require less than `interval`. """ return pulumi.get(self, "connect_timeout") + @property + @pulumi.getter(name="contextType") + def context_type(self) -> pulumi.Output[str]: + """ + UDP source station health check port probe message type: TEXT represents text. Only used when the health check type is PORT. + """ + return pulumi.get(self, "context_type") + @property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[str]: @@ -685,15 +982,23 @@ def create_time(self) -> pulumi.Output[str]: @pulumi.getter(name="healthCheck") def health_check(self) -> pulumi.Output[Optional[bool]]: """ - Indicates whether health check is enable, default value is `false`. NOTES: Only supports listeners of `TCP` protocol. + Indicates whether health check is enable, default value is `false`. """ return pulumi.get(self, "health_check") + @property + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> pulumi.Output[Optional[int]]: + """ + Health threshold, which indicates how many consecutive inspections are successful, the source station is determined to be healthy. Range from 1 to 10. Default value is 1. + """ + return pulumi.get(self, "healthy_threshold") + @property @pulumi.getter def interval(self) -> pulumi.Output[Optional[int]]: """ - Interval of the health check, default value is 5s. NOTES: Only supports listeners of `TCP` protocol. + Interval of the health check, default value is 5s. """ return pulumi.get(self, "interval") @@ -745,6 +1050,14 @@ def realserver_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "realserver_type") + @property + @pulumi.getter(name="recvContext") + def recv_context(self) -> pulumi.Output[str]: + """ + UDP source server health check port detects received messages. Only used when the health check type is PORT. + """ + return pulumi.get(self, "recv_context") + @property @pulumi.getter def scheduler(self) -> pulumi.Output[Optional[str]]: @@ -753,6 +1066,14 @@ def scheduler(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "scheduler") + @property + @pulumi.getter(name="sendContext") + def send_context(self) -> pulumi.Output[str]: + """ + UDP source server health check port detection sends messages. Only used when health check type is PORT. + """ + return pulumi.get(self, "send_context") + @property @pulumi.getter def status(self) -> pulumi.Output[int]: @@ -761,3 +1082,11 @@ def status(self) -> pulumi.Output[int]: """ return pulumi.get(self, "status") + @property + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> pulumi.Output[Optional[int]]: + """ + Unhealthy threshold, which indicates how many consecutive check failures the source station is considered unhealthy. Range from 1 to 10. Default value is 1. + """ + return pulumi.get(self, "unhealthy_threshold") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/__init__.py b/sdk/python/tencentcloud_iac_pulumi/identity/__init__.py new file mode 100644 index 000000000..56ece9661 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/__init__.py @@ -0,0 +1,16 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .center_external_saml_identity_provider import * +from .center_group import * +from .center_role_assignment import * +from .center_role_configuration import * +from .center_role_configuration_permission_custom_policy_attachment import * +from .center_role_configuration_permission_policy_attachment import * +from .center_user import * +from .center_user_group_attachment import * +from .center_user_sync_provisioning import * diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_external_saml_identity_provider.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_external_saml_identity_provider.py new file mode 100644 index 000000000..a0f620f8f --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_external_saml_identity_provider.py @@ -0,0 +1,535 @@ +# 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__ = ['CenterExternalSamlIdentityProviderArgs', 'CenterExternalSamlIdentityProvider'] + +@pulumi.input_type +class CenterExternalSamlIdentityProviderArgs: + def __init__(__self__, *, + zone_id: pulumi.Input[str], + encoded_metadata_document: Optional[pulumi.Input[str]] = None, + entity_id: Optional[pulumi.Input[str]] = None, + login_url: Optional[pulumi.Input[str]] = None, + sso_status: Optional[pulumi.Input[str]] = None, + x509_certificate: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a CenterExternalSamlIdentityProvider resource. + :param pulumi.Input[str] zone_id: Space ID. + :param pulumi.Input[str] encoded_metadata_document: IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + :param pulumi.Input[str] entity_id: IdP identifier. + :param pulumi.Input[str] login_url: IdP login URL. + :param pulumi.Input[str] sso_status: SSO enabling status. Valid values: Enabled, Disabled (default). + :param pulumi.Input[str] x509_certificate: X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + """ + pulumi.set(__self__, "zone_id", zone_id) + if encoded_metadata_document is not None: + pulumi.set(__self__, "encoded_metadata_document", encoded_metadata_document) + if entity_id is not None: + pulumi.set(__self__, "entity_id", entity_id) + if login_url is not None: + pulumi.set(__self__, "login_url", login_url) + if sso_status is not None: + pulumi.set(__self__, "sso_status", sso_status) + if x509_certificate is not None: + pulumi.set(__self__, "x509_certificate", x509_certificate) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. + """ + 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(name="encodedMetadataDocument") + def encoded_metadata_document(self) -> Optional[pulumi.Input[str]]: + """ + IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + """ + return pulumi.get(self, "encoded_metadata_document") + + @encoded_metadata_document.setter + def encoded_metadata_document(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoded_metadata_document", value) + + @property + @pulumi.getter(name="entityId") + def entity_id(self) -> Optional[pulumi.Input[str]]: + """ + IdP identifier. + """ + return pulumi.get(self, "entity_id") + + @entity_id.setter + def entity_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "entity_id", value) + + @property + @pulumi.getter(name="loginUrl") + def login_url(self) -> Optional[pulumi.Input[str]]: + """ + IdP login URL. + """ + return pulumi.get(self, "login_url") + + @login_url.setter + def login_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "login_url", value) + + @property + @pulumi.getter(name="ssoStatus") + def sso_status(self) -> Optional[pulumi.Input[str]]: + """ + SSO enabling status. Valid values: Enabled, Disabled (default). + """ + return pulumi.get(self, "sso_status") + + @sso_status.setter + def sso_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sso_status", value) + + @property + @pulumi.getter(name="x509Certificate") + def x509_certificate(self) -> Optional[pulumi.Input[str]]: + """ + X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + """ + return pulumi.get(self, "x509_certificate") + + @x509_certificate.setter + def x509_certificate(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "x509_certificate", value) + + +@pulumi.input_type +class _CenterExternalSamlIdentityProviderState: + def __init__(__self__, *, + acs_url: Optional[pulumi.Input[str]] = None, + certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + create_time: Optional[pulumi.Input[str]] = None, + encoded_metadata_document: Optional[pulumi.Input[str]] = None, + entity_id: Optional[pulumi.Input[str]] = None, + login_url: Optional[pulumi.Input[str]] = None, + sso_status: Optional[pulumi.Input[str]] = None, + update_time: Optional[pulumi.Input[str]] = None, + x509_certificate: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterExternalSamlIdentityProvider resources. + :param pulumi.Input[str] acs_url: Acs url. + :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: Certificate ids. + :param pulumi.Input[str] create_time: Create time. + :param pulumi.Input[str] encoded_metadata_document: IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + :param pulumi.Input[str] entity_id: IdP identifier. + :param pulumi.Input[str] login_url: IdP login URL. + :param pulumi.Input[str] sso_status: SSO enabling status. Valid values: Enabled, Disabled (default). + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] x509_certificate: X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + :param pulumi.Input[str] zone_id: Space ID. + """ + if acs_url is not None: + pulumi.set(__self__, "acs_url", acs_url) + if certificate_ids is not None: + pulumi.set(__self__, "certificate_ids", certificate_ids) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if encoded_metadata_document is not None: + pulumi.set(__self__, "encoded_metadata_document", encoded_metadata_document) + if entity_id is not None: + pulumi.set(__self__, "entity_id", entity_id) + if login_url is not None: + pulumi.set(__self__, "login_url", login_url) + if sso_status is not None: + pulumi.set(__self__, "sso_status", sso_status) + if update_time is not None: + pulumi.set(__self__, "update_time", update_time) + if x509_certificate is not None: + pulumi.set(__self__, "x509_certificate", x509_certificate) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="acsUrl") + def acs_url(self) -> Optional[pulumi.Input[str]]: + """ + Acs url. + """ + return pulumi.get(self, "acs_url") + + @acs_url.setter + def acs_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "acs_url", value) + + @property + @pulumi.getter(name="certificateIds") + def certificate_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Certificate ids. + """ + return pulumi.get(self, "certificate_ids") + + @certificate_ids.setter + def certificate_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "certificate_ids", value) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Create 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="encodedMetadataDocument") + def encoded_metadata_document(self) -> Optional[pulumi.Input[str]]: + """ + IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + """ + return pulumi.get(self, "encoded_metadata_document") + + @encoded_metadata_document.setter + def encoded_metadata_document(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoded_metadata_document", value) + + @property + @pulumi.getter(name="entityId") + def entity_id(self) -> Optional[pulumi.Input[str]]: + """ + IdP identifier. + """ + return pulumi.get(self, "entity_id") + + @entity_id.setter + def entity_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "entity_id", value) + + @property + @pulumi.getter(name="loginUrl") + def login_url(self) -> Optional[pulumi.Input[str]]: + """ + IdP login URL. + """ + return pulumi.get(self, "login_url") + + @login_url.setter + def login_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "login_url", value) + + @property + @pulumi.getter(name="ssoStatus") + def sso_status(self) -> Optional[pulumi.Input[str]]: + """ + SSO enabling status. Valid values: Enabled, Disabled (default). + """ + return pulumi.get(self, "sso_status") + + @sso_status.setter + def sso_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sso_status", value) + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[pulumi.Input[str]]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @update_time.setter + def update_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update_time", value) + + @property + @pulumi.getter(name="x509Certificate") + def x509_certificate(self) -> Optional[pulumi.Input[str]]: + """ + X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + """ + return pulumi.get(self, "x509_certificate") + + @x509_certificate.setter + def x509_certificate(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "x509_certificate", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. + """ + 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 CenterExternalSamlIdentityProvider(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + encoded_metadata_document: Optional[pulumi.Input[str]] = None, + entity_id: Optional[pulumi.Input[str]] = None, + login_url: Optional[pulumi.Input[str]] = None, + sso_status: Optional[pulumi.Input[str]] = None, + x509_certificate: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a organization identity_center_external_saml_identity_provider + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_external_saml_identity_provider = tencentcloud.identity.CenterExternalSamlIdentityProvider("identityCenterExternalSamlIdentityProvider", + sso_status="Enabled", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_external_saml_identity_provider can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider identity_center_external_saml_identity_provider ${zoneId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] encoded_metadata_document: IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + :param pulumi.Input[str] entity_id: IdP identifier. + :param pulumi.Input[str] login_url: IdP login URL. + :param pulumi.Input[str] sso_status: SSO enabling status. Valid values: Enabled, Disabled (default). + :param pulumi.Input[str] x509_certificate: X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + :param pulumi.Input[str] zone_id: Space ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterExternalSamlIdentityProviderArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization identity_center_external_saml_identity_provider + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_external_saml_identity_provider = tencentcloud.identity.CenterExternalSamlIdentityProvider("identityCenterExternalSamlIdentityProvider", + sso_status="Enabled", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_external_saml_identity_provider can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider identity_center_external_saml_identity_provider ${zoneId} + ``` + + :param str resource_name: The name of the resource. + :param CenterExternalSamlIdentityProviderArgs 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(CenterExternalSamlIdentityProviderArgs, 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, + encoded_metadata_document: Optional[pulumi.Input[str]] = None, + entity_id: Optional[pulumi.Input[str]] = None, + login_url: Optional[pulumi.Input[str]] = None, + sso_status: Optional[pulumi.Input[str]] = None, + x509_certificate: 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__ = CenterExternalSamlIdentityProviderArgs.__new__(CenterExternalSamlIdentityProviderArgs) + + __props__.__dict__["encoded_metadata_document"] = encoded_metadata_document + __props__.__dict__["entity_id"] = entity_id + __props__.__dict__["login_url"] = login_url + __props__.__dict__["sso_status"] = sso_status + __props__.__dict__["x509_certificate"] = x509_certificate + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["acs_url"] = None + __props__.__dict__["certificate_ids"] = None + __props__.__dict__["create_time"] = None + __props__.__dict__["update_time"] = None + super(CenterExternalSamlIdentityProvider, __self__).__init__( + 'tencentcloud:Identity/centerExternalSamlIdentityProvider:CenterExternalSamlIdentityProvider', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + acs_url: Optional[pulumi.Input[str]] = None, + certificate_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + create_time: Optional[pulumi.Input[str]] = None, + encoded_metadata_document: Optional[pulumi.Input[str]] = None, + entity_id: Optional[pulumi.Input[str]] = None, + login_url: Optional[pulumi.Input[str]] = None, + sso_status: Optional[pulumi.Input[str]] = None, + update_time: Optional[pulumi.Input[str]] = None, + x509_certificate: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterExternalSamlIdentityProvider': + """ + Get an existing CenterExternalSamlIdentityProvider 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] acs_url: Acs url. + :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_ids: Certificate ids. + :param pulumi.Input[str] create_time: Create time. + :param pulumi.Input[str] encoded_metadata_document: IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + :param pulumi.Input[str] entity_id: IdP identifier. + :param pulumi.Input[str] login_url: IdP login URL. + :param pulumi.Input[str] sso_status: SSO enabling status. Valid values: Enabled, Disabled (default). + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] x509_certificate: X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + :param pulumi.Input[str] zone_id: Space ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterExternalSamlIdentityProviderState.__new__(_CenterExternalSamlIdentityProviderState) + + __props__.__dict__["acs_url"] = acs_url + __props__.__dict__["certificate_ids"] = certificate_ids + __props__.__dict__["create_time"] = create_time + __props__.__dict__["encoded_metadata_document"] = encoded_metadata_document + __props__.__dict__["entity_id"] = entity_id + __props__.__dict__["login_url"] = login_url + __props__.__dict__["sso_status"] = sso_status + __props__.__dict__["update_time"] = update_time + __props__.__dict__["x509_certificate"] = x509_certificate + __props__.__dict__["zone_id"] = zone_id + return CenterExternalSamlIdentityProvider(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="acsUrl") + def acs_url(self) -> pulumi.Output[str]: + """ + Acs url. + """ + return pulumi.get(self, "acs_url") + + @property + @pulumi.getter(name="certificateIds") + def certificate_ids(self) -> pulumi.Output[Sequence[str]]: + """ + Certificate ids. + """ + return pulumi.get(self, "certificate_ids") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="encodedMetadataDocument") + def encoded_metadata_document(self) -> pulumi.Output[str]: + """ + IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol. + """ + return pulumi.get(self, "encoded_metadata_document") + + @property + @pulumi.getter(name="entityId") + def entity_id(self) -> pulumi.Output[str]: + """ + IdP identifier. + """ + return pulumi.get(self, "entity_id") + + @property + @pulumi.getter(name="loginUrl") + def login_url(self) -> pulumi.Output[str]: + """ + IdP login URL. + """ + return pulumi.get(self, "login_url") + + @property + @pulumi.getter(name="ssoStatus") + def sso_status(self) -> pulumi.Output[str]: + """ + SSO enabling status. Valid values: Enabled, Disabled (default). + """ + return pulumi.get(self, "sso_status") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> pulumi.Output[str]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="x509Certificate") + def x509_certificate(self) -> pulumi.Output[str]: + """ + X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced. + """ + return pulumi.get(self, "x509_certificate") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_group.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_group.py new file mode 100644 index 000000000..975f52b14 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_group.py @@ -0,0 +1,425 @@ +# 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__ = ['CenterGroupArgs', 'CenterGroup'] + +@pulumi.input_type +class CenterGroupArgs: + def __init__(__self__, *, + group_name: pulumi.Input[str], + zone_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a CenterGroup resource. + :param pulumi.Input[str] group_name: The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + :param pulumi.Input[str] zone_id: Zone id. + :param pulumi.Input[str] description: A description of the user group. Length: Maximum 1024 characters. + """ + pulumi.set(__self__, "group_name", group_name) + pulumi.set(__self__, "zone_id", zone_id) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> pulumi.Input[str]: + """ + The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "group_name", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Zone id. + """ + 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 description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the user group. Length: Maximum 1024 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + +@pulumi.input_type +class _CenterGroupState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + group_name: Optional[pulumi.Input[str]] = None, + group_type: Optional[pulumi.Input[str]] = None, + member_count: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterGroup resources. + :param pulumi.Input[str] create_time: Creation time of the user group. + :param pulumi.Input[str] description: A description of the user group. Length: Maximum 1024 characters. + :param pulumi.Input[str] group_id: ID of the user group. + :param pulumi.Input[str] group_name: The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + :param pulumi.Input[str] group_type: Type of user group. `Manual`: manual creation, `Synchronized`: external import. + :param pulumi.Input[int] member_count: Number of team members. + :param pulumi.Input[str] update_time: Modification time for the user group. + :param pulumi.Input[str] zone_id: Zone id. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if group_name is not None: + pulumi.set(__self__, "group_name", group_name) + if group_type is not None: + pulumi.set(__self__, "group_type", group_type) + if member_count is not None: + pulumi.set(__self__, "member_count", member_count) + if update_time is not None: + pulumi.set(__self__, "update_time", update_time) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Creation time of the user group. + """ + 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 + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the user group. Length: Maximum 1024 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the user group. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_name", value) + + @property + @pulumi.getter(name="groupType") + def group_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of user group. `Manual`: manual creation, `Synchronized`: external import. + """ + return pulumi.get(self, "group_type") + + @group_type.setter + def group_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_type", value) + + @property + @pulumi.getter(name="memberCount") + def member_count(self) -> Optional[pulumi.Input[int]]: + """ + Number of team members. + """ + return pulumi.get(self, "member_count") + + @member_count.setter + def member_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "member_count", value) + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[pulumi.Input[str]]: + """ + Modification time for the user group. + """ + return pulumi.get(self, "update_time") + + @update_time.setter + def update_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update_time", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Zone id. + """ + 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 CenterGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + group_name: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create an identity center group + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_group = tencentcloud.identity.CenterGroup("identityCenterGroup", + description="test", + group_name="test-group", + zone_id="z-xxxxxx") + ``` + + + ## Import + + tencentcloud_identity_center_group can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerGroup:CenterGroup identity_center_group ${zoneId}#${groupId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description of the user group. Length: Maximum 1024 characters. + :param pulumi.Input[str] group_name: The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + :param pulumi.Input[str] zone_id: Zone id. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create an identity center group + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_group = tencentcloud.identity.CenterGroup("identityCenterGroup", + description="test", + group_name="test-group", + zone_id="z-xxxxxx") + ``` + + + ## Import + + tencentcloud_identity_center_group can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerGroup:CenterGroup identity_center_group ${zoneId}#${groupId} + ``` + + :param str resource_name: The name of the resource. + :param CenterGroupArgs 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(CenterGroupArgs, 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, + description: Optional[pulumi.Input[str]] = None, + group_name: 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__ = CenterGroupArgs.__new__(CenterGroupArgs) + + __props__.__dict__["description"] = description + if group_name is None and not opts.urn: + raise TypeError("Missing required property 'group_name'") + __props__.__dict__["group_name"] = group_name + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["create_time"] = None + __props__.__dict__["group_id"] = None + __props__.__dict__["group_type"] = None + __props__.__dict__["member_count"] = None + __props__.__dict__["update_time"] = None + super(CenterGroup, __self__).__init__( + 'tencentcloud:Identity/centerGroup:CenterGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + group_name: Optional[pulumi.Input[str]] = None, + group_type: Optional[pulumi.Input[str]] = None, + member_count: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterGroup': + """ + Get an existing CenterGroup 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] create_time: Creation time of the user group. + :param pulumi.Input[str] description: A description of the user group. Length: Maximum 1024 characters. + :param pulumi.Input[str] group_id: ID of the user group. + :param pulumi.Input[str] group_name: The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + :param pulumi.Input[str] group_type: Type of user group. `Manual`: manual creation, `Synchronized`: external import. + :param pulumi.Input[int] member_count: Number of team members. + :param pulumi.Input[str] update_time: Modification time for the user group. + :param pulumi.Input[str] zone_id: Zone id. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterGroupState.__new__(_CenterGroupState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["group_id"] = group_id + __props__.__dict__["group_name"] = group_name + __props__.__dict__["group_type"] = group_type + __props__.__dict__["member_count"] = member_count + __props__.__dict__["update_time"] = update_time + __props__.__dict__["zone_id"] = zone_id + return CenterGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + Creation time of the user group. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + A description of the user group. Length: Maximum 1024 characters. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[str]: + """ + ID of the user group. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> pulumi.Output[str]: + """ + The name of the user group. Format: Allow English letters, numbers and special characters-. Length: Maximum 128 characters. + """ + return pulumi.get(self, "group_name") + + @property + @pulumi.getter(name="groupType") + def group_type(self) -> pulumi.Output[str]: + """ + Type of user group. `Manual`: manual creation, `Synchronized`: external import. + """ + return pulumi.get(self, "group_type") + + @property + @pulumi.getter(name="memberCount") + def member_count(self) -> pulumi.Output[int]: + """ + Number of team members. + """ + return pulumi.get(self, "member_count") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> pulumi.Output[str]: + """ + Modification time for the user group. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Zone id. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_role_assignment.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_assignment.py new file mode 100644 index 000000000..ce41c1417 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_assignment.py @@ -0,0 +1,658 @@ +# 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__ = ['CenterRoleAssignmentArgs', 'CenterRoleAssignment'] + +@pulumi.input_type +class CenterRoleAssignmentArgs: + def __init__(__self__, *, + principal_id: pulumi.Input[str], + principal_type: pulumi.Input[str], + role_configuration_id: pulumi.Input[str], + target_type: pulumi.Input[str], + target_uin: pulumi.Input[int], + zone_id: pulumi.Input[str], + deprovision_strategy: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a CenterRoleAssignment resource. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + :param pulumi.Input[str] zone_id: Space ID. + :param pulumi.Input[str] deprovision_strategy: When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + """ + pulumi.set(__self__, "principal_id", principal_id) + pulumi.set(__self__, "principal_type", principal_type) + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + pulumi.set(__self__, "target_type", target_type) + pulumi.set(__self__, "target_uin", target_uin) + pulumi.set(__self__, "zone_id", zone_id) + if deprovision_strategy is not None: + pulumi.set(__self__, "deprovision_strategy", deprovision_strategy) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> pulumi.Input[str]: + """ + Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + """ + return pulumi.get(self, "principal_id") + + @principal_id.setter + def principal_id(self, value: pulumi.Input[str]): + pulumi.set(self, "principal_id", value) + + @property + @pulumi.getter(name="principalType") + def principal_type(self) -> pulumi.Input[str]: + """ + Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + """ + return pulumi.get(self, "principal_type") + + @principal_type.setter + def principal_type(self, value: pulumi.Input[str]): + pulumi.set(self, "principal_type", value) + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> pulumi.Input[str]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @role_configuration_id.setter + def role_configuration_id(self, value: pulumi.Input[str]): + pulumi.set(self, "role_configuration_id", value) + + @property + @pulumi.getter(name="targetType") + def target_type(self) -> pulumi.Input[str]: + """ + Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + """ + return pulumi.get(self, "target_type") + + @target_type.setter + def target_type(self, value: pulumi.Input[str]): + pulumi.set(self, "target_type", value) + + @property + @pulumi.getter(name="targetUin") + def target_uin(self) -> pulumi.Input[int]: + """ + UIN of the synchronized target account of the Tencent Cloud Organization. + """ + return pulumi.get(self, "target_uin") + + @target_uin.setter + def target_uin(self, value: pulumi.Input[int]): + pulumi.set(self, "target_uin", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. + """ + 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(name="deprovisionStrategy") + def deprovision_strategy(self) -> Optional[pulumi.Input[str]]: + """ + When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + """ + return pulumi.get(self, "deprovision_strategy") + + @deprovision_strategy.setter + def deprovision_strategy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deprovision_strategy", value) + + +@pulumi.input_type +class _CenterRoleAssignmentState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[str]] = None, + deprovision_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_name: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_configuration_name: Optional[pulumi.Input[str]] = None, + target_name: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterRoleAssignment resources. + :param pulumi.Input[str] create_time: Create time. + :param pulumi.Input[str] deprovision_strategy: When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_name: Principal name. + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_configuration_name: Role configuration name. + :param pulumi.Input[str] target_name: Target name. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] zone_id: Space ID. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if deprovision_strategy is not None: + pulumi.set(__self__, "deprovision_strategy", deprovision_strategy) + if principal_id is not None: + pulumi.set(__self__, "principal_id", principal_id) + if principal_name is not None: + pulumi.set(__self__, "principal_name", principal_name) + if principal_type is not None: + pulumi.set(__self__, "principal_type", principal_type) + if role_configuration_id is not None: + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + if role_configuration_name is not None: + pulumi.set(__self__, "role_configuration_name", role_configuration_name) + if target_name is not None: + pulumi.set(__self__, "target_name", target_name) + if target_type is not None: + pulumi.set(__self__, "target_type", target_type) + if target_uin is not None: + pulumi.set(__self__, "target_uin", target_uin) + if update_time is not None: + pulumi.set(__self__, "update_time", update_time) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Create 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="deprovisionStrategy") + def deprovision_strategy(self) -> Optional[pulumi.Input[str]]: + """ + When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + """ + return pulumi.get(self, "deprovision_strategy") + + @deprovision_strategy.setter + def deprovision_strategy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deprovision_strategy", value) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> Optional[pulumi.Input[str]]: + """ + Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + """ + return pulumi.get(self, "principal_id") + + @principal_id.setter + def principal_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_id", value) + + @property + @pulumi.getter(name="principalName") + def principal_name(self) -> Optional[pulumi.Input[str]]: + """ + Principal name. + """ + return pulumi.get(self, "principal_name") + + @principal_name.setter + def principal_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_name", value) + + @property + @pulumi.getter(name="principalType") + def principal_type(self) -> Optional[pulumi.Input[str]]: + """ + Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + """ + return pulumi.get(self, "principal_type") + + @principal_type.setter + def principal_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_type", value) + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> Optional[pulumi.Input[str]]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @role_configuration_id.setter + def role_configuration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_configuration_id", value) + + @property + @pulumi.getter(name="roleConfigurationName") + def role_configuration_name(self) -> Optional[pulumi.Input[str]]: + """ + Role configuration name. + """ + return pulumi.get(self, "role_configuration_name") + + @role_configuration_name.setter + def role_configuration_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_configuration_name", value) + + @property + @pulumi.getter(name="targetName") + def target_name(self) -> Optional[pulumi.Input[str]]: + """ + Target name. + """ + return pulumi.get(self, "target_name") + + @target_name.setter + def target_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_name", value) + + @property + @pulumi.getter(name="targetType") + def target_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + """ + return pulumi.get(self, "target_type") + + @target_type.setter + def target_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_type", value) + + @property + @pulumi.getter(name="targetUin") + def target_uin(self) -> Optional[pulumi.Input[int]]: + """ + UIN of the synchronized target account of the Tencent Cloud Organization. + """ + return pulumi.get(self, "target_uin") + + @target_uin.setter + def target_uin(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "target_uin", value) + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[pulumi.Input[str]]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @update_time.setter + def update_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update_time", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. + """ + 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 CenterRoleAssignment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + deprovision_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a organization identity_center_role_assignment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_assignment = tencentcloud.identity.CenterRoleAssignment("identityCenterRoleAssignment", + principal_id="u-xxxxxx", + principal_type="User", + role_configuration_id="rc-xxxxxx", + target_type="MemberUin", + target_uin="xxxxxx", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_role_assignment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment identity_center_role_assignment {zoneId}#{roleConfigurationId}#{targetType}#{targetUinString}#{principalType}#{principalId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] deprovision_strategy: When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + :param pulumi.Input[str] zone_id: Space ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterRoleAssignmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization identity_center_role_assignment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_assignment = tencentcloud.identity.CenterRoleAssignment("identityCenterRoleAssignment", + principal_id="u-xxxxxx", + principal_type="User", + role_configuration_id="rc-xxxxxx", + target_type="MemberUin", + target_uin="xxxxxx", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_role_assignment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment identity_center_role_assignment {zoneId}#{roleConfigurationId}#{targetType}#{targetUinString}#{principalType}#{principalId} + ``` + + :param str resource_name: The name of the resource. + :param CenterRoleAssignmentArgs 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(CenterRoleAssignmentArgs, 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, + deprovision_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = 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__ = CenterRoleAssignmentArgs.__new__(CenterRoleAssignmentArgs) + + __props__.__dict__["deprovision_strategy"] = deprovision_strategy + if principal_id is None and not opts.urn: + raise TypeError("Missing required property 'principal_id'") + __props__.__dict__["principal_id"] = principal_id + if principal_type is None and not opts.urn: + raise TypeError("Missing required property 'principal_type'") + __props__.__dict__["principal_type"] = principal_type + if role_configuration_id is None and not opts.urn: + raise TypeError("Missing required property 'role_configuration_id'") + __props__.__dict__["role_configuration_id"] = role_configuration_id + if target_type is None and not opts.urn: + raise TypeError("Missing required property 'target_type'") + __props__.__dict__["target_type"] = target_type + if target_uin is None and not opts.urn: + raise TypeError("Missing required property 'target_uin'") + __props__.__dict__["target_uin"] = target_uin + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["create_time"] = None + __props__.__dict__["principal_name"] = None + __props__.__dict__["role_configuration_name"] = None + __props__.__dict__["target_name"] = None + __props__.__dict__["update_time"] = None + super(CenterRoleAssignment, __self__).__init__( + 'tencentcloud:Identity/centerRoleAssignment:CenterRoleAssignment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[str]] = None, + deprovision_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_name: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_configuration_name: Optional[pulumi.Input[str]] = None, + target_name: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterRoleAssignment': + """ + Get an existing CenterRoleAssignment 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] create_time: Create time. + :param pulumi.Input[str] deprovision_strategy: When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_name: Principal name. + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_configuration_name: Role configuration name. + :param pulumi.Input[str] target_name: Target name. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] zone_id: Space ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterRoleAssignmentState.__new__(_CenterRoleAssignmentState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["deprovision_strategy"] = deprovision_strategy + __props__.__dict__["principal_id"] = principal_id + __props__.__dict__["principal_name"] = principal_name + __props__.__dict__["principal_type"] = principal_type + __props__.__dict__["role_configuration_id"] = role_configuration_id + __props__.__dict__["role_configuration_name"] = role_configuration_name + __props__.__dict__["target_name"] = target_name + __props__.__dict__["target_type"] = target_type + __props__.__dict__["target_uin"] = target_uin + __props__.__dict__["update_time"] = update_time + __props__.__dict__["zone_id"] = zone_id + return CenterRoleAssignment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="deprovisionStrategy") + def deprovision_strategy(self) -> pulumi.Output[Optional[str]]: + """ + When you remove the last authorization configured with a certain privilege on a group account target account, whether to cancel the privilege configuration deployment at the same time. Value: DeprovisionForLastRoleAssignmentOnAccount: Remove privileges to configure deployment. None (default): Configure deployment without delegating privileges. + """ + return pulumi.get(self, "deprovision_strategy") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> pulumi.Output[str]: + """ + Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="principalName") + def principal_name(self) -> pulumi.Output[str]: + """ + Principal name. + """ + return pulumi.get(self, "principal_name") + + @property + @pulumi.getter(name="principalType") + def principal_type(self) -> pulumi.Output[str]: + """ + Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + """ + return pulumi.get(self, "principal_type") + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> pulumi.Output[str]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @property + @pulumi.getter(name="roleConfigurationName") + def role_configuration_name(self) -> pulumi.Output[str]: + """ + Role configuration name. + """ + return pulumi.get(self, "role_configuration_name") + + @property + @pulumi.getter(name="targetName") + def target_name(self) -> pulumi.Output[str]: + """ + Target name. + """ + return pulumi.get(self, "target_name") + + @property + @pulumi.getter(name="targetType") + def target_type(self) -> pulumi.Output[str]: + """ + Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + """ + return pulumi.get(self, "target_type") + + @property + @pulumi.getter(name="targetUin") + def target_uin(self) -> pulumi.Output[int]: + """ + UIN of the synchronized target account of the Tencent Cloud Organization. + """ + return pulumi.get(self, "target_uin") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> pulumi.Output[str]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration.py new file mode 100644 index 000000000..fbb5c6a7f --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration.py @@ -0,0 +1,463 @@ +# 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__ = ['CenterRoleConfigurationArgs', 'CenterRoleConfiguration'] + +@pulumi.input_type +class CenterRoleConfigurationArgs: + def __init__(__self__, *, + role_configuration_name: pulumi.Input[str], + zone_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + relay_state: Optional[pulumi.Input[str]] = None, + session_duration: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a CenterRoleConfiguration resource. + :param pulumi.Input[str] role_configuration_name: Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + :param pulumi.Input[str] zone_id: Space ID. + :param pulumi.Input[str] description: Access configuration description, which contains up to 1024 characters. + :param pulumi.Input[str] relay_state: Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + :param pulumi.Input[int] session_duration: Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + """ + pulumi.set(__self__, "role_configuration_name", role_configuration_name) + pulumi.set(__self__, "zone_id", zone_id) + if description is not None: + pulumi.set(__self__, "description", description) + if relay_state is not None: + pulumi.set(__self__, "relay_state", relay_state) + if session_duration is not None: + pulumi.set(__self__, "session_duration", session_duration) + + @property + @pulumi.getter(name="roleConfigurationName") + def role_configuration_name(self) -> pulumi.Input[str]: + """ + Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + """ + return pulumi.get(self, "role_configuration_name") + + @role_configuration_name.setter + def role_configuration_name(self, value: pulumi.Input[str]): + pulumi.set(self, "role_configuration_name", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. + """ + 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 description(self) -> Optional[pulumi.Input[str]]: + """ + Access configuration description, which contains up to 1024 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="relayState") + def relay_state(self) -> Optional[pulumi.Input[str]]: + """ + Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + """ + return pulumi.get(self, "relay_state") + + @relay_state.setter + def relay_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "relay_state", value) + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> Optional[pulumi.Input[int]]: + """ + Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + """ + return pulumi.get(self, "session_duration") + + @session_duration.setter + def session_duration(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "session_duration", value) + + +@pulumi.input_type +class _CenterRoleConfigurationState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + relay_state: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_configuration_name: Optional[pulumi.Input[str]] = None, + session_duration: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterRoleConfiguration resources. + :param pulumi.Input[str] create_time: Create time. + :param pulumi.Input[str] description: Access configuration description, which contains up to 1024 characters. + :param pulumi.Input[str] relay_state: Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + :param pulumi.Input[str] role_configuration_id: Role configuration id. + :param pulumi.Input[str] role_configuration_name: Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + :param pulumi.Input[int] session_duration: Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] zone_id: Space ID. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if relay_state is not None: + pulumi.set(__self__, "relay_state", relay_state) + if role_configuration_id is not None: + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + if role_configuration_name is not None: + pulumi.set(__self__, "role_configuration_name", role_configuration_name) + if session_duration is not None: + pulumi.set(__self__, "session_duration", session_duration) + if update_time is not None: + pulumi.set(__self__, "update_time", update_time) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Create 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 + def description(self) -> Optional[pulumi.Input[str]]: + """ + Access configuration description, which contains up to 1024 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="relayState") + def relay_state(self) -> Optional[pulumi.Input[str]]: + """ + Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + """ + return pulumi.get(self, "relay_state") + + @relay_state.setter + def relay_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "relay_state", value) + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> Optional[pulumi.Input[str]]: + """ + Role configuration id. + """ + return pulumi.get(self, "role_configuration_id") + + @role_configuration_id.setter + def role_configuration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_configuration_id", value) + + @property + @pulumi.getter(name="roleConfigurationName") + def role_configuration_name(self) -> Optional[pulumi.Input[str]]: + """ + Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + """ + return pulumi.get(self, "role_configuration_name") + + @role_configuration_name.setter + def role_configuration_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_configuration_name", value) + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> Optional[pulumi.Input[int]]: + """ + Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + """ + return pulumi.get(self, "session_duration") + + @session_duration.setter + def session_duration(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "session_duration", value) + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[pulumi.Input[str]]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @update_time.setter + def update_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update_time", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. + """ + 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 CenterRoleConfiguration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + relay_state: Optional[pulumi.Input[str]] = None, + role_configuration_name: Optional[pulumi.Input[str]] = None, + session_duration: Optional[pulumi.Input[int]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a organization identity_center_role_configuration + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration = tencentcloud.identity.CenterRoleConfiguration("identityCenterRoleConfiguration", + description="test", + role_configuration_name="tf-test", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_role_configuration can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration identity_center_role_configuration ${zoneId}#${roleConfigurationId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Access configuration description, which contains up to 1024 characters. + :param pulumi.Input[str] relay_state: Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + :param pulumi.Input[str] role_configuration_name: Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + :param pulumi.Input[int] session_duration: Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + :param pulumi.Input[str] zone_id: Space ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterRoleConfigurationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization identity_center_role_configuration + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration = tencentcloud.identity.CenterRoleConfiguration("identityCenterRoleConfiguration", + description="test", + role_configuration_name="tf-test", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_role_configuration can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration identity_center_role_configuration ${zoneId}#${roleConfigurationId} + ``` + + :param str resource_name: The name of the resource. + :param CenterRoleConfigurationArgs 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(CenterRoleConfigurationArgs, 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, + description: Optional[pulumi.Input[str]] = None, + relay_state: Optional[pulumi.Input[str]] = None, + role_configuration_name: Optional[pulumi.Input[str]] = None, + session_duration: Optional[pulumi.Input[int]] = 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__ = CenterRoleConfigurationArgs.__new__(CenterRoleConfigurationArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["relay_state"] = relay_state + if role_configuration_name is None and not opts.urn: + raise TypeError("Missing required property 'role_configuration_name'") + __props__.__dict__["role_configuration_name"] = role_configuration_name + __props__.__dict__["session_duration"] = session_duration + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["create_time"] = None + __props__.__dict__["role_configuration_id"] = None + __props__.__dict__["update_time"] = None + super(CenterRoleConfiguration, __self__).__init__( + 'tencentcloud:Identity/centerRoleConfiguration:CenterRoleConfiguration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + relay_state: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_configuration_name: Optional[pulumi.Input[str]] = None, + session_duration: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterRoleConfiguration': + """ + Get an existing CenterRoleConfiguration 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] create_time: Create time. + :param pulumi.Input[str] description: Access configuration description, which contains up to 1024 characters. + :param pulumi.Input[str] relay_state: Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + :param pulumi.Input[str] role_configuration_id: Role configuration id. + :param pulumi.Input[str] role_configuration_name: Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + :param pulumi.Input[int] session_duration: Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] zone_id: Space ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterRoleConfigurationState.__new__(_CenterRoleConfigurationState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["relay_state"] = relay_state + __props__.__dict__["role_configuration_id"] = role_configuration_id + __props__.__dict__["role_configuration_name"] = role_configuration_name + __props__.__dict__["session_duration"] = session_duration + __props__.__dict__["update_time"] = update_time + __props__.__dict__["zone_id"] = zone_id + return CenterRoleConfiguration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + Access configuration description, which contains up to 1024 characters. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="relayState") + def relay_state(self) -> pulumi.Output[str]: + """ + Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. This page must be the Tencent Cloud console page. The default is null, which indicates navigating to the home page of the Tencent Cloud console. + """ + return pulumi.get(self, "relay_state") + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> pulumi.Output[str]: + """ + Role configuration id. + """ + return pulumi.get(self, "role_configuration_id") + + @property + @pulumi.getter(name="roleConfigurationName") + def role_configuration_name(self) -> pulumi.Output[str]: + """ + Access configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-). + """ + return pulumi.get(self, "role_configuration_name") + + @property + @pulumi.getter(name="sessionDuration") + def session_duration(self) -> pulumi.Output[int]: + """ + Session duration. It indicates the maximum session duration when CIC users use the access configuration to access the target account of the Tencent Cloud Organization. Unit: seconds. Value range: 900-43,200 (15 minutes to 12 hours). Default value: 3600 (1 hour). + """ + return pulumi.get(self, "session_duration") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> pulumi.Output[str]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_custom_policy_attachment.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_custom_policy_attachment.py new file mode 100644 index 000000000..333e61d96 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_custom_policy_attachment.py @@ -0,0 +1,420 @@ +# 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__ = ['CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs', 'CenterRoleConfigurationPermissionCustomPolicyAttachment'] + +@pulumi.input_type +class CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs: + def __init__(__self__, *, + role_configuration_id: pulumi.Input[str], + role_policy_document: pulumi.Input[str], + role_policy_name: pulumi.Input[str], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CenterRoleConfigurationPermissionCustomPolicyAttachment resource. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_policy_document: Role policy document. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] zone_id: Space ID. + """ + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + pulumi.set(__self__, "role_policy_document", role_policy_document) + pulumi.set(__self__, "role_policy_name", role_policy_name) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> pulumi.Input[str]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @role_configuration_id.setter + def role_configuration_id(self, value: pulumi.Input[str]): + pulumi.set(self, "role_configuration_id", value) + + @property + @pulumi.getter(name="rolePolicyDocument") + def role_policy_document(self) -> pulumi.Input[str]: + """ + Role policy document. + """ + return pulumi.get(self, "role_policy_document") + + @role_policy_document.setter + def role_policy_document(self, value: pulumi.Input[str]): + pulumi.set(self, "role_policy_document", value) + + @property + @pulumi.getter(name="rolePolicyName") + def role_policy_name(self) -> pulumi.Input[str]: + """ + Role policy name. + """ + return pulumi.get(self, "role_policy_name") + + @role_policy_name.setter + def role_policy_name(self, value: pulumi.Input[str]): + pulumi.set(self, "role_policy_name", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_id", value) + + +@pulumi.input_type +class _CenterRoleConfigurationPermissionCustomPolicyAttachmentState: + def __init__(__self__, *, + add_time: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_document: Optional[pulumi.Input[str]] = None, + role_policy_name: Optional[pulumi.Input[str]] = None, + role_policy_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterRoleConfigurationPermissionCustomPolicyAttachment resources. + :param pulumi.Input[str] add_time: Role policy add time. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_policy_document: Role policy document. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] role_policy_type: Role policy type. + :param pulumi.Input[str] zone_id: Space ID. + """ + if add_time is not None: + pulumi.set(__self__, "add_time", add_time) + if role_configuration_id is not None: + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + if role_policy_document is not None: + pulumi.set(__self__, "role_policy_document", role_policy_document) + if role_policy_name is not None: + pulumi.set(__self__, "role_policy_name", role_policy_name) + if role_policy_type is not None: + pulumi.set(__self__, "role_policy_type", role_policy_type) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="addTime") + def add_time(self) -> Optional[pulumi.Input[str]]: + """ + Role policy add time. + """ + return pulumi.get(self, "add_time") + + @add_time.setter + def add_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "add_time", value) + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> Optional[pulumi.Input[str]]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @role_configuration_id.setter + def role_configuration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_configuration_id", value) + + @property + @pulumi.getter(name="rolePolicyDocument") + def role_policy_document(self) -> Optional[pulumi.Input[str]]: + """ + Role policy document. + """ + return pulumi.get(self, "role_policy_document") + + @role_policy_document.setter + def role_policy_document(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_policy_document", value) + + @property + @pulumi.getter(name="rolePolicyName") + def role_policy_name(self) -> Optional[pulumi.Input[str]]: + """ + Role policy name. + """ + return pulumi.get(self, "role_policy_name") + + @role_policy_name.setter + def role_policy_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_policy_name", value) + + @property + @pulumi.getter(name="rolePolicyType") + def role_policy_type(self) -> Optional[pulumi.Input[str]]: + """ + Role policy type. + """ + return pulumi.get(self, "role_policy_type") + + @role_policy_type.setter + def role_policy_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_policy_type", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. + """ + 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 CenterRoleConfigurationPermissionCustomPolicyAttachment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_document: Optional[pulumi.Input[str]] = None, + role_policy_name: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a organization identity_center_role_configuration_permission_custom_policy_attachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration_permission_custom_policy_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionCustomPolicyAttachment("identityCenterRoleConfigurationPermissionCustomPolicyAttachment", + zone_id="z-xxxxxx", + role_configuration_id="rc-xxxxxx", + role_policy_name="CustomPolicy", + role_policy_document=\"\"\"{ + "version": "2.0", + "statement": [ + { + "effect": "allow", + "action": [ + "vpc:AcceptAttachCcnInstances" + ], + "resource": [ + "*" + ] + } + ] + } + \"\"\") + ``` + + + ## Import + + organization identity_center_role_configuration_permission_custom_policy_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment identity_center_role_configuration_permission_custom_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_policy_document: Role policy document. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] zone_id: Space ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization identity_center_role_configuration_permission_custom_policy_attachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration_permission_custom_policy_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionCustomPolicyAttachment("identityCenterRoleConfigurationPermissionCustomPolicyAttachment", + zone_id="z-xxxxxx", + role_configuration_id="rc-xxxxxx", + role_policy_name="CustomPolicy", + role_policy_document=\"\"\"{ + "version": "2.0", + "statement": [ + { + "effect": "allow", + "action": [ + "vpc:AcceptAttachCcnInstances" + ], + "resource": [ + "*" + ] + } + ] + } + \"\"\") + ``` + + + ## Import + + organization identity_center_role_configuration_permission_custom_policy_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment identity_center_role_configuration_permission_custom_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyName} + ``` + + :param str resource_name: The name of the resource. + :param CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs 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(CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs, 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, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_document: Optional[pulumi.Input[str]] = None, + role_policy_name: 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__ = CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs.__new__(CenterRoleConfigurationPermissionCustomPolicyAttachmentArgs) + + if role_configuration_id is None and not opts.urn: + raise TypeError("Missing required property 'role_configuration_id'") + __props__.__dict__["role_configuration_id"] = role_configuration_id + if role_policy_document is None and not opts.urn: + raise TypeError("Missing required property 'role_policy_document'") + __props__.__dict__["role_policy_document"] = role_policy_document + if role_policy_name is None and not opts.urn: + raise TypeError("Missing required property 'role_policy_name'") + __props__.__dict__["role_policy_name"] = role_policy_name + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["add_time"] = None + __props__.__dict__["role_policy_type"] = None + super(CenterRoleConfigurationPermissionCustomPolicyAttachment, __self__).__init__( + 'tencentcloud:Identity/centerRoleConfigurationPermissionCustomPolicyAttachment:CenterRoleConfigurationPermissionCustomPolicyAttachment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + add_time: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_document: Optional[pulumi.Input[str]] = None, + role_policy_name: Optional[pulumi.Input[str]] = None, + role_policy_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterRoleConfigurationPermissionCustomPolicyAttachment': + """ + Get an existing CenterRoleConfigurationPermissionCustomPolicyAttachment 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] add_time: Role policy add time. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_policy_document: Role policy document. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] role_policy_type: Role policy type. + :param pulumi.Input[str] zone_id: Space ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterRoleConfigurationPermissionCustomPolicyAttachmentState.__new__(_CenterRoleConfigurationPermissionCustomPolicyAttachmentState) + + __props__.__dict__["add_time"] = add_time + __props__.__dict__["role_configuration_id"] = role_configuration_id + __props__.__dict__["role_policy_document"] = role_policy_document + __props__.__dict__["role_policy_name"] = role_policy_name + __props__.__dict__["role_policy_type"] = role_policy_type + __props__.__dict__["zone_id"] = zone_id + return CenterRoleConfigurationPermissionCustomPolicyAttachment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="addTime") + def add_time(self) -> pulumi.Output[str]: + """ + Role policy add time. + """ + return pulumi.get(self, "add_time") + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> pulumi.Output[str]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @property + @pulumi.getter(name="rolePolicyDocument") + def role_policy_document(self) -> pulumi.Output[str]: + """ + Role policy document. + """ + return pulumi.get(self, "role_policy_document") + + @property + @pulumi.getter(name="rolePolicyName") + def role_policy_name(self) -> pulumi.Output[str]: + """ + Role policy name. + """ + return pulumi.get(self, "role_policy_name") + + @property + @pulumi.getter(name="rolePolicyType") + def role_policy_type(self) -> pulumi.Output[str]: + """ + Role policy type. + """ + return pulumi.get(self, "role_policy_type") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_policy_attachment.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_policy_attachment.py new file mode 100644 index 000000000..481ebd4f9 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_role_configuration_permission_policy_attachment.py @@ -0,0 +1,417 @@ +# 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__ = ['CenterRoleConfigurationPermissionPolicyAttachmentArgs', 'CenterRoleConfigurationPermissionPolicyAttachment'] + +@pulumi.input_type +class CenterRoleConfigurationPermissionPolicyAttachmentArgs: + def __init__(__self__, *, + role_configuration_id: pulumi.Input[str], + role_policy_id: pulumi.Input[int], + zone_id: pulumi.Input[str], + role_policy_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a CenterRoleConfigurationPermissionPolicyAttachment resource. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[int] role_policy_id: Role policy id. + :param pulumi.Input[str] zone_id: Space ID. + :param pulumi.Input[str] role_policy_name: Role policy name. + """ + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + pulumi.set(__self__, "role_policy_id", role_policy_id) + pulumi.set(__self__, "zone_id", zone_id) + if role_policy_name is not None: + pulumi.set(__self__, "role_policy_name", role_policy_name) + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> pulumi.Input[str]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @role_configuration_id.setter + def role_configuration_id(self, value: pulumi.Input[str]): + pulumi.set(self, "role_configuration_id", value) + + @property + @pulumi.getter(name="rolePolicyId") + def role_policy_id(self) -> pulumi.Input[int]: + """ + Role policy id. + """ + return pulumi.get(self, "role_policy_id") + + @role_policy_id.setter + def role_policy_id(self, value: pulumi.Input[int]): + pulumi.set(self, "role_policy_id", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. + """ + 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(name="rolePolicyName") + def role_policy_name(self) -> Optional[pulumi.Input[str]]: + """ + Role policy name. + """ + return pulumi.get(self, "role_policy_name") + + @role_policy_name.setter + def role_policy_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_policy_name", value) + + +@pulumi.input_type +class _CenterRoleConfigurationPermissionPolicyAttachmentState: + def __init__(__self__, *, + add_time: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_document: Optional[pulumi.Input[str]] = None, + role_policy_id: Optional[pulumi.Input[int]] = None, + role_policy_name: Optional[pulumi.Input[str]] = None, + role_policy_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterRoleConfigurationPermissionPolicyAttachment resources. + :param pulumi.Input[str] add_time: Role policy add time. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_policy_document: Role policy document. + :param pulumi.Input[int] role_policy_id: Role policy id. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] role_policy_type: Role policy type. + :param pulumi.Input[str] zone_id: Space ID. + """ + if add_time is not None: + pulumi.set(__self__, "add_time", add_time) + if role_configuration_id is not None: + pulumi.set(__self__, "role_configuration_id", role_configuration_id) + if role_policy_document is not None: + pulumi.set(__self__, "role_policy_document", role_policy_document) + if role_policy_id is not None: + pulumi.set(__self__, "role_policy_id", role_policy_id) + if role_policy_name is not None: + pulumi.set(__self__, "role_policy_name", role_policy_name) + if role_policy_type is not None: + pulumi.set(__self__, "role_policy_type", role_policy_type) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="addTime") + def add_time(self) -> Optional[pulumi.Input[str]]: + """ + Role policy add time. + """ + return pulumi.get(self, "add_time") + + @add_time.setter + def add_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "add_time", value) + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> Optional[pulumi.Input[str]]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @role_configuration_id.setter + def role_configuration_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_configuration_id", value) + + @property + @pulumi.getter(name="rolePolicyDocument") + def role_policy_document(self) -> Optional[pulumi.Input[str]]: + """ + Role policy document. + """ + return pulumi.get(self, "role_policy_document") + + @role_policy_document.setter + def role_policy_document(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_policy_document", value) + + @property + @pulumi.getter(name="rolePolicyId") + def role_policy_id(self) -> Optional[pulumi.Input[int]]: + """ + Role policy id. + """ + return pulumi.get(self, "role_policy_id") + + @role_policy_id.setter + def role_policy_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "role_policy_id", value) + + @property + @pulumi.getter(name="rolePolicyName") + def role_policy_name(self) -> Optional[pulumi.Input[str]]: + """ + Role policy name. + """ + return pulumi.get(self, "role_policy_name") + + @role_policy_name.setter + def role_policy_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_policy_name", value) + + @property + @pulumi.getter(name="rolePolicyType") + def role_policy_type(self) -> Optional[pulumi.Input[str]]: + """ + Role policy type. + """ + return pulumi.get(self, "role_policy_type") + + @role_policy_type.setter + def role_policy_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_policy_type", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. + """ + 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 CenterRoleConfigurationPermissionPolicyAttachment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_id: Optional[pulumi.Input[int]] = None, + role_policy_name: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a organization identity_center_role_configuration_permission_policy_attachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration_permission_policy_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionPolicyAttachment("identityCenterRoleConfigurationPermissionPolicyAttachment", + zone_id="z-xxxxxx", + role_configuration_id="rc-xxxxxx", + role_policy_id=xxxxxx) + ``` + + + ## Import + + organization identity_center_role_configuration_permission_policy_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment identity_center_role_configuration_permission_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyIdString} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[int] role_policy_id: Role policy id. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] zone_id: Space ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterRoleConfigurationPermissionPolicyAttachmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization identity_center_role_configuration_permission_policy_attachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_role_configuration_permission_policy_attachment = tencentcloud.identity.CenterRoleConfigurationPermissionPolicyAttachment("identityCenterRoleConfigurationPermissionPolicyAttachment", + zone_id="z-xxxxxx", + role_configuration_id="rc-xxxxxx", + role_policy_id=xxxxxx) + ``` + + + ## Import + + organization identity_center_role_configuration_permission_policy_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment identity_center_role_configuration_permission_policy_attachment ${zoneId}#${roleConfigurationId}#${rolePolicyIdString} + ``` + + :param str resource_name: The name of the resource. + :param CenterRoleConfigurationPermissionPolicyAttachmentArgs 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(CenterRoleConfigurationPermissionPolicyAttachmentArgs, 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, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_id: Optional[pulumi.Input[int]] = None, + role_policy_name: 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__ = CenterRoleConfigurationPermissionPolicyAttachmentArgs.__new__(CenterRoleConfigurationPermissionPolicyAttachmentArgs) + + if role_configuration_id is None and not opts.urn: + raise TypeError("Missing required property 'role_configuration_id'") + __props__.__dict__["role_configuration_id"] = role_configuration_id + if role_policy_id is None and not opts.urn: + raise TypeError("Missing required property 'role_policy_id'") + __props__.__dict__["role_policy_id"] = role_policy_id + __props__.__dict__["role_policy_name"] = role_policy_name + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["add_time"] = None + __props__.__dict__["role_policy_document"] = None + __props__.__dict__["role_policy_type"] = None + super(CenterRoleConfigurationPermissionPolicyAttachment, __self__).__init__( + 'tencentcloud:Identity/centerRoleConfigurationPermissionPolicyAttachment:CenterRoleConfigurationPermissionPolicyAttachment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + add_time: Optional[pulumi.Input[str]] = None, + role_configuration_id: Optional[pulumi.Input[str]] = None, + role_policy_document: Optional[pulumi.Input[str]] = None, + role_policy_id: Optional[pulumi.Input[int]] = None, + role_policy_name: Optional[pulumi.Input[str]] = None, + role_policy_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterRoleConfigurationPermissionPolicyAttachment': + """ + Get an existing CenterRoleConfigurationPermissionPolicyAttachment 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] add_time: Role policy add time. + :param pulumi.Input[str] role_configuration_id: Permission configuration ID. + :param pulumi.Input[str] role_policy_document: Role policy document. + :param pulumi.Input[int] role_policy_id: Role policy id. + :param pulumi.Input[str] role_policy_name: Role policy name. + :param pulumi.Input[str] role_policy_type: Role policy type. + :param pulumi.Input[str] zone_id: Space ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterRoleConfigurationPermissionPolicyAttachmentState.__new__(_CenterRoleConfigurationPermissionPolicyAttachmentState) + + __props__.__dict__["add_time"] = add_time + __props__.__dict__["role_configuration_id"] = role_configuration_id + __props__.__dict__["role_policy_document"] = role_policy_document + __props__.__dict__["role_policy_id"] = role_policy_id + __props__.__dict__["role_policy_name"] = role_policy_name + __props__.__dict__["role_policy_type"] = role_policy_type + __props__.__dict__["zone_id"] = zone_id + return CenterRoleConfigurationPermissionPolicyAttachment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="addTime") + def add_time(self) -> pulumi.Output[str]: + """ + Role policy add time. + """ + return pulumi.get(self, "add_time") + + @property + @pulumi.getter(name="roleConfigurationId") + def role_configuration_id(self) -> pulumi.Output[str]: + """ + Permission configuration ID. + """ + return pulumi.get(self, "role_configuration_id") + + @property + @pulumi.getter(name="rolePolicyDocument") + def role_policy_document(self) -> pulumi.Output[str]: + """ + Role policy document. + """ + return pulumi.get(self, "role_policy_document") + + @property + @pulumi.getter(name="rolePolicyId") + def role_policy_id(self) -> pulumi.Output[int]: + """ + Role policy id. + """ + return pulumi.get(self, "role_policy_id") + + @property + @pulumi.getter(name="rolePolicyName") + def role_policy_name(self) -> pulumi.Output[str]: + """ + Role policy name. + """ + return pulumi.get(self, "role_policy_name") + + @property + @pulumi.getter(name="rolePolicyType") + def role_policy_type(self) -> pulumi.Output[str]: + """ + Role policy type. + """ + return pulumi.get(self, "role_policy_type") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_user.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_user.py new file mode 100644 index 000000000..f94f9f4db --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_user.py @@ -0,0 +1,632 @@ +# 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__ = ['CenterUserArgs', 'CenterUser'] + +@pulumi.input_type +class CenterUserArgs: + def __init__(__self__, *, + user_name: pulumi.Input[str], + zone_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + user_status: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a CenterUser resource. + :param pulumi.Input[str] user_name: User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + :param pulumi.Input[str] zone_id: Zone id. + :param pulumi.Input[str] description: User's description. Length: Maximum 1024 characters. + :param pulumi.Input[str] display_name: The display name of the user. Length: Maximum 256 characters. + :param pulumi.Input[str] email: The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + :param pulumi.Input[str] first_name: The user's last name. Length: Maximum 64 characters. + :param pulumi.Input[str] last_name: The user's name. Length: Maximum 64 characters. + :param pulumi.Input[str] user_status: The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + """ + pulumi.set(__self__, "user_name", user_name) + pulumi.set(__self__, "zone_id", zone_id) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if email is not None: + pulumi.set(__self__, "email", email) + if first_name is not None: + pulumi.set(__self__, "first_name", first_name) + if last_name is not None: + pulumi.set(__self__, "last_name", last_name) + if user_status is not None: + pulumi.set(__self__, "user_status", user_status) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Input[str]: + """ + User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "user_name", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Zone id. + """ + 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 description(self) -> Optional[pulumi.Input[str]]: + """ + User's description. Length: Maximum 1024 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + The display name of the user. Length: Maximum 256 characters. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def email(self) -> Optional[pulumi.Input[str]]: + """ + The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email", value) + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional[pulumi.Input[str]]: + """ + The user's last name. Length: Maximum 64 characters. + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name", value) + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional[pulumi.Input[str]]: + """ + The user's name. Length: Maximum 64 characters. + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name", value) + + @property + @pulumi.getter(name="userStatus") + def user_status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + """ + return pulumi.get(self, "user_status") + + @user_status.setter + def user_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_status", value) + + +@pulumi.input_type +class _CenterUserState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + update_time: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + user_status: Optional[pulumi.Input[str]] = None, + user_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterUser resources. + :param pulumi.Input[str] create_time: Create time. + :param pulumi.Input[str] description: User's description. Length: Maximum 1024 characters. + :param pulumi.Input[str] display_name: The display name of the user. Length: Maximum 256 characters. + :param pulumi.Input[str] email: The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + :param pulumi.Input[str] first_name: The user's last name. Length: Maximum 64 characters. + :param pulumi.Input[str] last_name: The user's name. Length: Maximum 64 characters. + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] user_id: User id. + :param pulumi.Input[str] user_name: User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + :param pulumi.Input[str] user_status: The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + :param pulumi.Input[str] user_type: User type. + :param pulumi.Input[str] zone_id: Zone id. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if email is not None: + pulumi.set(__self__, "email", email) + if first_name is not None: + pulumi.set(__self__, "first_name", first_name) + if last_name is not None: + pulumi.set(__self__, "last_name", last_name) + if update_time is not None: + pulumi.set(__self__, "update_time", update_time) + if user_id is not None: + pulumi.set(__self__, "user_id", user_id) + if user_name is not None: + pulumi.set(__self__, "user_name", user_name) + if user_status is not None: + pulumi.set(__self__, "user_status", user_status) + if user_type is not None: + pulumi.set(__self__, "user_type", user_type) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Create 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 + def description(self) -> Optional[pulumi.Input[str]]: + """ + User's description. Length: Maximum 1024 characters. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + The display name of the user. Length: Maximum 256 characters. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def email(self) -> Optional[pulumi.Input[str]]: + """ + The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "email", value) + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional[pulumi.Input[str]]: + """ + The user's last name. Length: Maximum 64 characters. + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "first_name", value) + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional[pulumi.Input[str]]: + """ + The user's name. Length: Maximum 64 characters. + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_name", value) + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[pulumi.Input[str]]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @update_time.setter + def update_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update_time", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + User id. + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> Optional[pulumi.Input[str]]: + """ + User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_name", value) + + @property + @pulumi.getter(name="userStatus") + def user_status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + """ + return pulumi.get(self, "user_status") + + @user_status.setter + def user_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_status", value) + + @property + @pulumi.getter(name="userType") + def user_type(self) -> Optional[pulumi.Input[str]]: + """ + User type. + """ + return pulumi.get(self, "user_type") + + @user_type.setter + def user_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_type", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Zone id. + """ + 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 CenterUser(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + user_status: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create an identity center user + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_user = tencentcloud.identity.CenterUser("identityCenterUser", + description="test", + user_name="test-user", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_user can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerUser:CenterUser identity_center_user ${zoneId}#${userId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: User's description. Length: Maximum 1024 characters. + :param pulumi.Input[str] display_name: The display name of the user. Length: Maximum 256 characters. + :param pulumi.Input[str] email: The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + :param pulumi.Input[str] first_name: The user's last name. Length: Maximum 64 characters. + :param pulumi.Input[str] last_name: The user's name. Length: Maximum 64 characters. + :param pulumi.Input[str] user_name: User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + :param pulumi.Input[str] user_status: The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + :param pulumi.Input[str] zone_id: Zone id. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterUserArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create an identity center user + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_user = tencentcloud.identity.CenterUser("identityCenterUser", + description="test", + user_name="test-user", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_user can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerUser:CenterUser identity_center_user ${zoneId}#${userId} + ``` + + :param str resource_name: The name of the resource. + :param CenterUserArgs 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(CenterUserArgs, 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, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + user_status: 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__ = CenterUserArgs.__new__(CenterUserArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["email"] = email + __props__.__dict__["first_name"] = first_name + __props__.__dict__["last_name"] = last_name + if user_name is None and not opts.urn: + raise TypeError("Missing required property 'user_name'") + __props__.__dict__["user_name"] = user_name + __props__.__dict__["user_status"] = user_status + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["create_time"] = None + __props__.__dict__["update_time"] = None + __props__.__dict__["user_id"] = None + __props__.__dict__["user_type"] = None + super(CenterUser, __self__).__init__( + 'tencentcloud:Identity/centerUser:CenterUser', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + email: Optional[pulumi.Input[str]] = None, + first_name: Optional[pulumi.Input[str]] = None, + last_name: Optional[pulumi.Input[str]] = None, + update_time: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + user_status: Optional[pulumi.Input[str]] = None, + user_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterUser': + """ + Get an existing CenterUser 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] create_time: Create time. + :param pulumi.Input[str] description: User's description. Length: Maximum 1024 characters. + :param pulumi.Input[str] display_name: The display name of the user. Length: Maximum 256 characters. + :param pulumi.Input[str] email: The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + :param pulumi.Input[str] first_name: The user's last name. Length: Maximum 64 characters. + :param pulumi.Input[str] last_name: The user's name. Length: Maximum 64 characters. + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] user_id: User id. + :param pulumi.Input[str] user_name: User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + :param pulumi.Input[str] user_status: The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + :param pulumi.Input[str] user_type: User type. + :param pulumi.Input[str] zone_id: Zone id. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterUserState.__new__(_CenterUserState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["email"] = email + __props__.__dict__["first_name"] = first_name + __props__.__dict__["last_name"] = last_name + __props__.__dict__["update_time"] = update_time + __props__.__dict__["user_id"] = user_id + __props__.__dict__["user_name"] = user_name + __props__.__dict__["user_status"] = user_status + __props__.__dict__["user_type"] = user_type + __props__.__dict__["zone_id"] = zone_id + return CenterUser(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + User's description. Length: Maximum 1024 characters. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + The display name of the user. Length: Maximum 256 characters. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def email(self) -> pulumi.Output[Optional[str]]: + """ + The user's email address. Must be unique within the catalog. Length: Maximum 128 characters. + """ + return pulumi.get(self, "email") + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> pulumi.Output[Optional[str]]: + """ + The user's last name. Length: Maximum 64 characters. + """ + return pulumi.get(self, "first_name") + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> pulumi.Output[Optional[str]]: + """ + The user's name. Length: Maximum 64 characters. + """ + return pulumi.get(self, "last_name") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> pulumi.Output[str]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + User id. + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Output[str]: + """ + User name. It must be unique in space. Modifications are not supported. Format: Contains numbers, English letters and special symbols(`+`, `=`, `,`, `.`, `@`, `-`, `_`). Length: Maximum 64 characters. + """ + return pulumi.get(self, "user_name") + + @property + @pulumi.getter(name="userStatus") + def user_status(self) -> pulumi.Output[str]: + """ + The status of the user. Value: Enabled (default): Enabled. Disabled: Disabled. + """ + return pulumi.get(self, "user_status") + + @property + @pulumi.getter(name="userType") + def user_type(self) -> pulumi.Output[str]: + """ + User type. + """ + return pulumi.get(self, "user_type") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Zone id. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_user_group_attachment.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_user_group_attachment.py new file mode 100644 index 000000000..40d6ef842 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_user_group_attachment.py @@ -0,0 +1,286 @@ +# 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__ = ['CenterUserGroupAttachmentArgs', 'CenterUserGroupAttachment'] + +@pulumi.input_type +class CenterUserGroupAttachmentArgs: + def __init__(__self__, *, + group_id: pulumi.Input[str], + user_id: pulumi.Input[str], + zone_id: pulumi.Input[str]): + """ + The set of arguments for constructing a CenterUserGroupAttachment resource. + :param pulumi.Input[str] group_id: User group ID. + :param pulumi.Input[str] user_id: User ID. + :param pulumi.Input[str] zone_id: Zone id. + """ + pulumi.set(__self__, "group_id", group_id) + pulumi.set(__self__, "user_id", user_id) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Input[str]: + """ + User group ID. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + User ID. + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Zone id. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_id", value) + + +@pulumi.input_type +class _CenterUserGroupAttachmentState: + def __init__(__self__, *, + group_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterUserGroupAttachment resources. + :param pulumi.Input[str] group_id: User group ID. + :param pulumi.Input[str] user_id: User ID. + :param pulumi.Input[str] zone_id: Zone id. + """ + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if user_id is not None: + pulumi.set(__self__, "user_id", user_id) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + User group ID. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> Optional[pulumi.Input[str]]: + """ + User ID. + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Zone id. + """ + 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 CenterUserGroupAttachment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + group_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create an identity center user group attachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_user_group_attachment = tencentcloud.identity.CenterUserGroupAttachment("identityCenterUserGroupAttachment", + group_id="g-xxxxxx", + user_id="u-xxxxxx", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_user_group_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment identity_center_user_group_attachment ${zoneId}#${groupId}#${userId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] group_id: User group ID. + :param pulumi.Input[str] user_id: User ID. + :param pulumi.Input[str] zone_id: Zone id. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterUserGroupAttachmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create an identity center user group attachment + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_user_group_attachment = tencentcloud.identity.CenterUserGroupAttachment("identityCenterUserGroupAttachment", + group_id="g-xxxxxx", + user_id="u-xxxxxx", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_user_group_attachment can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment identity_center_user_group_attachment ${zoneId}#${groupId}#${userId} + ``` + + :param str resource_name: The name of the resource. + :param CenterUserGroupAttachmentArgs 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(CenterUserGroupAttachmentArgs, 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, + group_id: Optional[pulumi.Input[str]] = None, + user_id: 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__ = CenterUserGroupAttachmentArgs.__new__(CenterUserGroupAttachmentArgs) + + if group_id is None and not opts.urn: + raise TypeError("Missing required property 'group_id'") + __props__.__dict__["group_id"] = group_id + if user_id is None and not opts.urn: + raise TypeError("Missing required property 'user_id'") + __props__.__dict__["user_id"] = user_id + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + super(CenterUserGroupAttachment, __self__).__init__( + 'tencentcloud:Identity/centerUserGroupAttachment:CenterUserGroupAttachment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + group_id: Optional[pulumi.Input[str]] = None, + user_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterUserGroupAttachment': + """ + Get an existing CenterUserGroupAttachment 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] group_id: User group ID. + :param pulumi.Input[str] user_id: User ID. + :param pulumi.Input[str] zone_id: Zone id. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterUserGroupAttachmentState.__new__(_CenterUserGroupAttachmentState) + + __props__.__dict__["group_id"] = group_id + __props__.__dict__["user_id"] = user_id + __props__.__dict__["zone_id"] = zone_id + return CenterUserGroupAttachment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[str]: + """ + User group ID. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[str]: + """ + User ID. + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Zone id. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/identity/center_user_sync_provisioning.py b/sdk/python/tencentcloud_iac_pulumi/identity/center_user_sync_provisioning.py new file mode 100644 index 000000000..313b1a649 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/identity/center_user_sync_provisioning.py @@ -0,0 +1,740 @@ +# 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__ = ['CenterUserSyncProvisioningArgs', 'CenterUserSyncProvisioning'] + +@pulumi.input_type +class CenterUserSyncProvisioningArgs: + def __init__(__self__, *, + zone_id: pulumi.Input[str], + deletion_strategy: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + duplication_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a CenterUserSyncProvisioning resource. + :param pulumi.Input[str] zone_id: Space ID. + :param pulumi.Input[str] deletion_strategy: Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + :param pulumi.Input[str] description: Description. + :param pulumi.Input[str] duplication_strategy: Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + """ + pulumi.set(__self__, "zone_id", zone_id) + if deletion_strategy is not None: + pulumi.set(__self__, "deletion_strategy", deletion_strategy) + if description is not None: + pulumi.set(__self__, "description", description) + if duplication_strategy is not None: + pulumi.set(__self__, "duplication_strategy", duplication_strategy) + if principal_id is not None: + pulumi.set(__self__, "principal_id", principal_id) + if principal_type is not None: + pulumi.set(__self__, "principal_type", principal_type) + if target_type is not None: + pulumi.set(__self__, "target_type", target_type) + if target_uin is not None: + pulumi.set(__self__, "target_uin", target_uin) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + Space ID. + """ + 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(name="deletionStrategy") + def deletion_strategy(self) -> Optional[pulumi.Input[str]]: + """ + Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + """ + return pulumi.get(self, "deletion_strategy") + + @deletion_strategy.setter + def deletion_strategy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deletion_strategy", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="duplicationStrategy") + def duplication_strategy(self) -> Optional[pulumi.Input[str]]: + """ + Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + """ + return pulumi.get(self, "duplication_strategy") + + @duplication_strategy.setter + def duplication_strategy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "duplication_strategy", value) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> Optional[pulumi.Input[str]]: + """ + Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + """ + return pulumi.get(self, "principal_id") + + @principal_id.setter + def principal_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_id", value) + + @property + @pulumi.getter(name="principalType") + def principal_type(self) -> Optional[pulumi.Input[str]]: + """ + Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + """ + return pulumi.get(self, "principal_type") + + @principal_type.setter + def principal_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_type", value) + + @property + @pulumi.getter(name="targetType") + def target_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + """ + return pulumi.get(self, "target_type") + + @target_type.setter + def target_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_type", value) + + @property + @pulumi.getter(name="targetUin") + def target_uin(self) -> Optional[pulumi.Input[int]]: + """ + UIN of the synchronized target account of the Tencent Cloud Organization. + """ + return pulumi.get(self, "target_uin") + + @target_uin.setter + def target_uin(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "target_uin", value) + + +@pulumi.input_type +class _CenterUserSyncProvisioningState: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[str]] = None, + deletion_strategy: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + duplication_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_name: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + target_name: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + user_provisioning_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CenterUserSyncProvisioning resources. + :param pulumi.Input[str] create_time: Create time. + :param pulumi.Input[str] deletion_strategy: Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + :param pulumi.Input[str] description: Description. + :param pulumi.Input[str] duplication_strategy: Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_name: The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] status: Status of CAM user synchronization. Value: + * Enabled: CAM user synchronization is enabled; + * Disabled: CAM user synchronization is not enabled. + :param pulumi.Input[str] target_name: Group account The name of the target account.. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] user_provisioning_id: User provisioning id. + :param pulumi.Input[str] zone_id: Space ID. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if deletion_strategy is not None: + pulumi.set(__self__, "deletion_strategy", deletion_strategy) + if description is not None: + pulumi.set(__self__, "description", description) + if duplication_strategy is not None: + pulumi.set(__self__, "duplication_strategy", duplication_strategy) + if principal_id is not None: + pulumi.set(__self__, "principal_id", principal_id) + if principal_name is not None: + pulumi.set(__self__, "principal_name", principal_name) + if principal_type is not None: + pulumi.set(__self__, "principal_type", principal_type) + if status is not None: + pulumi.set(__self__, "status", status) + if target_name is not None: + pulumi.set(__self__, "target_name", target_name) + if target_type is not None: + pulumi.set(__self__, "target_type", target_type) + if target_uin is not None: + pulumi.set(__self__, "target_uin", target_uin) + if update_time is not None: + pulumi.set(__self__, "update_time", update_time) + if user_provisioning_id is not None: + pulumi.set(__self__, "user_provisioning_id", user_provisioning_id) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Create 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="deletionStrategy") + def deletion_strategy(self) -> Optional[pulumi.Input[str]]: + """ + Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + """ + return pulumi.get(self, "deletion_strategy") + + @deletion_strategy.setter + def deletion_strategy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deletion_strategy", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="duplicationStrategy") + def duplication_strategy(self) -> Optional[pulumi.Input[str]]: + """ + Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + """ + return pulumi.get(self, "duplication_strategy") + + @duplication_strategy.setter + def duplication_strategy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "duplication_strategy", value) + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> Optional[pulumi.Input[str]]: + """ + Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + """ + return pulumi.get(self, "principal_id") + + @principal_id.setter + def principal_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_id", value) + + @property + @pulumi.getter(name="principalName") + def principal_name(self) -> Optional[pulumi.Input[str]]: + """ + The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + """ + return pulumi.get(self, "principal_name") + + @principal_name.setter + def principal_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_name", value) + + @property + @pulumi.getter(name="principalType") + def principal_type(self) -> Optional[pulumi.Input[str]]: + """ + Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + """ + return pulumi.get(self, "principal_type") + + @principal_type.setter + def principal_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "principal_type", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + Status of CAM user synchronization. Value: + * Enabled: CAM user synchronization is enabled; + * Disabled: CAM user synchronization is not enabled. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="targetName") + def target_name(self) -> Optional[pulumi.Input[str]]: + """ + Group account The name of the target account.. + """ + return pulumi.get(self, "target_name") + + @target_name.setter + def target_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_name", value) + + @property + @pulumi.getter(name="targetType") + def target_type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + """ + return pulumi.get(self, "target_type") + + @target_type.setter + def target_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_type", value) + + @property + @pulumi.getter(name="targetUin") + def target_uin(self) -> Optional[pulumi.Input[int]]: + """ + UIN of the synchronized target account of the Tencent Cloud Organization. + """ + return pulumi.get(self, "target_uin") + + @target_uin.setter + def target_uin(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "target_uin", value) + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> Optional[pulumi.Input[str]]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @update_time.setter + def update_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update_time", value) + + @property + @pulumi.getter(name="userProvisioningId") + def user_provisioning_id(self) -> Optional[pulumi.Input[str]]: + """ + User provisioning id. + """ + return pulumi.get(self, "user_provisioning_id") + + @user_provisioning_id.setter + def user_provisioning_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_provisioning_id", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + Space ID. + """ + 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 CenterUserSyncProvisioning(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + deletion_strategy: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + duplication_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a organization identity_center_user_sync_provisioning + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_user_sync_provisioning = tencentcloud.identity.CenterUserSyncProvisioning("identityCenterUserSyncProvisioning", + deletion_strategy="Keep", + description="tf-test", + duplication_strategy="TakeOver", + principal_id="u-xxxxxx", + principal_type="User", + target_type="MemberUin", + target_uin="xxxxxx", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_user_sync_provisioning can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning identity_center_user_sync_provisioning ${zoneId}#${userProvisioningId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] deletion_strategy: Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + :param pulumi.Input[str] description: Description. + :param pulumi.Input[str] duplication_strategy: Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + :param pulumi.Input[str] zone_id: Space ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CenterUserSyncProvisioningArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization identity_center_user_sync_provisioning + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + identity_center_user_sync_provisioning = tencentcloud.identity.CenterUserSyncProvisioning("identityCenterUserSyncProvisioning", + deletion_strategy="Keep", + description="tf-test", + duplication_strategy="TakeOver", + principal_id="u-xxxxxx", + principal_type="User", + target_type="MemberUin", + target_uin="xxxxxx", + zone_id="z-xxxxxx") + ``` + + + ## Import + + organization identity_center_user_sync_provisioning can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning identity_center_user_sync_provisioning ${zoneId}#${userProvisioningId} + ``` + + :param str resource_name: The name of the resource. + :param CenterUserSyncProvisioningArgs 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(CenterUserSyncProvisioningArgs, 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, + deletion_strategy: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + duplication_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = 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__ = CenterUserSyncProvisioningArgs.__new__(CenterUserSyncProvisioningArgs) + + __props__.__dict__["deletion_strategy"] = deletion_strategy + __props__.__dict__["description"] = description + __props__.__dict__["duplication_strategy"] = duplication_strategy + __props__.__dict__["principal_id"] = principal_id + __props__.__dict__["principal_type"] = principal_type + __props__.__dict__["target_type"] = target_type + __props__.__dict__["target_uin"] = target_uin + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["create_time"] = None + __props__.__dict__["principal_name"] = None + __props__.__dict__["status"] = None + __props__.__dict__["target_name"] = None + __props__.__dict__["update_time"] = None + __props__.__dict__["user_provisioning_id"] = None + super(CenterUserSyncProvisioning, __self__).__init__( + 'tencentcloud:Identity/centerUserSyncProvisioning:CenterUserSyncProvisioning', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_time: Optional[pulumi.Input[str]] = None, + deletion_strategy: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + duplication_strategy: Optional[pulumi.Input[str]] = None, + principal_id: Optional[pulumi.Input[str]] = None, + principal_name: Optional[pulumi.Input[str]] = None, + principal_type: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + target_name: Optional[pulumi.Input[str]] = None, + target_type: Optional[pulumi.Input[str]] = None, + target_uin: Optional[pulumi.Input[int]] = None, + update_time: Optional[pulumi.Input[str]] = None, + user_provisioning_id: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'CenterUserSyncProvisioning': + """ + Get an existing CenterUserSyncProvisioning 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] create_time: Create time. + :param pulumi.Input[str] deletion_strategy: Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + :param pulumi.Input[str] description: Description. + :param pulumi.Input[str] duplication_strategy: Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + :param pulumi.Input[str] principal_id: Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + :param pulumi.Input[str] principal_name: The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + :param pulumi.Input[str] principal_type: Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + :param pulumi.Input[str] status: Status of CAM user synchronization. Value: + * Enabled: CAM user synchronization is enabled; + * Disabled: CAM user synchronization is not enabled. + :param pulumi.Input[str] target_name: Group account The name of the target account.. + :param pulumi.Input[str] target_type: Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + :param pulumi.Input[int] target_uin: UIN of the synchronized target account of the Tencent Cloud Organization. + :param pulumi.Input[str] update_time: Update time. + :param pulumi.Input[str] user_provisioning_id: User provisioning id. + :param pulumi.Input[str] zone_id: Space ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CenterUserSyncProvisioningState.__new__(_CenterUserSyncProvisioningState) + + __props__.__dict__["create_time"] = create_time + __props__.__dict__["deletion_strategy"] = deletion_strategy + __props__.__dict__["description"] = description + __props__.__dict__["duplication_strategy"] = duplication_strategy + __props__.__dict__["principal_id"] = principal_id + __props__.__dict__["principal_name"] = principal_name + __props__.__dict__["principal_type"] = principal_type + __props__.__dict__["status"] = status + __props__.__dict__["target_name"] = target_name + __props__.__dict__["target_type"] = target_type + __props__.__dict__["target_uin"] = target_uin + __props__.__dict__["update_time"] = update_time + __props__.__dict__["user_provisioning_id"] = user_provisioning_id + __props__.__dict__["zone_id"] = zone_id + return CenterUserSyncProvisioning(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[str]: + """ + Create time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="deletionStrategy") + def deletion_strategy(self) -> pulumi.Output[Optional[str]]: + """ + Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted. + """ + return pulumi.get(self, "deletion_strategy") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="duplicationStrategy") + def duplication_strategy(self) -> pulumi.Output[Optional[str]]: + """ + Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM. + """ + return pulumi.get(self, "duplication_strategy") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> pulumi.Output[Optional[str]]: + """ + Identity ID for the CAM user synchronization. Valid values: + When the PrincipalType value is Group, it is the CIC user group ID (g-********). + When the PrincipalType value is User, it is the CIC user ID (u-********). + """ + return pulumi.get(self, "principal_id") + + @property + @pulumi.getter(name="principalName") + def principal_name(self) -> pulumi.Output[str]: + """ + The identity name of the CAM user synchronization. Value: When PrincipalType is Group, the value is the CIC user group name; When PrincipalType takes the value to User, the value is the CIC user name. + """ + return pulumi.get(self, "principal_name") + + @property + @pulumi.getter(name="principalType") + def principal_type(self) -> pulumi.Output[Optional[str]]: + """ + Identity type for the CAM user synchronization. Valid values: + + User: indicates that the identity for the CAM user synchronization is a CIC user. + Group: indicates that the identity for the CAM user synchronization is a CIC user group. + """ + return pulumi.get(self, "principal_type") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Status of CAM user synchronization. Value: + * Enabled: CAM user synchronization is enabled; + * Disabled: CAM user synchronization is not enabled. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="targetName") + def target_name(self) -> pulumi.Output[str]: + """ + Group account The name of the target account.. + """ + return pulumi.get(self, "target_name") + + @property + @pulumi.getter(name="targetType") + def target_type(self) -> pulumi.Output[Optional[str]]: + """ + Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account. + """ + return pulumi.get(self, "target_type") + + @property + @pulumi.getter(name="targetUin") + def target_uin(self) -> pulumi.Output[Optional[int]]: + """ + UIN of the synchronized target account of the Tencent Cloud Organization. + """ + return pulumi.get(self, "target_uin") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> pulumi.Output[str]: + """ + Update time. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter(name="userProvisioningId") + def user_provisioning_id(self) -> pulumi.Output[str]: + """ + User provisioning id. + """ + return pulumi.get(self, "user_provisioning_id") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + Space ID. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/instance/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/instance/_inputs.py index ad757c66e..fdabef48e 100644 --- a/sdk/python/tencentcloud_iac_pulumi/instance/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/instance/_inputs.py @@ -22,6 +22,7 @@ def __init__(__self__, *, data_disk_id: Optional[pulumi.Input[str]] = None, data_disk_snapshot_id: Optional[pulumi.Input[str]] = None, delete_with_instance: Optional[pulumi.Input[bool]] = None, + delete_with_instance_prepaid: Optional[pulumi.Input[bool]] = None, encrypt: Optional[pulumi.Input[bool]] = None, throughput_performance: Optional[pulumi.Input[int]] = None): """ @@ -30,6 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[str] data_disk_id: Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. :param pulumi.Input[str] data_disk_snapshot_id: Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. :param pulumi.Input[bool] delete_with_instance: Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true. + :param pulumi.Input[bool] delete_with_instance_prepaid: Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. :param pulumi.Input[bool] encrypt: Decides whether the disk is encrypted. Default is `false`. :param pulumi.Input[int] throughput_performance: Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. """ @@ -41,6 +43,8 @@ def __init__(__self__, *, pulumi.set(__self__, "data_disk_snapshot_id", data_disk_snapshot_id) if delete_with_instance is not None: pulumi.set(__self__, "delete_with_instance", delete_with_instance) + if delete_with_instance_prepaid is not None: + pulumi.set(__self__, "delete_with_instance_prepaid", delete_with_instance_prepaid) if encrypt is not None: pulumi.set(__self__, "encrypt", encrypt) if throughput_performance is not None: @@ -106,6 +110,18 @@ def delete_with_instance(self) -> Optional[pulumi.Input[bool]]: def delete_with_instance(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "delete_with_instance", value) + @property + @pulumi.getter(name="deleteWithInstancePrepaid") + def delete_with_instance_prepaid(self) -> Optional[pulumi.Input[bool]]: + """ + Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + """ + return pulumi.get(self, "delete_with_instance_prepaid") + + @delete_with_instance_prepaid.setter + def delete_with_instance_prepaid(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "delete_with_instance_prepaid", value) + @property @pulumi.getter def encrypt(self) -> Optional[pulumi.Input[bool]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/instance/instance.py b/sdk/python/tencentcloud_iac_pulumi/instance/instance.py index 91eb440f9..4935a5b77 100644 --- a/sdk/python/tencentcloud_iac_pulumi/instance/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/instance/instance.py @@ -24,6 +24,7 @@ def __init__(__self__, *, cdh_host_id: Optional[pulumi.Input[str]] = None, cdh_instance_type: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, @@ -52,6 +53,7 @@ def __init__(__self__, *, stopped_mode: Optional[pulumi.Input[str]] = None, subnet_id: Optional[pulumi.Input[str]] = None, system_disk_id: Optional[pulumi.Input[str]] = None, + system_disk_resize_online: Optional[pulumi.Input[bool]] = None, system_disk_size: Optional[pulumi.Input[int]] = None, system_disk_type: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -68,6 +70,7 @@ def __init__(__self__, *, :param pulumi.Input[str] cdh_host_id: Id of cdh instance. Note: it only works when instance_charge_type is set to `CDHPAID`. :param pulumi.Input[str] cdh_instance_type: Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to `CDHPAID`. :param pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]] data_disks: Settings for data disks. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[bool] disable_api_termination: Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. :param pulumi.Input[bool] disable_monitor_service: Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. :param pulumi.Input[bool] disable_security_service: Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset. @@ -96,6 +99,7 @@ def __init__(__self__, *, :param pulumi.Input[str] stopped_mode: Billing method of a pay-as-you-go instance after shutdown. Available values: `KEEP_CHARGING`,`STOP_CHARGING`. Default `KEEP_CHARGING`. :param pulumi.Input[str] subnet_id: The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. :param pulumi.Input[str] system_disk_id: System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param pulumi.Input[bool] system_disk_resize_online: Resize online. :param pulumi.Input[int] system_disk_size: Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. :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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. :param pulumi.Input[Mapping[str, Any]] tags: A mapping of tags to assign to the resource. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354). @@ -117,6 +121,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cdh_instance_type", cdh_instance_type) if data_disks is not None: pulumi.set(__self__, "data_disks", data_disks) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if disable_api_termination is not None: pulumi.set(__self__, "disable_api_termination", disable_api_termination) if disable_monitor_service is not None: @@ -182,6 +188,8 @@ def __init__(__self__, *, pulumi.set(__self__, "subnet_id", subnet_id) if system_disk_id is not None: pulumi.set(__self__, "system_disk_id", system_disk_id) + if system_disk_resize_online is not None: + pulumi.set(__self__, "system_disk_resize_online", system_disk_resize_online) if system_disk_size is not None: pulumi.set(__self__, "system_disk_size", system_disk_size) if system_disk_type is not None: @@ -291,6 +299,18 @@ def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDat def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]]]): pulumi.set(self, "data_disks", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="disableApiTermination") def disable_api_termination(self) -> Optional[pulumi.Input[bool]]: @@ -636,6 +656,18 @@ def system_disk_id(self) -> Optional[pulumi.Input[str]]: def system_disk_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "system_disk_id", value) + @property + @pulumi.getter(name="systemDiskResizeOnline") + def system_disk_resize_online(self) -> Optional[pulumi.Input[bool]]: + """ + Resize online. + """ + return pulumi.get(self, "system_disk_resize_online") + + @system_disk_resize_online.setter + def system_disk_resize_online(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "system_disk_resize_online", value) + @property @pulumi.getter(name="systemDiskSize") def system_disk_size(self) -> Optional[pulumi.Input[int]]: @@ -721,6 +753,7 @@ def __init__(__self__, *, cpu: Optional[pulumi.Input[int]] = None, create_time: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, @@ -755,6 +788,7 @@ def __init__(__self__, *, stopped_mode: Optional[pulumi.Input[str]] = None, subnet_id: Optional[pulumi.Input[str]] = None, system_disk_id: Optional[pulumi.Input[str]] = None, + system_disk_resize_online: Optional[pulumi.Input[bool]] = None, system_disk_size: Optional[pulumi.Input[int]] = None, system_disk_type: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -773,6 +807,7 @@ def __init__(__self__, *, :param pulumi.Input[int] cpu: The number of CPU cores of the instance. :param pulumi.Input[str] create_time: Create time of the instance. :param pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]] data_disks: Settings for data disks. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[bool] disable_api_termination: Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. :param pulumi.Input[bool] disable_monitor_service: Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. :param pulumi.Input[bool] disable_security_service: Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset. @@ -807,6 +842,7 @@ def __init__(__self__, *, :param pulumi.Input[str] stopped_mode: Billing method of a pay-as-you-go instance after shutdown. Available values: `KEEP_CHARGING`,`STOP_CHARGING`. Default `KEEP_CHARGING`. :param pulumi.Input[str] subnet_id: The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. :param pulumi.Input[str] system_disk_id: System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param pulumi.Input[bool] system_disk_resize_online: Resize online. :param pulumi.Input[int] system_disk_size: Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. :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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. :param pulumi.Input[Mapping[str, Any]] tags: A mapping of tags to assign to the resource. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354). @@ -833,6 +869,8 @@ def __init__(__self__, *, pulumi.set(__self__, "create_time", create_time) if data_disks is not None: pulumi.set(__self__, "data_disks", data_disks) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if disable_api_termination is not None: pulumi.set(__self__, "disable_api_termination", disable_api_termination) if disable_monitor_service is not None: @@ -910,6 +948,8 @@ def __init__(__self__, *, pulumi.set(__self__, "subnet_id", subnet_id) if system_disk_id is not None: pulumi.set(__self__, "system_disk_id", system_disk_id) + if system_disk_resize_online is not None: + pulumi.set(__self__, "system_disk_resize_online", system_disk_resize_online) if system_disk_size is not None: pulumi.set(__self__, "system_disk_size", system_disk_size) if system_disk_type is not None: @@ -1033,6 +1073,18 @@ def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDat def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDataDiskArgs']]]]): pulumi.set(self, "data_disks", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="disableApiTermination") def disable_api_termination(self) -> Optional[pulumi.Input[bool]]: @@ -1450,6 +1502,18 @@ def system_disk_id(self) -> Optional[pulumi.Input[str]]: def system_disk_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "system_disk_id", value) + @property + @pulumi.getter(name="systemDiskResizeOnline") + def system_disk_resize_online(self) -> Optional[pulumi.Input[bool]]: + """ + Resize online. + """ + return pulumi.get(self, "system_disk_resize_online") + + @system_disk_resize_online.setter + def system_disk_resize_online(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "system_disk_resize_online", value) + @property @pulumi.getter(name="systemDiskSize") def system_disk_size(self) -> Optional[pulumi.Input[int]]: @@ -1547,6 +1611,7 @@ def __init__(__self__, cdh_host_id: Optional[pulumi.Input[str]] = None, cdh_instance_type: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDataDiskArgs']]]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, @@ -1576,6 +1641,7 @@ def __init__(__self__, stopped_mode: Optional[pulumi.Input[str]] = None, subnet_id: Optional[pulumi.Input[str]] = None, system_disk_id: Optional[pulumi.Input[str]] = None, + system_disk_resize_online: Optional[pulumi.Input[bool]] = None, system_disk_size: Optional[pulumi.Input[int]] = None, system_disk_type: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1590,12 +1656,130 @@ def __init__(__self__, > **NOTE:** At present, 'PREPAID' instance cannot be deleted directly and must wait it to be outdated and released automatically. + ## Example Usage + + ### Create a general POSTPAID_BY_HOUR CVM instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + image_name_regex="OpenCloudOS Server") + types = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs( + name="instance-family", + values=[ + "S1", + "S2", + "S3", + "S4", + "S5", + ], + )], + cpu_core_count=2, + exclude_sold_out=True) + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24") + # create CVM instance + example = tencentcloud.instance.Instance("example", + instance_name="tf-example", + availability_zone=availability_zone, + image_id=images.images[0].image_id, + instance_type=types.instance_types[0].instance_type, + system_disk_type="CLOUD_PREMIUM", + system_disk_size=50, + hostname="user", + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + data_disks=[tencentcloud.instance.InstanceDataDiskArgs( + data_disk_type="CLOUD_PREMIUM", + data_disk_size=50, + encrypt=False, + )], + tags={ + "tagKey": "tagValue", + }) + ``` + + + ### Create a dedicated cluster CVM instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + image_name_regex="OpenCloudOS Server") + types = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs( + name="instance-family", + values=[ + "S1", + "S2", + "S3", + "S4", + "S5", + ], + )], + cpu_core_count=2, + exclude_sold_out=True) + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + cdc_id="cluster-262n63e8", + is_multicast=False) + # create CVM instance + example = tencentcloud.instance.Instance("example", + instance_name="tf-example", + availability_zone=availability_zone, + image_id=images.images[0].image_id, + instance_type=types.instance_types[0].instance_type, + dedicated_cluster_id="cluster-262n63e8", + instance_charge_type="CDCPAID", + system_disk_type="CLOUD_SSD", + system_disk_size=50, + hostname="user", + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + data_disks=[tencentcloud.instance.InstanceDataDiskArgs( + data_disk_type="CLOUD_SSD", + data_disk_size=50, + encrypt=False, + )], + tags={ + "tagKey": "tagValue", + }) + ``` + + ## Import CVM instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Instance/instance:Instance foo ins-2qol3a80 + $ pulumi import tencentcloud:Instance/instance:Instance example ins-2qol3a80 ``` :param str resource_name: The name of the resource. @@ -1607,6 +1791,7 @@ def __init__(__self__, :param pulumi.Input[str] cdh_host_id: Id of cdh instance. Note: it only works when instance_charge_type is set to `CDHPAID`. :param pulumi.Input[str] cdh_instance_type: Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to `CDHPAID`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDataDiskArgs']]]] data_disks: Settings for data disks. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[bool] disable_api_termination: Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. :param pulumi.Input[bool] disable_monitor_service: Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. :param pulumi.Input[bool] disable_security_service: Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset. @@ -1636,6 +1821,7 @@ def __init__(__self__, :param pulumi.Input[str] stopped_mode: Billing method of a pay-as-you-go instance after shutdown. Available values: `KEEP_CHARGING`,`STOP_CHARGING`. Default `KEEP_CHARGING`. :param pulumi.Input[str] subnet_id: The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. :param pulumi.Input[str] system_disk_id: System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param pulumi.Input[bool] system_disk_resize_online: Resize online. :param pulumi.Input[int] system_disk_size: Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. :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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. :param pulumi.Input[Mapping[str, Any]] tags: A mapping of tags to assign to the resource. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354). @@ -1656,12 +1842,130 @@ def __init__(__self__, > **NOTE:** At present, 'PREPAID' instance cannot be deleted directly and must wait it to be outdated and released automatically. + ## Example Usage + + ### Create a general POSTPAID_BY_HOUR CVM instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + image_name_regex="OpenCloudOS Server") + types = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs( + name="instance-family", + values=[ + "S1", + "S2", + "S3", + "S4", + "S5", + ], + )], + cpu_core_count=2, + exclude_sold_out=True) + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24") + # create CVM instance + example = tencentcloud.instance.Instance("example", + instance_name="tf-example", + availability_zone=availability_zone, + image_id=images.images[0].image_id, + instance_type=types.instance_types[0].instance_type, + system_disk_type="CLOUD_PREMIUM", + system_disk_size=50, + hostname="user", + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + data_disks=[tencentcloud.instance.InstanceDataDiskArgs( + data_disk_type="CLOUD_PREMIUM", + data_disk_size=50, + encrypt=False, + )], + tags={ + "tagKey": "tagValue", + }) + ``` + + + ### Create a dedicated cluster CVM instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + image_name_regex="OpenCloudOS Server") + types = tencentcloud.Instance.get_types(filters=[tencentcloud.instance.GetTypesFilterArgs( + name="instance-family", + values=[ + "S1", + "S2", + "S3", + "S4", + "S5", + ], + )], + cpu_core_count=2, + exclude_sold_out=True) + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24", + cdc_id="cluster-262n63e8", + is_multicast=False) + # create CVM instance + example = tencentcloud.instance.Instance("example", + instance_name="tf-example", + availability_zone=availability_zone, + image_id=images.images[0].image_id, + instance_type=types.instance_types[0].instance_type, + dedicated_cluster_id="cluster-262n63e8", + instance_charge_type="CDCPAID", + system_disk_type="CLOUD_SSD", + system_disk_size=50, + hostname="user", + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + data_disks=[tencentcloud.instance.InstanceDataDiskArgs( + data_disk_type="CLOUD_SSD", + data_disk_size=50, + encrypt=False, + )], + tags={ + "tagKey": "tagValue", + }) + ``` + + ## Import CVM instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Instance/instance:Instance foo ins-2qol3a80 + $ pulumi import tencentcloud:Instance/instance:Instance example ins-2qol3a80 ``` :param str resource_name: The name of the resource. @@ -1686,6 +1990,7 @@ def _internal_init(__self__, cdh_host_id: Optional[pulumi.Input[str]] = None, cdh_instance_type: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDataDiskArgs']]]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, @@ -1715,6 +2020,7 @@ def _internal_init(__self__, stopped_mode: Optional[pulumi.Input[str]] = None, subnet_id: Optional[pulumi.Input[str]] = None, system_disk_id: Optional[pulumi.Input[str]] = None, + system_disk_resize_online: Optional[pulumi.Input[bool]] = None, system_disk_size: Optional[pulumi.Input[int]] = None, system_disk_type: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1739,6 +2045,7 @@ def _internal_init(__self__, __props__.__dict__["cdh_host_id"] = cdh_host_id __props__.__dict__["cdh_instance_type"] = cdh_instance_type __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["disable_api_termination"] = disable_api_termination __props__.__dict__["disable_monitor_service"] = disable_monitor_service __props__.__dict__["disable_security_service"] = disable_security_service @@ -1770,6 +2077,7 @@ def _internal_init(__self__, __props__.__dict__["stopped_mode"] = stopped_mode __props__.__dict__["subnet_id"] = subnet_id __props__.__dict__["system_disk_id"] = system_disk_id + __props__.__dict__["system_disk_resize_online"] = system_disk_resize_online __props__.__dict__["system_disk_size"] = system_disk_size __props__.__dict__["system_disk_type"] = system_disk_type __props__.__dict__["tags"] = tags @@ -1805,6 +2113,7 @@ def get(resource_name: str, cpu: Optional[pulumi.Input[int]] = None, create_time: Optional[pulumi.Input[str]] = None, data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDataDiskArgs']]]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, disable_monitor_service: Optional[pulumi.Input[bool]] = None, disable_security_service: Optional[pulumi.Input[bool]] = None, @@ -1839,6 +2148,7 @@ def get(resource_name: str, stopped_mode: Optional[pulumi.Input[str]] = None, subnet_id: Optional[pulumi.Input[str]] = None, system_disk_id: Optional[pulumi.Input[str]] = None, + system_disk_resize_online: Optional[pulumi.Input[bool]] = None, system_disk_size: Optional[pulumi.Input[int]] = None, system_disk_type: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1862,6 +2172,7 @@ def get(resource_name: str, :param pulumi.Input[int] cpu: The number of CPU cores of the instance. :param pulumi.Input[str] create_time: Create time of the instance. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDataDiskArgs']]]] data_disks: Settings for data disks. + :param pulumi.Input[str] dedicated_cluster_id: Exclusive cluster id. :param pulumi.Input[bool] disable_api_termination: Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action. :param pulumi.Input[bool] disable_monitor_service: Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset. :param pulumi.Input[bool] disable_security_service: Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset. @@ -1896,6 +2207,7 @@ def get(resource_name: str, :param pulumi.Input[str] stopped_mode: Billing method of a pay-as-you-go instance after shutdown. Available values: `KEEP_CHARGING`,`STOP_CHARGING`. Default `KEEP_CHARGING`. :param pulumi.Input[str] subnet_id: The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. :param pulumi.Input[str] system_disk_id: System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param pulumi.Input[bool] system_disk_resize_online: Resize online. :param pulumi.Input[int] system_disk_size: Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop. :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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. :param pulumi.Input[Mapping[str, Any]] tags: A mapping of tags to assign to the resource. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354). @@ -1917,6 +2229,7 @@ def get(resource_name: str, __props__.__dict__["cpu"] = cpu __props__.__dict__["create_time"] = create_time __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["disable_api_termination"] = disable_api_termination __props__.__dict__["disable_monitor_service"] = disable_monitor_service __props__.__dict__["disable_security_service"] = disable_security_service @@ -1951,6 +2264,7 @@ def get(resource_name: str, __props__.__dict__["stopped_mode"] = stopped_mode __props__.__dict__["subnet_id"] = subnet_id __props__.__dict__["system_disk_id"] = system_disk_id + __props__.__dict__["system_disk_resize_online"] = system_disk_resize_online __props__.__dict__["system_disk_size"] = system_disk_size __props__.__dict__["system_disk_type"] = system_disk_type __props__.__dict__["tags"] = tags @@ -2032,6 +2346,14 @@ def data_disks(self) -> pulumi.Output[Sequence['outputs.InstanceDataDisk']]: """ return pulumi.get(self, "data_disks") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> pulumi.Output[Optional[str]]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter(name="disableApiTermination") def disable_api_termination(self) -> pulumi.Output[Optional[bool]]: @@ -2313,6 +2635,14 @@ def system_disk_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "system_disk_id") + @property + @pulumi.getter(name="systemDiskResizeOnline") + def system_disk_resize_online(self) -> pulumi.Output[Optional[bool]]: + """ + Resize online. + """ + return pulumi.get(self, "system_disk_resize_online") + @property @pulumi.getter(name="systemDiskSize") def system_disk_size(self) -> pulumi.Output[Optional[int]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/instance/outputs.py b/sdk/python/tencentcloud_iac_pulumi/instance/outputs.py index 564b9f9ca..4dba362ce 100644 --- a/sdk/python/tencentcloud_iac_pulumi/instance/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/instance/outputs.py @@ -30,6 +30,8 @@ def __key_warning(key: str): suggest = "data_disk_snapshot_id" elif key == "deleteWithInstance": suggest = "delete_with_instance" + elif key == "deleteWithInstancePrepaid": + suggest = "delete_with_instance_prepaid" elif key == "throughputPerformance": suggest = "throughput_performance" @@ -50,6 +52,7 @@ def __init__(__self__, *, data_disk_id: Optional[str] = None, data_disk_snapshot_id: Optional[str] = None, delete_with_instance: Optional[bool] = None, + delete_with_instance_prepaid: Optional[bool] = None, encrypt: Optional[bool] = None, throughput_performance: Optional[int] = None): """ @@ -58,6 +61,7 @@ def __init__(__self__, *, :param str data_disk_id: Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. :param str data_disk_snapshot_id: Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. :param bool delete_with_instance: Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true. + :param bool delete_with_instance_prepaid: Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. :param bool encrypt: Decides whether the disk is encrypted. Default is `false`. :param int throughput_performance: Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. """ @@ -69,6 +73,8 @@ def __init__(__self__, *, pulumi.set(__self__, "data_disk_snapshot_id", data_disk_snapshot_id) if delete_with_instance is not None: pulumi.set(__self__, "delete_with_instance", delete_with_instance) + if delete_with_instance_prepaid is not None: + pulumi.set(__self__, "delete_with_instance_prepaid", delete_with_instance_prepaid) if encrypt is not None: pulumi.set(__self__, "encrypt", encrypt) if throughput_performance is not None: @@ -114,6 +120,14 @@ def delete_with_instance(self) -> Optional[bool]: """ return pulumi.get(self, "delete_with_instance") + @property + @pulumi.getter(name="deleteWithInstancePrepaid") + def delete_with_instance_prepaid(self) -> Optional[bool]: + """ + Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false. + """ + return pulumi.get(self, "delete_with_instance_prepaid") + @property @pulumi.getter def encrypt(self) -> Optional[bool]: diff --git a/sdk/python/tencentcloud_iac_pulumi/instances/get_instance.py b/sdk/python/tencentcloud_iac_pulumi/instances/get_instance.py index d97c67b93..d186cb51c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/instances/get_instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/instances/get_instance.py @@ -22,10 +22,13 @@ class GetInstanceResult: """ A collection of values returned by getInstance. """ - def __init__(__self__, availability_zone=None, id=None, instance_id=None, instance_lists=None, instance_name=None, instance_set_ids=None, project_id=None, result_output_file=None, subnet_id=None, tags=None, vpc_id=None): + def __init__(__self__, availability_zone=None, dedicated_cluster_id=None, id=None, instance_id=None, instance_lists=None, instance_name=None, instance_set_ids=None, project_id=None, result_output_file=None, subnet_id=None, tags=None, vpc_id=None): if availability_zone and not isinstance(availability_zone, str): raise TypeError("Expected argument 'availability_zone' to be a str") pulumi.set(__self__, "availability_zone", availability_zone) + if dedicated_cluster_id and not isinstance(dedicated_cluster_id, str): + raise TypeError("Expected argument 'dedicated_cluster_id' to be a str") + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -65,6 +68,14 @@ def availability_zone(self) -> Optional[str]: """ return pulumi.get(self, "availability_zone") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[str]: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter def id(self) -> str: @@ -147,6 +158,7 @@ def __await__(self): yield self return GetInstanceResult( availability_zone=self.availability_zone, + dedicated_cluster_id=self.dedicated_cluster_id, id=self.id, instance_id=self.instance_id, instance_lists=self.instance_lists, @@ -160,6 +172,7 @@ def __await__(self): def get_instance(availability_zone: Optional[str] = None, + dedicated_cluster_id: Optional[str] = None, instance_id: Optional[str] = None, instance_name: Optional[str] = None, instance_set_ids: Optional[Sequence[str]] = None, @@ -217,6 +230,7 @@ def get_instance(availability_zone: Optional[str] = None, :param str availability_zone: The available zone that the CVM instance locates at. + :param str dedicated_cluster_id: Exclusive cluster id. :param str instance_id: ID of the instances to be queried. :param str instance_name: Name of the instances to be queried. :param Sequence[str] instance_set_ids: Instance set ids, max length is 100, conflict with other field. @@ -228,6 +242,7 @@ def get_instance(availability_zone: Optional[str] = None, """ __args__ = dict() __args__['availabilityZone'] = availability_zone + __args__['dedicatedClusterId'] = dedicated_cluster_id __args__['instanceId'] = instance_id __args__['instanceName'] = instance_name __args__['instanceSetIds'] = instance_set_ids @@ -241,6 +256,7 @@ def get_instance(availability_zone: Optional[str] = None, return AwaitableGetInstanceResult( availability_zone=pulumi.get(__ret__, 'availability_zone'), + dedicated_cluster_id=pulumi.get(__ret__, 'dedicated_cluster_id'), id=pulumi.get(__ret__, 'id'), instance_id=pulumi.get(__ret__, 'instance_id'), instance_lists=pulumi.get(__ret__, 'instance_lists'), @@ -255,6 +271,7 @@ def get_instance(availability_zone: Optional[str] = None, @_utilities.lift_output_func(get_instance) def get_instance_output(availability_zone: Optional[pulumi.Input[Optional[str]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[Optional[str]]] = None, instance_id: Optional[pulumi.Input[Optional[str]]] = None, instance_name: Optional[pulumi.Input[Optional[str]]] = None, instance_set_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, @@ -312,6 +329,7 @@ def get_instance_output(availability_zone: Optional[pulumi.Input[Optional[str]]] :param str availability_zone: The available zone that the CVM instance locates at. + :param str dedicated_cluster_id: Exclusive cluster id. :param str instance_id: ID of the instances to be queried. :param str instance_name: Name of the instances to be queried. :param Sequence[str] instance_set_ids: Instance set ids, max length is 100, conflict with other field. diff --git a/sdk/python/tencentcloud_iac_pulumi/instances/outputs.py b/sdk/python/tencentcloud_iac_pulumi/instances/outputs.py index e65818059..376d6a999 100644 --- a/sdk/python/tencentcloud_iac_pulumi/instances/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/instances/outputs.py @@ -26,6 +26,7 @@ def __init__(__self__, *, cpu: int, create_time: str, data_disks: Sequence['outputs.GetInstanceInstanceListDataDiskResult'], + dedicated_cluster_id: str, expired_time: str, image_id: str, instance_charge_type: str, @@ -47,6 +48,7 @@ def __init__(__self__, *, system_disk_size: int, system_disk_type: str, tags: Mapping[str, Any], + uuid: str, vpc_id: str): """ :param bool allocate_public_ip: Indicates whether public ip is assigned. @@ -55,6 +57,7 @@ def __init__(__self__, *, :param int cpu: The number of CPU cores of the instance. :param str create_time: Creation time of the instance. :param Sequence['GetInstanceInstanceListDataDiskArgs'] data_disks: An information list of data disk. Each element contains the following attributes: + :param str dedicated_cluster_id: Exclusive cluster id. :param str expired_time: Expired time of the instance. :param str image_id: ID of the image. :param str instance_charge_type: The charge type of the instance. @@ -76,6 +79,7 @@ def __init__(__self__, *, :param int system_disk_size: Size of the system disk. :param str system_disk_type: Type of the system disk. :param Mapping[str, Any] tags: Tags of the instance. + :param str uuid: Globally unique ID of the instance. :param str vpc_id: ID of the vpc to be queried. """ pulumi.set(__self__, "allocate_public_ip", allocate_public_ip) @@ -84,6 +88,7 @@ def __init__(__self__, *, pulumi.set(__self__, "cpu", cpu) pulumi.set(__self__, "create_time", create_time) pulumi.set(__self__, "data_disks", data_disks) + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) pulumi.set(__self__, "expired_time", expired_time) pulumi.set(__self__, "image_id", image_id) pulumi.set(__self__, "instance_charge_type", instance_charge_type) @@ -105,6 +110,7 @@ def __init__(__self__, *, pulumi.set(__self__, "system_disk_size", system_disk_size) pulumi.set(__self__, "system_disk_type", system_disk_type) pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "uuid", uuid) pulumi.set(__self__, "vpc_id", vpc_id) @property @@ -155,6 +161,14 @@ def data_disks(self) -> Sequence['outputs.GetInstanceInstanceListDataDiskResult' """ return pulumi.get(self, "data_disks") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> str: + """ + Exclusive cluster id. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter(name="expiredTime") def expired_time(self) -> str: @@ -323,6 +337,14 @@ def tags(self) -> Mapping[str, Any]: """ return pulumi.get(self, "tags") + @property + @pulumi.getter + def uuid(self) -> str: + """ + Globally unique ID of the instance. + """ + return pulumi.get(self, "uuid") + @property @pulumi.getter(name="vpcId") def vpc_id(self) -> str: diff --git a/sdk/python/tencentcloud_iac_pulumi/invite/__init__.py b/sdk/python/tencentcloud_iac_pulumi/invite/__init__.py new file mode 100644 index 000000000..d4fe0dce8 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/invite/__init__.py @@ -0,0 +1,10 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .organization_member_operation import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/invite/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/invite/_inputs.py new file mode 100644 index 000000000..26a57ac8b --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/invite/_inputs.py @@ -0,0 +1,90 @@ +# 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__ = [ + 'OrganizationMemberOperationAuthFileArgs', + 'OrganizationMemberOperationTagArgs', +] + +@pulumi.input_type +class OrganizationMemberOperationAuthFileArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + url: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: File name. + :param pulumi.Input[str] url: File path. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + File name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + File path. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class OrganizationMemberOperationTagArgs: + def __init__(__self__, *, + tag_key: pulumi.Input[str], + tag_value: pulumi.Input[str]): + """ + :param pulumi.Input[str] tag_key: Tag key. + :param pulumi.Input[str] tag_value: Tag value. + """ + pulumi.set(__self__, "tag_key", tag_key) + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> pulumi.Input[str]: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @tag_key.setter + def tag_key(self, value: pulumi.Input[str]): + pulumi.set(self, "tag_key", value) + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> pulumi.Input[str]: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + @tag_value.setter + def tag_value(self, value: pulumi.Input[str]): + pulumi.set(self, "tag_value", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/invite/organization_member_operation.py b/sdk/python/tencentcloud_iac_pulumi/invite/organization_member_operation.py new file mode 100644 index 000000000..5440fa567 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/invite/organization_member_operation.py @@ -0,0 +1,661 @@ +# 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__ = ['OrganizationMemberOperationArgs', 'OrganizationMemberOperation'] + +@pulumi.input_type +class OrganizationMemberOperationArgs: + def __init__(__self__, *, + member_uin: pulumi.Input[int], + node_id: pulumi.Input[int], + permission_ids: pulumi.Input[Sequence[pulumi.Input[int]]], + policy_type: pulumi.Input[str], + auth_files: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]]] = None, + is_allow_quit: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + pay_uin: Optional[pulumi.Input[str]] = None, + relation_auth_name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]]] = None): + """ + The set of arguments for constructing a OrganizationMemberOperation resource. + :param pulumi.Input[int] member_uin: Invited account Uin. + :param pulumi.Input[int] node_id: Node ID of the member's department. + :param pulumi.Input[Sequence[pulumi.Input[int]]] permission_ids: List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + :param pulumi.Input[str] policy_type: Relationship strategies. Value taken: Financial. + :param pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]] auth_files: List of supporting documents of mutual trust entities. + :param pulumi.Input[str] is_allow_quit: Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + :param pulumi.Input[str] name: Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + :param pulumi.Input[str] pay_uin: Payer Uin. Member needs to pay on behalf of. + :param pulumi.Input[str] relation_auth_name: Name of the real-name subject of mutual trust. + :param pulumi.Input[str] remark: Remark. + :param pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]] tags: List of member tags. Maximum 10. + """ + pulumi.set(__self__, "member_uin", member_uin) + pulumi.set(__self__, "node_id", node_id) + pulumi.set(__self__, "permission_ids", permission_ids) + pulumi.set(__self__, "policy_type", policy_type) + if auth_files is not None: + pulumi.set(__self__, "auth_files", auth_files) + if is_allow_quit is not None: + pulumi.set(__self__, "is_allow_quit", is_allow_quit) + if name is not None: + pulumi.set(__self__, "name", name) + if pay_uin is not None: + pulumi.set(__self__, "pay_uin", pay_uin) + if relation_auth_name is not None: + pulumi.set(__self__, "relation_auth_name", relation_auth_name) + if remark is not None: + pulumi.set(__self__, "remark", remark) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="memberUin") + def member_uin(self) -> pulumi.Input[int]: + """ + Invited account Uin. + """ + return pulumi.get(self, "member_uin") + + @member_uin.setter + def member_uin(self, value: pulumi.Input[int]): + pulumi.set(self, "member_uin", value) + + @property + @pulumi.getter(name="nodeId") + def node_id(self) -> pulumi.Input[int]: + """ + Node ID of the member's department. + """ + return pulumi.get(self, "node_id") + + @node_id.setter + def node_id(self, value: pulumi.Input[int]): + pulumi.set(self, "node_id", value) + + @property + @pulumi.getter(name="permissionIds") + def permission_ids(self) -> pulumi.Input[Sequence[pulumi.Input[int]]]: + """ + List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + """ + return pulumi.get(self, "permission_ids") + + @permission_ids.setter + def permission_ids(self, value: pulumi.Input[Sequence[pulumi.Input[int]]]): + pulumi.set(self, "permission_ids", value) + + @property + @pulumi.getter(name="policyType") + def policy_type(self) -> pulumi.Input[str]: + """ + Relationship strategies. Value taken: Financial. + """ + return pulumi.get(self, "policy_type") + + @policy_type.setter + def policy_type(self, value: pulumi.Input[str]): + pulumi.set(self, "policy_type", value) + + @property + @pulumi.getter(name="authFiles") + def auth_files(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]]]: + """ + List of supporting documents of mutual trust entities. + """ + return pulumi.get(self, "auth_files") + + @auth_files.setter + def auth_files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]]]): + pulumi.set(self, "auth_files", value) + + @property + @pulumi.getter(name="isAllowQuit") + def is_allow_quit(self) -> Optional[pulumi.Input[str]]: + """ + Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + """ + return pulumi.get(self, "is_allow_quit") + + @is_allow_quit.setter + def is_allow_quit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "is_allow_quit", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="payUin") + def pay_uin(self) -> Optional[pulumi.Input[str]]: + """ + Payer Uin. Member needs to pay on behalf of. + """ + return pulumi.get(self, "pay_uin") + + @pay_uin.setter + def pay_uin(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pay_uin", value) + + @property + @pulumi.getter(name="relationAuthName") + def relation_auth_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the real-name subject of mutual trust. + """ + return pulumi.get(self, "relation_auth_name") + + @relation_auth_name.setter + def relation_auth_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "relation_auth_name", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Remark. + """ + return pulumi.get(self, "remark") + + @remark.setter + def remark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "remark", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]]]: + """ + List of member tags. Maximum 10. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _OrganizationMemberOperationState: + def __init__(__self__, *, + auth_files: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]]] = None, + is_allow_quit: Optional[pulumi.Input[str]] = None, + member_uin: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + node_id: Optional[pulumi.Input[int]] = None, + pay_uin: Optional[pulumi.Input[str]] = None, + permission_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + policy_type: Optional[pulumi.Input[str]] = None, + relation_auth_name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]]] = None): + """ + Input properties used for looking up and filtering OrganizationMemberOperation resources. + :param pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]] auth_files: List of supporting documents of mutual trust entities. + :param pulumi.Input[str] is_allow_quit: Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + :param pulumi.Input[int] member_uin: Invited account Uin. + :param pulumi.Input[str] name: Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + :param pulumi.Input[int] node_id: Node ID of the member's department. + :param pulumi.Input[str] pay_uin: Payer Uin. Member needs to pay on behalf of. + :param pulumi.Input[Sequence[pulumi.Input[int]]] permission_ids: List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + :param pulumi.Input[str] policy_type: Relationship strategies. Value taken: Financial. + :param pulumi.Input[str] relation_auth_name: Name of the real-name subject of mutual trust. + :param pulumi.Input[str] remark: Remark. + :param pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]] tags: List of member tags. Maximum 10. + """ + if auth_files is not None: + pulumi.set(__self__, "auth_files", auth_files) + if is_allow_quit is not None: + pulumi.set(__self__, "is_allow_quit", is_allow_quit) + if member_uin is not None: + pulumi.set(__self__, "member_uin", member_uin) + if name is not None: + pulumi.set(__self__, "name", name) + if node_id is not None: + pulumi.set(__self__, "node_id", node_id) + if pay_uin is not None: + pulumi.set(__self__, "pay_uin", pay_uin) + if permission_ids is not None: + pulumi.set(__self__, "permission_ids", permission_ids) + if policy_type is not None: + pulumi.set(__self__, "policy_type", policy_type) + if relation_auth_name is not None: + pulumi.set(__self__, "relation_auth_name", relation_auth_name) + if remark is not None: + pulumi.set(__self__, "remark", remark) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="authFiles") + def auth_files(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]]]: + """ + List of supporting documents of mutual trust entities. + """ + return pulumi.get(self, "auth_files") + + @auth_files.setter + def auth_files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationAuthFileArgs']]]]): + pulumi.set(self, "auth_files", value) + + @property + @pulumi.getter(name="isAllowQuit") + def is_allow_quit(self) -> Optional[pulumi.Input[str]]: + """ + Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + """ + return pulumi.get(self, "is_allow_quit") + + @is_allow_quit.setter + def is_allow_quit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "is_allow_quit", value) + + @property + @pulumi.getter(name="memberUin") + def member_uin(self) -> Optional[pulumi.Input[int]]: + """ + Invited account Uin. + """ + return pulumi.get(self, "member_uin") + + @member_uin.setter + def member_uin(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "member_uin", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="nodeId") + def node_id(self) -> Optional[pulumi.Input[int]]: + """ + Node ID of the member's department. + """ + return pulumi.get(self, "node_id") + + @node_id.setter + def node_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "node_id", value) + + @property + @pulumi.getter(name="payUin") + def pay_uin(self) -> Optional[pulumi.Input[str]]: + """ + Payer Uin. Member needs to pay on behalf of. + """ + return pulumi.get(self, "pay_uin") + + @pay_uin.setter + def pay_uin(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pay_uin", value) + + @property + @pulumi.getter(name="permissionIds") + def permission_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + """ + return pulumi.get(self, "permission_ids") + + @permission_ids.setter + def permission_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "permission_ids", value) + + @property + @pulumi.getter(name="policyType") + def policy_type(self) -> Optional[pulumi.Input[str]]: + """ + Relationship strategies. Value taken: Financial. + """ + return pulumi.get(self, "policy_type") + + @policy_type.setter + def policy_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy_type", value) + + @property + @pulumi.getter(name="relationAuthName") + def relation_auth_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the real-name subject of mutual trust. + """ + return pulumi.get(self, "relation_auth_name") + + @relation_auth_name.setter + def relation_auth_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "relation_auth_name", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Remark. + """ + return pulumi.get(self, "remark") + + @remark.setter + def remark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "remark", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]]]: + """ + List of member tags. Maximum 10. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationMemberOperationTagArgs']]]]): + pulumi.set(self, "tags", value) + + +class OrganizationMemberOperation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auth_files: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationAuthFileArgs']]]]] = None, + is_allow_quit: Optional[pulumi.Input[str]] = None, + member_uin: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + node_id: Optional[pulumi.Input[int]] = None, + pay_uin: Optional[pulumi.Input[str]] = None, + permission_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + policy_type: Optional[pulumi.Input[str]] = None, + relation_auth_name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationTagArgs']]]]] = None, + __props__=None): + """ + Provides a resource to create a organization invite_organization_member_operation + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + invite_organization_member_operation = tencentcloud.invite.OrganizationMemberOperation("inviteOrganizationMemberOperation", + is_allow_quit="Allow", + member_uin="xxxxxx", + node_id="xxxxxx", + permission_ids=[ + 1, + 2, + 4, + ], + policy_type="Financial") + ``` + + + :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['OrganizationMemberOperationAuthFileArgs']]]] auth_files: List of supporting documents of mutual trust entities. + :param pulumi.Input[str] is_allow_quit: Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + :param pulumi.Input[int] member_uin: Invited account Uin. + :param pulumi.Input[str] name: Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + :param pulumi.Input[int] node_id: Node ID of the member's department. + :param pulumi.Input[str] pay_uin: Payer Uin. Member needs to pay on behalf of. + :param pulumi.Input[Sequence[pulumi.Input[int]]] permission_ids: List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + :param pulumi.Input[str] policy_type: Relationship strategies. Value taken: Financial. + :param pulumi.Input[str] relation_auth_name: Name of the real-name subject of mutual trust. + :param pulumi.Input[str] remark: Remark. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationTagArgs']]]] tags: List of member tags. Maximum 10. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: OrganizationMemberOperationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization invite_organization_member_operation + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + invite_organization_member_operation = tencentcloud.invite.OrganizationMemberOperation("inviteOrganizationMemberOperation", + is_allow_quit="Allow", + member_uin="xxxxxx", + node_id="xxxxxx", + permission_ids=[ + 1, + 2, + 4, + ], + policy_type="Financial") + ``` + + + :param str resource_name: The name of the resource. + :param OrganizationMemberOperationArgs 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(OrganizationMemberOperationArgs, 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, + auth_files: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationAuthFileArgs']]]]] = None, + is_allow_quit: Optional[pulumi.Input[str]] = None, + member_uin: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + node_id: Optional[pulumi.Input[int]] = None, + pay_uin: Optional[pulumi.Input[str]] = None, + permission_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + policy_type: Optional[pulumi.Input[str]] = None, + relation_auth_name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationTagArgs']]]]] = 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__ = OrganizationMemberOperationArgs.__new__(OrganizationMemberOperationArgs) + + __props__.__dict__["auth_files"] = auth_files + __props__.__dict__["is_allow_quit"] = is_allow_quit + if member_uin is None and not opts.urn: + raise TypeError("Missing required property 'member_uin'") + __props__.__dict__["member_uin"] = member_uin + __props__.__dict__["name"] = name + if node_id is None and not opts.urn: + raise TypeError("Missing required property 'node_id'") + __props__.__dict__["node_id"] = node_id + __props__.__dict__["pay_uin"] = pay_uin + if permission_ids is None and not opts.urn: + raise TypeError("Missing required property 'permission_ids'") + __props__.__dict__["permission_ids"] = permission_ids + if policy_type is None and not opts.urn: + raise TypeError("Missing required property 'policy_type'") + __props__.__dict__["policy_type"] = policy_type + __props__.__dict__["relation_auth_name"] = relation_auth_name + __props__.__dict__["remark"] = remark + __props__.__dict__["tags"] = tags + super(OrganizationMemberOperation, __self__).__init__( + 'tencentcloud:Invite/organizationMemberOperation:OrganizationMemberOperation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + auth_files: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationAuthFileArgs']]]]] = None, + is_allow_quit: Optional[pulumi.Input[str]] = None, + member_uin: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None, + node_id: Optional[pulumi.Input[int]] = None, + pay_uin: Optional[pulumi.Input[str]] = None, + permission_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + policy_type: Optional[pulumi.Input[str]] = None, + relation_auth_name: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationTagArgs']]]]] = None) -> 'OrganizationMemberOperation': + """ + Get an existing OrganizationMemberOperation 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['OrganizationMemberOperationAuthFileArgs']]]] auth_files: List of supporting documents of mutual trust entities. + :param pulumi.Input[str] is_allow_quit: Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + :param pulumi.Input[int] member_uin: Invited account Uin. + :param pulumi.Input[str] name: Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + :param pulumi.Input[int] node_id: Node ID of the member's department. + :param pulumi.Input[str] pay_uin: Payer Uin. Member needs to pay on behalf of. + :param pulumi.Input[Sequence[pulumi.Input[int]]] permission_ids: List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + :param pulumi.Input[str] policy_type: Relationship strategies. Value taken: Financial. + :param pulumi.Input[str] relation_auth_name: Name of the real-name subject of mutual trust. + :param pulumi.Input[str] remark: Remark. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrganizationMemberOperationTagArgs']]]] tags: List of member tags. Maximum 10. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _OrganizationMemberOperationState.__new__(_OrganizationMemberOperationState) + + __props__.__dict__["auth_files"] = auth_files + __props__.__dict__["is_allow_quit"] = is_allow_quit + __props__.__dict__["member_uin"] = member_uin + __props__.__dict__["name"] = name + __props__.__dict__["node_id"] = node_id + __props__.__dict__["pay_uin"] = pay_uin + __props__.__dict__["permission_ids"] = permission_ids + __props__.__dict__["policy_type"] = policy_type + __props__.__dict__["relation_auth_name"] = relation_auth_name + __props__.__dict__["remark"] = remark + __props__.__dict__["tags"] = tags + return OrganizationMemberOperation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="authFiles") + def auth_files(self) -> pulumi.Output[Optional[Sequence['outputs.OrganizationMemberOperationAuthFile']]]: + """ + List of supporting documents of mutual trust entities. + """ + return pulumi.get(self, "auth_files") + + @property + @pulumi.getter(name="isAllowQuit") + def is_allow_quit(self) -> pulumi.Output[Optional[str]]: + """ + Whether to allow members to withdraw. Allow: Allow, Disallow: Denied. + """ + return pulumi.get(self, "is_allow_quit") + + @property + @pulumi.getter(name="memberUin") + def member_uin(self) -> pulumi.Output[int]: + """ + Invited account Uin. + """ + return pulumi.get(self, "member_uin") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Member name. The maximum length is 25 characters and supports English letters, numbers, Chinese characters, symbols `+`, `@`, `&`, `.`, `[`, `]`, `-`, `:`, `,` and enumeration comma. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodeId") + def node_id(self) -> pulumi.Output[int]: + """ + Node ID of the member's department. + """ + return pulumi.get(self, "node_id") + + @property + @pulumi.getter(name="payUin") + def pay_uin(self) -> pulumi.Output[Optional[str]]: + """ + Payer Uin. Member needs to pay on behalf of. + """ + return pulumi.get(self, "pay_uin") + + @property + @pulumi.getter(name="permissionIds") + def permission_ids(self) -> pulumi.Output[Sequence[int]]: + """ + List of member financial authority IDs. Values: 1-View bill, 2-View balance, 3-Fund transfer, 4-Consolidated disbursement, 5-Invoice, 6-Benefit inheritance, 7-Proxy payment, 1 and 2 must be default. + """ + return pulumi.get(self, "permission_ids") + + @property + @pulumi.getter(name="policyType") + def policy_type(self) -> pulumi.Output[str]: + """ + Relationship strategies. Value taken: Financial. + """ + return pulumi.get(self, "policy_type") + + @property + @pulumi.getter(name="relationAuthName") + def relation_auth_name(self) -> pulumi.Output[Optional[str]]: + """ + Name of the real-name subject of mutual trust. + """ + return pulumi.get(self, "relation_auth_name") + + @property + @pulumi.getter + def remark(self) -> pulumi.Output[Optional[str]]: + """ + Remark. + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.OrganizationMemberOperationTag']]]: + """ + List of member tags. Maximum 10. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/tencentcloud_iac_pulumi/invite/outputs.py b/sdk/python/tencentcloud_iac_pulumi/invite/outputs.py new file mode 100644 index 000000000..d8eeab595 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/invite/outputs.py @@ -0,0 +1,93 @@ +# 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__ = [ + 'OrganizationMemberOperationAuthFile', + 'OrganizationMemberOperationTag', +] + +@pulumi.output_type +class OrganizationMemberOperationAuthFile(dict): + def __init__(__self__, *, + name: str, + url: str): + """ + :param str name: File name. + :param str url: File path. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter + def name(self) -> str: + """ + File name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def url(self) -> str: + """ + File path. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class OrganizationMemberOperationTag(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tagKey": + suggest = "tag_key" + elif key == "tagValue": + suggest = "tag_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in OrganizationMemberOperationTag. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + OrganizationMemberOperationTag.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + OrganizationMemberOperationTag.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tag_key: str, + tag_value: str): + """ + :param str tag_key: Tag key. + :param str tag_value: Tag value. + """ + pulumi.set(__self__, "tag_key", tag_key) + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> str: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> str: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py index 12f31af20..e0efb3d61 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py @@ -7,6 +7,7 @@ # Export this package's modules as members: from .addon import * from .addon_attachment import * +from .addon_config import * from .auth_attachment import * from .backup_storage_location import * from .cluster import * @@ -22,6 +23,8 @@ from .get_cluster_native_node_pools import * from .get_cluster_node_pools import * from .get_clusters import * +from .health_check_policy import * +from .log_config import * from .native_node_pool import * from .node_pool import * from .scale_worker import * diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py index 353951fe6..970a7896b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py @@ -31,6 +31,7 @@ 'ClusterWorkerConfigDataDiskArgs', 'ClusterWorkerInstancesListArgs', 'EncryptionProtectionKmsConfigurationArgs', + 'HealthCheckPolicyRuleArgs', 'NativeNodePoolAnnotationArgs', 'NativeNodePoolLabelArgs', 'NativeNodePoolNativeArgs', @@ -80,7 +81,7 @@ def __init__(__self__, *, :param pulumi.Input[str] docker_graph_path: Docker graph path. Default is `/var/lib/docker`. :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. This is a white-list parameter. :param pulumi.Input['ClusterAttachmentWorkerConfigGpuArgsArgs'] gpu_args: GPU driver parameters. - :param pulumi.Input[bool] is_schedule: Indicate to schedule the adding node or not. Default is true. + :param pulumi.Input[bool] is_schedule: This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. :param pulumi.Input[str] mount_target: Mount target. Default is not mounting. :param pulumi.Input[str] pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. :param pulumi.Input[str] user_data: Base64-encoded User Data text, the length limit is 16KB. @@ -95,6 +96,9 @@ def __init__(__self__, *, 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: + warnings.warn("""This argument was deprecated, use `unschedulable` instead.""", DeprecationWarning) + pulumi.log.warn("""is_schedule is deprecated: This argument was deprecated, use `unschedulable` instead.""") if is_schedule is not None: pulumi.set(__self__, "is_schedule", is_schedule) if mount_target is not None: @@ -168,8 +172,11 @@ def gpu_args(self, value: Optional[pulumi.Input['ClusterAttachmentWorkerConfigGp @pulumi.getter(name="isSchedule") def is_schedule(self) -> Optional[pulumi.Input[bool]]: """ - Indicate to schedule the adding node or not. Default is true. + This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. """ + warnings.warn("""This argument was deprecated, use `unschedulable` instead.""", DeprecationWarning) + pulumi.log.warn("""is_schedule is deprecated: This argument was deprecated, use `unschedulable` instead.""") + return pulumi.get(self, "is_schedule") @is_schedule.setter @@ -418,30 +425,48 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input['ClusterAttachmentWorkerConfigOverridesDataDiskArgs']]] data_disks: Configurations of data disk. :param pulumi.Input[int] desired_pod_num: Indicate to set desired pod number in node. valid when the cluster is podCIDR. - :param pulumi.Input[str] docker_graph_path: Docker graph path. Default is `/var/lib/docker`. - :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. This is a white-list parameter. + :param pulumi.Input[str] docker_graph_path: This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. :param pulumi.Input['ClusterAttachmentWorkerConfigOverridesGpuArgsArgs'] gpu_args: GPU driver parameters. - :param pulumi.Input[bool] is_schedule: Indicate to schedule the adding node or not. Default is true. - :param pulumi.Input[str] mount_target: Mount target. Default is not mounting. - :param pulumi.Input[str] pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. - :param pulumi.Input[str] user_data: Base64-encoded User Data text, the length limit is 16KB. + :param pulumi.Input[bool] is_schedule: This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + :param pulumi.Input[str] mount_target: This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. + :param pulumi.Input[str] pre_start_user_script: This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + :param pulumi.Input[str] user_data: This argument was no longer supported by TencentCloud TKE. 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: + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""docker_graph_path is deprecated: This argument was no longer supported by TencentCloud TKE.""") if docker_graph_path is not None: pulumi.set(__self__, "docker_graph_path", docker_graph_path) + if extra_args is not None: + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""extra_args is deprecated: This argument was no longer supported by TencentCloud TKE.""") 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: + warnings.warn("""This argument was deprecated, use `unschedulable` instead.""", DeprecationWarning) + pulumi.log.warn("""is_schedule is deprecated: This argument was deprecated, use `unschedulable` instead.""") if is_schedule is not None: pulumi.set(__self__, "is_schedule", is_schedule) + if mount_target is not None: + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""mount_target is deprecated: This argument was no longer supported by TencentCloud TKE.""") if mount_target is not None: pulumi.set(__self__, "mount_target", mount_target) + if pre_start_user_script is not None: + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""pre_start_user_script is deprecated: This argument was no longer supported by TencentCloud TKE.""") 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: + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""user_data is deprecated: This argument was no longer supported by TencentCloud TKE.""") if user_data is not None: pulumi.set(__self__, "user_data", user_data) @@ -473,8 +498,11 @@ def desired_pod_num(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="dockerGraphPath") def docker_graph_path(self) -> Optional[pulumi.Input[str]]: """ - Docker graph path. Default is `/var/lib/docker`. + This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""docker_graph_path is deprecated: This argument was no longer supported by TencentCloud TKE.""") + return pulumi.get(self, "docker_graph_path") @docker_graph_path.setter @@ -485,8 +513,11 @@ def docker_graph_path(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="extraArgs") def extra_args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Custom parameter information related to the node. This is a white-list parameter. + This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""extra_args is deprecated: This argument was no longer supported by TencentCloud TKE.""") + return pulumi.get(self, "extra_args") @extra_args.setter @@ -509,8 +540,11 @@ def gpu_args(self, value: Optional[pulumi.Input['ClusterAttachmentWorkerConfigOv @pulumi.getter(name="isSchedule") def is_schedule(self) -> Optional[pulumi.Input[bool]]: """ - Indicate to schedule the adding node or not. Default is true. + This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. """ + warnings.warn("""This argument was deprecated, use `unschedulable` instead.""", DeprecationWarning) + pulumi.log.warn("""is_schedule is deprecated: This argument was deprecated, use `unschedulable` instead.""") + return pulumi.get(self, "is_schedule") @is_schedule.setter @@ -521,8 +555,11 @@ def is_schedule(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="mountTarget") def mount_target(self) -> Optional[pulumi.Input[str]]: """ - Mount target. Default is not mounting. + This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""mount_target is deprecated: This argument was no longer supported by TencentCloud TKE.""") + return pulumi.get(self, "mount_target") @mount_target.setter @@ -533,8 +570,11 @@ def mount_target(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="preStartUserScript") def pre_start_user_script(self) -> Optional[pulumi.Input[str]]: """ - Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""pre_start_user_script is deprecated: This argument was no longer supported by TencentCloud TKE.""") + return pulumi.get(self, "pre_start_user_script") @pre_start_user_script.setter @@ -545,8 +585,11 @@ def pre_start_user_script(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="userData") def user_data(self) -> Optional[pulumi.Input[str]]: """ - Base64-encoded User Data text, the length limit is 16KB. + This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""user_data is deprecated: This argument was no longer supported by TencentCloud TKE.""") + return pulumi.get(self, "user_data") @user_data.setter @@ -2615,6 +2658,58 @@ def kms_region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "kms_region", value) +@pulumi.input_type +class HealthCheckPolicyRuleArgs: + def __init__(__self__, *, + auto_repair_enabled: pulumi.Input[bool], + enabled: pulumi.Input[bool], + name: pulumi.Input[str]): + """ + :param pulumi.Input[bool] auto_repair_enabled: Enable repair or not. + :param pulumi.Input[bool] enabled: Enable detection of this project or not. + :param pulumi.Input[str] name: Health check rule details. + """ + pulumi.set(__self__, "auto_repair_enabled", auto_repair_enabled) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="autoRepairEnabled") + def auto_repair_enabled(self) -> pulumi.Input[bool]: + """ + Enable repair or not. + """ + return pulumi.get(self, "auto_repair_enabled") + + @auto_repair_enabled.setter + def auto_repair_enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "auto_repair_enabled", value) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + Enable detection of this project or not. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Health check rule details. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @pulumi.input_type class NativeNodePoolAnnotationArgs: def __init__(__self__, *, @@ -3585,6 +3680,7 @@ def __init__(__self__, *, instance_charge_type_prepaid_period: Optional[pulumi.Input[int]] = None, instance_charge_type_prepaid_renew_flag: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, + instance_name_style: Optional[pulumi.Input[str]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, internet_max_bandwidth_out: Optional[pulumi.Input[int]] = None, key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -3610,6 +3706,7 @@ def __init__(__self__, *, :param pulumi.Input[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 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`. :param pulumi.Input[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 pulumi.Input[str] instance_name_style: Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. :param pulumi.Input[str] internet_charge_type: Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. :param pulumi.Input[int] internet_max_bandwidth_out: Max bandwidth of Internet access in Mbps. Default is `0`. :param pulumi.Input[Sequence[pulumi.Input[str]]] key_ids: ID list of keys. @@ -3647,6 +3744,8 @@ def __init__(__self__, *, 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 instance_name_style is not None: + pulumi.set(__self__, "instance_name_style", instance_name_style) if internet_charge_type is not None: pulumi.set(__self__, "internet_charge_type", internet_charge_type) if internet_max_bandwidth_out is not None: @@ -3829,6 +3928,18 @@ def instance_name(self) -> Optional[pulumi.Input[str]]: def instance_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "instance_name", value) + @property + @pulumi.getter(name="instanceNameStyle") + def instance_name_style(self) -> Optional[pulumi.Input[str]]: + """ + Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + """ + return pulumi.get(self, "instance_name_style") + + @instance_name_style.setter + def instance_name_style(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_name_style", value) + @property @pulumi.getter(name="internetChargeType") def internet_charge_type(self) -> Optional[pulumi.Input[str]]: @@ -4465,12 +4576,14 @@ def value(self, value: pulumi.Input[str]): class ScaleWorkerDataDiskArgs: def __init__(__self__, *, auto_format_and_mount: Optional[pulumi.Input[bool]] = None, + disk_partition: Optional[pulumi.Input[str]] = None, disk_size: Optional[pulumi.Input[int]] = None, disk_type: Optional[pulumi.Input[str]] = None, file_system: Optional[pulumi.Input[str]] = None, mount_target: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[bool] auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. + :param pulumi.Input[str] disk_partition: The name of the device or partition to mount. :param pulumi.Input[int] disk_size: Volume of disk in GB. Default is `0`. :param pulumi.Input[str] disk_type: Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. :param pulumi.Input[str] file_system: File system, e.g. `ext3/ext4/xfs`. @@ -4478,6 +4591,8 @@ def __init__(__self__, *, """ 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: @@ -4499,6 +4614,18 @@ def auto_format_and_mount(self) -> Optional[pulumi.Input[bool]]: 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]]: @@ -4672,7 +4799,7 @@ def __init__(__self__, *, :param pulumi.Input[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 pulumi.Input[str] cam_role_name: CAM role name authorized to access. :param pulumi.Input[int] count: Number of cvm. - :param pulumi.Input[Sequence[pulumi.Input['ScaleWorkerWorkerConfigDataDiskArgs']]] data_disks: Configurations of data disk. + :param pulumi.Input[Sequence[pulumi.Input['ScaleWorkerWorkerConfigDataDiskArgs']]] data_disks: Configurations of cvm data disk. :param pulumi.Input[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 pulumi.Input[str] disaster_recover_group_ids: Disaster recover groups to which a CVM instance belongs. Only support maximum 1. :param pulumi.Input[bool] enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. @@ -4823,7 +4950,7 @@ def count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="dataDisks") def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerWorkerConfigDataDiskArgs']]]]: """ - Configurations of data disk. + Configurations of cvm data disk. """ return pulumi.get(self, "data_disks") @@ -5095,8 +5222,14 @@ def __init__(__self__, *, :param pulumi.Input[str] mount_target: Mount target. :param pulumi.Input[str] snapshot_id: Data disk snapshot ID. """ + if auto_format_and_mount is not None: + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""auto_format_and_mount is deprecated: This argument was deprecated, use `data_disk` instead.""") 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: + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""disk_partition is deprecated: This argument was deprecated, use `data_disk` instead.""") if disk_partition is not None: pulumi.set(__self__, "disk_partition", disk_partition) if disk_size is not None: @@ -5105,10 +5238,16 @@ def __init__(__self__, *, pulumi.set(__self__, "disk_type", disk_type) if encrypt is not None: pulumi.set(__self__, "encrypt", encrypt) + if file_system is not None: + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""file_system is deprecated: This argument was deprecated, use `data_disk` instead.""") 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: + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""mount_target is deprecated: This argument was deprecated, use `data_disk` instead.""") if mount_target is not None: pulumi.set(__self__, "mount_target", mount_target) if snapshot_id is not None: @@ -5120,6 +5259,9 @@ def auto_format_and_mount(self) -> Optional[pulumi.Input[bool]]: """ Indicate whether to auto format and mount or not. Default is `false`. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""auto_format_and_mount is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "auto_format_and_mount") @auto_format_and_mount.setter @@ -5132,6 +5274,9 @@ def disk_partition(self) -> Optional[pulumi.Input[str]]: """ The name of the device or partition to mount. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""disk_partition is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "disk_partition") @disk_partition.setter @@ -5180,6 +5325,9 @@ def file_system(self) -> Optional[pulumi.Input[str]]: """ File system, e.g. `ext3/ext4/xfs`. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""file_system is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "file_system") @file_system.setter @@ -5204,6 +5352,9 @@ def mount_target(self) -> Optional[pulumi.Input[str]]: """ Mount target. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""mount_target is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "mount_target") @mount_target.setter diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/addon_config.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/addon_config.py new file mode 100644 index 000000000..0935950ee --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/addon_config.py @@ -0,0 +1,348 @@ +# 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__ = ['AddonConfigArgs', 'AddonConfig'] + +@pulumi.input_type +class AddonConfigArgs: + def __init__(__self__, *, + addon_name: pulumi.Input[str], + cluster_id: pulumi.Input[str], + addon_version: Optional[pulumi.Input[str]] = None, + raw_values: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AddonConfig resource. + :param pulumi.Input[str] addon_name: Name of addon. + :param pulumi.Input[str] cluster_id: ID of cluster. + :param pulumi.Input[str] addon_version: Version of addon. + :param pulumi.Input[str] raw_values: Params of addon, base64 encoded json format. + """ + pulumi.set(__self__, "addon_name", addon_name) + pulumi.set(__self__, "cluster_id", cluster_id) + if addon_version is not None: + pulumi.set(__self__, "addon_version", addon_version) + if raw_values is not None: + pulumi.set(__self__, "raw_values", raw_values) + + @property + @pulumi.getter(name="addonName") + def addon_name(self) -> pulumi.Input[str]: + """ + Name of addon. + """ + return pulumi.get(self, "addon_name") + + @addon_name.setter + def addon_name(self, value: pulumi.Input[str]): + pulumi.set(self, "addon_name", value) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + """ + ID of 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(name="addonVersion") + def addon_version(self) -> Optional[pulumi.Input[str]]: + """ + Version of addon. + """ + return pulumi.get(self, "addon_version") + + @addon_version.setter + def addon_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "addon_version", value) + + @property + @pulumi.getter(name="rawValues") + def raw_values(self) -> Optional[pulumi.Input[str]]: + """ + Params of addon, base64 encoded json format. + """ + return pulumi.get(self, "raw_values") + + @raw_values.setter + def raw_values(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "raw_values", value) + + +@pulumi.input_type +class _AddonConfigState: + def __init__(__self__, *, + addon_name: Optional[pulumi.Input[str]] = None, + addon_version: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + phase: Optional[pulumi.Input[str]] = None, + raw_values: Optional[pulumi.Input[str]] = None, + reason: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AddonConfig resources. + :param pulumi.Input[str] addon_name: Name of addon. + :param pulumi.Input[str] addon_version: Version of addon. + :param pulumi.Input[str] cluster_id: ID of cluster. + :param pulumi.Input[str] phase: Status of addon. + :param pulumi.Input[str] raw_values: Params of addon, base64 encoded json format. + :param pulumi.Input[str] reason: Reason of addon failed. + """ + if addon_name is not None: + pulumi.set(__self__, "addon_name", addon_name) + if addon_version is not None: + pulumi.set(__self__, "addon_version", addon_version) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if phase is not None: + pulumi.set(__self__, "phase", phase) + if raw_values is not None: + pulumi.set(__self__, "raw_values", raw_values) + if reason is not None: + pulumi.set(__self__, "reason", reason) + + @property + @pulumi.getter(name="addonName") + def addon_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of addon. + """ + return pulumi.get(self, "addon_name") + + @addon_name.setter + def addon_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "addon_name", value) + + @property + @pulumi.getter(name="addonVersion") + def addon_version(self) -> Optional[pulumi.Input[str]]: + """ + Version of addon. + """ + return pulumi.get(self, "addon_version") + + @addon_version.setter + def addon_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "addon_version", value) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of 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 + def phase(self) -> Optional[pulumi.Input[str]]: + """ + Status of addon. + """ + return pulumi.get(self, "phase") + + @phase.setter + def phase(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "phase", value) + + @property + @pulumi.getter(name="rawValues") + def raw_values(self) -> Optional[pulumi.Input[str]]: + """ + Params of addon, base64 encoded json format. + """ + return pulumi.get(self, "raw_values") + + @raw_values.setter + def raw_values(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "raw_values", value) + + @property + @pulumi.getter + def reason(self) -> Optional[pulumi.Input[str]]: + """ + Reason of addon failed. + """ + return pulumi.get(self, "reason") + + @reason.setter + def reason(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "reason", value) + + +class AddonConfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + addon_name: Optional[pulumi.Input[str]] = None, + addon_version: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + raw_values: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provide a resource to configure addon that kubernetes comes with. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] addon_name: Name of addon. + :param pulumi.Input[str] addon_version: Version of addon. + :param pulumi.Input[str] cluster_id: ID of cluster. + :param pulumi.Input[str] raw_values: Params of addon, base64 encoded json format. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AddonConfigArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provide a resource to configure addon that kubernetes comes with. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param AddonConfigArgs 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(AddonConfigArgs, 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, + addon_name: Optional[pulumi.Input[str]] = None, + addon_version: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + raw_values: 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__ = AddonConfigArgs.__new__(AddonConfigArgs) + + if addon_name is None and not opts.urn: + raise TypeError("Missing required property 'addon_name'") + __props__.__dict__["addon_name"] = addon_name + __props__.__dict__["addon_version"] = addon_version + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["raw_values"] = raw_values + __props__.__dict__["phase"] = None + __props__.__dict__["reason"] = None + super(AddonConfig, __self__).__init__( + 'tencentcloud:Kubernetes/addonConfig:AddonConfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + addon_name: Optional[pulumi.Input[str]] = None, + addon_version: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + phase: Optional[pulumi.Input[str]] = None, + raw_values: Optional[pulumi.Input[str]] = None, + reason: Optional[pulumi.Input[str]] = None) -> 'AddonConfig': + """ + Get an existing AddonConfig 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] addon_name: Name of addon. + :param pulumi.Input[str] addon_version: Version of addon. + :param pulumi.Input[str] cluster_id: ID of cluster. + :param pulumi.Input[str] phase: Status of addon. + :param pulumi.Input[str] raw_values: Params of addon, base64 encoded json format. + :param pulumi.Input[str] reason: Reason of addon failed. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AddonConfigState.__new__(_AddonConfigState) + + __props__.__dict__["addon_name"] = addon_name + __props__.__dict__["addon_version"] = addon_version + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["phase"] = phase + __props__.__dict__["raw_values"] = raw_values + __props__.__dict__["reason"] = reason + return AddonConfig(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="addonName") + def addon_name(self) -> pulumi.Output[str]: + """ + Name of addon. + """ + return pulumi.get(self, "addon_name") + + @property + @pulumi.getter(name="addonVersion") + def addon_version(self) -> pulumi.Output[str]: + """ + Version of addon. + """ + return pulumi.get(self, "addon_version") + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[str]: + """ + ID of cluster. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter + def phase(self) -> pulumi.Output[str]: + """ + Status of addon. + """ + return pulumi.get(self, "phase") + + @property + @pulumi.getter(name="rawValues") + def raw_values(self) -> pulumi.Output[str]: + """ + Params of addon, base64 encoded json format. + """ + return pulumi.get(self, "raw_values") + + @property + @pulumi.getter + def reason(self) -> pulumi.Output[str]: + """ + Reason of addon failed. + """ + return pulumi.get(self, "reason") + diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py index 8e92f8703..32bc1b25e 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py @@ -21,6 +21,7 @@ def __init__(__self__, *, auth_options: Optional[pulumi.Input['ClusterAuthOptionsArgs']] = None, auto_upgrade_cluster_level: Optional[pulumi.Input[bool]] = None, base_pod_num: Optional[pulumi.Input[int]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, claim_expired_seconds: Optional[pulumi.Input[int]] = None, cluster_audit: Optional[pulumi.Input['ClusterClusterAuditArgs']] = None, cluster_cidr: Optional[pulumi.Input[str]] = None, @@ -53,6 +54,7 @@ def __init__(__self__, *, extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, globe_desired_pod_num: Optional[pulumi.Input[int]] = None, ignore_cluster_cidr_conflict: Optional[pulumi.Input[bool]] = None, + ignore_service_cidr_conflict: Optional[pulumi.Input[bool]] = None, is_non_static_ip_mode: Optional[pulumi.Input[bool]] = None, kube_proxy_mode: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -63,6 +65,7 @@ def __init__(__self__, *, network_type: Optional[pulumi.Input[str]] = None, node_name_type: Optional[pulumi.Input[str]] = None, node_pool_global_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolGlobalConfigArgs']]]] = None, + pre_start_user_script: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, runtime_version: Optional[pulumi.Input[str]] = None, service_cidr: Optional[pulumi.Input[str]] = None, @@ -78,6 +81,7 @@ def __init__(__self__, *, :param pulumi.Input['ClusterAuthOptionsArgs'] auth_options: Specify cluster authentication configuration. Only available for managed cluster and `cluster_version` >= 1.20. :param pulumi.Input[bool] auto_upgrade_cluster_level: Whether the cluster level auto upgraded, valid for managed cluster. :param pulumi.Input[int] base_pod_num: The number of basic pods. valid when enable_customized_pod_cidr=true. + :param pulumi.Input[str] cdc_id: CDC ID. :param pulumi.Input[int] claim_expired_seconds: Claim expired seconds to recycle ENI. This field can only set when field `network_type` is 'VPC-CNI'. `claim_expired_seconds` must greater or equal than 300 and less than 15768000. :param pulumi.Input['ClusterClusterAuditArgs'] cluster_audit: Specify Cluster Audit config. NOTE: Please make sure your TKE CamRole have permission to access CLS service. :param pulumi.Input[str] cluster_cidr: A network address block of the cluster. Different from vpc cidr and cidr of other clusters within this vpc. Must be in 10./192.168/172.[16-31] segments. @@ -110,6 +114,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. :param pulumi.Input[int] globe_desired_pod_num: Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it takes effect for all nodes. :param pulumi.Input[bool] ignore_cluster_cidr_conflict: Indicates whether to ignore the cluster cidr conflict error. Default is false. + :param pulumi.Input[bool] ignore_service_cidr_conflict: Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. :param pulumi.Input[bool] is_non_static_ip_mode: Indicates whether non-static ip mode is enabled. Default is false. :param pulumi.Input[str] kube_proxy_mode: Cluster kube-proxy mode, the available values include: 'kube-proxy-bpf'. Default is not set.When set to kube-proxy-bpf, cluster version greater than 1.14 and with Tencent Linux 2.4 is required. :param pulumi.Input[Mapping[str, Any]] labels: Labels of tke cluster nodes. @@ -120,6 +125,7 @@ def __init__(__self__, *, :param pulumi.Input[str] network_type: Cluster network type, the available values include: 'GR' and 'VPC-CNI' and 'CiliumOverlay'. Default is GR. :param pulumi.Input[str] node_name_type: Node name type of Cluster, the available values include: 'lan-ip' and 'hostname', Default is 'lan-ip'. :param pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolGlobalConfigArgs']]] node_pool_global_configs: Global config effective for all node pools. + :param pulumi.Input[str] pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. :param pulumi.Input[int] project_id: Project ID, default value is 0. :param pulumi.Input[str] runtime_version: Container Runtime version. :param pulumi.Input[str] service_cidr: A network address block of the service. Different from vpc cidr and cidr of other clusters within this vpc. Must be in 10./192.168/172.[16-31] segments. @@ -138,6 +144,8 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_upgrade_cluster_level", auto_upgrade_cluster_level) if base_pod_num is not None: pulumi.set(__self__, "base_pod_num", base_pod_num) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if claim_expired_seconds is not None: pulumi.set(__self__, "claim_expired_seconds", claim_expired_seconds) if cluster_audit is not None: @@ -202,6 +210,8 @@ def __init__(__self__, *, pulumi.set(__self__, "globe_desired_pod_num", globe_desired_pod_num) if ignore_cluster_cidr_conflict is not None: pulumi.set(__self__, "ignore_cluster_cidr_conflict", ignore_cluster_cidr_conflict) + if ignore_service_cidr_conflict is not None: + pulumi.set(__self__, "ignore_service_cidr_conflict", ignore_service_cidr_conflict) if is_non_static_ip_mode is not None: pulumi.set(__self__, "is_non_static_ip_mode", is_non_static_ip_mode) if kube_proxy_mode is not None: @@ -225,6 +235,8 @@ def __init__(__self__, *, pulumi.set(__self__, "node_name_type", node_name_type) if node_pool_global_configs is not None: pulumi.set(__self__, "node_pool_global_configs", node_pool_global_configs) + if pre_start_user_script is not None: + pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) if project_id is not None: pulumi.set(__self__, "project_id", project_id) if runtime_version is not None: @@ -302,6 +314,18 @@ def base_pod_num(self) -> Optional[pulumi.Input[int]]: def base_pod_num(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "base_pod_num", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="claimExpiredSeconds") def claim_expired_seconds(self) -> Optional[pulumi.Input[int]]: @@ -686,6 +710,18 @@ def ignore_cluster_cidr_conflict(self) -> Optional[pulumi.Input[bool]]: def ignore_cluster_cidr_conflict(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ignore_cluster_cidr_conflict", value) + @property + @pulumi.getter(name="ignoreServiceCidrConflict") + def ignore_service_cidr_conflict(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + """ + return pulumi.get(self, "ignore_service_cidr_conflict") + + @ignore_service_cidr_conflict.setter + def ignore_service_cidr_conflict(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ignore_service_cidr_conflict", value) + @property @pulumi.getter(name="isNonStaticIpMode") def is_non_static_ip_mode(self) -> Optional[pulumi.Input[bool]]: @@ -809,6 +845,18 @@ def node_pool_global_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Inpu def node_pool_global_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolGlobalConfigArgs']]]]): pulumi.set(self, "node_pool_global_configs", value) + @property + @pulumi.getter(name="preStartUserScript") + def pre_start_user_script(self) -> Optional[pulumi.Input[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") + + @pre_start_user_script.setter + def pre_start_user_script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pre_start_user_script", value) + @property @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[int]]: @@ -913,6 +961,7 @@ def __init__(__self__, *, auth_options: Optional[pulumi.Input['ClusterAuthOptionsArgs']] = None, auto_upgrade_cluster_level: Optional[pulumi.Input[bool]] = None, base_pod_num: Optional[pulumi.Input[int]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, certification_authority: Optional[pulumi.Input[str]] = None, claim_expired_seconds: Optional[pulumi.Input[int]] = None, cluster_as_enabled: Optional[pulumi.Input[bool]] = None, @@ -950,6 +999,7 @@ def __init__(__self__, *, extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, globe_desired_pod_num: Optional[pulumi.Input[int]] = None, ignore_cluster_cidr_conflict: Optional[pulumi.Input[bool]] = None, + ignore_service_cidr_conflict: Optional[pulumi.Input[bool]] = None, is_non_static_ip_mode: Optional[pulumi.Input[bool]] = None, kube_config: Optional[pulumi.Input[str]] = None, kube_config_intranet: Optional[pulumi.Input[str]] = None, @@ -964,6 +1014,7 @@ def __init__(__self__, *, node_pool_global_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolGlobalConfigArgs']]]] = None, password: Optional[pulumi.Input[str]] = None, pgw_endpoint: Optional[pulumi.Input[str]] = None, + pre_start_user_script: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, runtime_version: Optional[pulumi.Input[str]] = None, security_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -982,6 +1033,7 @@ def __init__(__self__, *, :param pulumi.Input['ClusterAuthOptionsArgs'] auth_options: Specify cluster authentication configuration. Only available for managed cluster and `cluster_version` >= 1.20. :param pulumi.Input[bool] auto_upgrade_cluster_level: Whether the cluster level auto upgraded, valid for managed cluster. :param pulumi.Input[int] base_pod_num: The number of basic pods. valid when enable_customized_pod_cidr=true. + :param pulumi.Input[str] cdc_id: CDC ID. :param pulumi.Input[str] certification_authority: The certificate used for access. :param pulumi.Input[int] claim_expired_seconds: Claim expired seconds to recycle ENI. This field can only set when field `network_type` is 'VPC-CNI'. `claim_expired_seconds` must greater or equal than 300 and less than 15768000. :param pulumi.Input[bool] cluster_as_enabled: (**Deprecated**) This argument is deprecated because the TKE auto-scaling group was no longer available. Indicates whether to enable cluster node auto scaling. Default is false. @@ -1019,6 +1071,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. :param pulumi.Input[int] globe_desired_pod_num: Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it takes effect for all nodes. :param pulumi.Input[bool] ignore_cluster_cidr_conflict: Indicates whether to ignore the cluster cidr conflict error. Default is false. + :param pulumi.Input[bool] ignore_service_cidr_conflict: Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. :param pulumi.Input[bool] is_non_static_ip_mode: Indicates whether non-static ip mode is enabled. Default is false. :param pulumi.Input[str] kube_config: Kubernetes config. :param pulumi.Input[str] kube_config_intranet: Kubernetes config of private network. @@ -1033,6 +1086,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolGlobalConfigArgs']]] node_pool_global_configs: Global config effective for all node pools. :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. :param pulumi.Input[str] pgw_endpoint: The Intranet address used for access. + :param pulumi.Input[str] pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. :param pulumi.Input[int] project_id: Project ID, default value is 0. :param pulumi.Input[str] runtime_version: Container Runtime version. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_policies: Access policy. @@ -1054,6 +1108,8 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_upgrade_cluster_level", auto_upgrade_cluster_level) if base_pod_num is not None: pulumi.set(__self__, "base_pod_num", base_pod_num) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if certification_authority is not None: pulumi.set(__self__, "certification_authority", certification_authority) if claim_expired_seconds is not None: @@ -1131,6 +1187,8 @@ def __init__(__self__, *, pulumi.set(__self__, "globe_desired_pod_num", globe_desired_pod_num) if ignore_cluster_cidr_conflict is not None: pulumi.set(__self__, "ignore_cluster_cidr_conflict", ignore_cluster_cidr_conflict) + if ignore_service_cidr_conflict is not None: + pulumi.set(__self__, "ignore_service_cidr_conflict", ignore_service_cidr_conflict) if is_non_static_ip_mode is not None: pulumi.set(__self__, "is_non_static_ip_mode", is_non_static_ip_mode) if kube_config is not None: @@ -1162,6 +1220,8 @@ def __init__(__self__, *, pulumi.set(__self__, "password", password) if pgw_endpoint is not None: pulumi.set(__self__, "pgw_endpoint", pgw_endpoint) + if pre_start_user_script is not None: + pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) if project_id is not None: pulumi.set(__self__, "project_id", project_id) if runtime_version is not None: @@ -1235,6 +1295,18 @@ def base_pod_num(self) -> Optional[pulumi.Input[int]]: def base_pod_num(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "base_pod_num", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="certificationAuthority") def certification_authority(self) -> Optional[pulumi.Input[str]]: @@ -1682,6 +1754,18 @@ def ignore_cluster_cidr_conflict(self) -> Optional[pulumi.Input[bool]]: def ignore_cluster_cidr_conflict(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ignore_cluster_cidr_conflict", value) + @property + @pulumi.getter(name="ignoreServiceCidrConflict") + def ignore_service_cidr_conflict(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + """ + return pulumi.get(self, "ignore_service_cidr_conflict") + + @ignore_service_cidr_conflict.setter + def ignore_service_cidr_conflict(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "ignore_service_cidr_conflict", value) + @property @pulumi.getter(name="isNonStaticIpMode") def is_non_static_ip_mode(self) -> Optional[pulumi.Input[bool]]: @@ -1853,6 +1937,18 @@ def pgw_endpoint(self) -> Optional[pulumi.Input[str]]: def pgw_endpoint(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pgw_endpoint", value) + @property + @pulumi.getter(name="preStartUserScript") + def pre_start_user_script(self) -> Optional[pulumi.Input[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") + + @pre_start_user_script.setter + def pre_start_user_script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pre_start_user_script", value) + @property @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[int]]: @@ -2007,6 +2103,7 @@ def __init__(__self__, auth_options: Optional[pulumi.Input[pulumi.InputType['ClusterAuthOptionsArgs']]] = None, auto_upgrade_cluster_level: Optional[pulumi.Input[bool]] = None, base_pod_num: Optional[pulumi.Input[int]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, claim_expired_seconds: Optional[pulumi.Input[int]] = None, cluster_audit: Optional[pulumi.Input[pulumi.InputType['ClusterClusterAuditArgs']]] = None, cluster_cidr: Optional[pulumi.Input[str]] = None, @@ -2039,6 +2136,7 @@ def __init__(__self__, extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, globe_desired_pod_num: Optional[pulumi.Input[int]] = None, ignore_cluster_cidr_conflict: Optional[pulumi.Input[bool]] = None, + ignore_service_cidr_conflict: Optional[pulumi.Input[bool]] = None, is_non_static_ip_mode: Optional[pulumi.Input[bool]] = None, kube_proxy_mode: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -2049,6 +2147,7 @@ def __init__(__self__, network_type: Optional[pulumi.Input[str]] = None, node_name_type: Optional[pulumi.Input[str]] = None, node_pool_global_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterNodePoolGlobalConfigArgs']]]]] = None, + pre_start_user_script: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, runtime_version: Optional[pulumi.Input[str]] = None, service_cidr: Optional[pulumi.Input[str]] = None, @@ -2214,6 +2313,41 @@ def __init__(__self__, ``` + ### Create a CDC scenario cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + cdc_cluster = tencentcloud.kubernetes.Cluster("cdcCluster", + cdc_id="cluster-xxxxx", + cluster_cidr="192.168.0.0/16", + cluster_deploy_type="INDEPENDENT_CLUSTER", + cluster_desc="test cluster desc", + cluster_level="L20", + cluster_max_pod_num=64, + cluster_max_service_num=1024, + cluster_name="test-cdc", + cluster_os="tlinux3.1x86_64", + cluster_version="1.30.0", + container_runtime="containerd", + exist_instances=[tencentcloud.kubernetes.ClusterExistInstanceArgs( + instances_para=tencentcloud.kubernetes.ClusterExistInstanceInstancesParaArgs( + instance_ids=[ + "ins-eeijdk16", + "ins-84ku5rba", + "ins-8oa3im2s", + ], + ), + node_role="MASTER_ETCD", + )], + pre_start_user_script="aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=", + runtime_version="1.6.9", + vpc_id="vpc-xxxxx") + ``` + + ## Import tke cluster can be imported, e.g. @@ -2228,6 +2362,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['ClusterAuthOptionsArgs']] auth_options: Specify cluster authentication configuration. Only available for managed cluster and `cluster_version` >= 1.20. :param pulumi.Input[bool] auto_upgrade_cluster_level: Whether the cluster level auto upgraded, valid for managed cluster. :param pulumi.Input[int] base_pod_num: The number of basic pods. valid when enable_customized_pod_cidr=true. + :param pulumi.Input[str] cdc_id: CDC ID. :param pulumi.Input[int] claim_expired_seconds: Claim expired seconds to recycle ENI. This field can only set when field `network_type` is 'VPC-CNI'. `claim_expired_seconds` must greater or equal than 300 and less than 15768000. :param pulumi.Input[pulumi.InputType['ClusterClusterAuditArgs']] cluster_audit: Specify Cluster Audit config. NOTE: Please make sure your TKE CamRole have permission to access CLS service. :param pulumi.Input[str] cluster_cidr: A network address block of the cluster. Different from vpc cidr and cidr of other clusters within this vpc. Must be in 10./192.168/172.[16-31] segments. @@ -2260,6 +2395,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. :param pulumi.Input[int] globe_desired_pod_num: Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it takes effect for all nodes. :param pulumi.Input[bool] ignore_cluster_cidr_conflict: Indicates whether to ignore the cluster cidr conflict error. Default is false. + :param pulumi.Input[bool] ignore_service_cidr_conflict: Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. :param pulumi.Input[bool] is_non_static_ip_mode: Indicates whether non-static ip mode is enabled. Default is false. :param pulumi.Input[str] kube_proxy_mode: Cluster kube-proxy mode, the available values include: 'kube-proxy-bpf'. Default is not set.When set to kube-proxy-bpf, cluster version greater than 1.14 and with Tencent Linux 2.4 is required. :param pulumi.Input[Mapping[str, Any]] labels: Labels of tke cluster nodes. @@ -2270,6 +2406,7 @@ def __init__(__self__, :param pulumi.Input[str] network_type: Cluster network type, the available values include: 'GR' and 'VPC-CNI' and 'CiliumOverlay'. Default is GR. :param pulumi.Input[str] node_name_type: Node name type of Cluster, the available values include: 'lan-ip' and 'hostname', Default is 'lan-ip'. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterNodePoolGlobalConfigArgs']]]] node_pool_global_configs: Global config effective for all node pools. + :param pulumi.Input[str] pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. :param pulumi.Input[int] project_id: Project ID, default value is 0. :param pulumi.Input[str] runtime_version: Container Runtime version. :param pulumi.Input[str] service_cidr: A network address block of the service. Different from vpc cidr and cidr of other clusters within this vpc. Must be in 10./192.168/172.[16-31] segments. @@ -2441,6 +2578,41 @@ def __init__(__self__, ``` + ### Create a CDC scenario cluster + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + cdc_cluster = tencentcloud.kubernetes.Cluster("cdcCluster", + cdc_id="cluster-xxxxx", + cluster_cidr="192.168.0.0/16", + cluster_deploy_type="INDEPENDENT_CLUSTER", + cluster_desc="test cluster desc", + cluster_level="L20", + cluster_max_pod_num=64, + cluster_max_service_num=1024, + cluster_name="test-cdc", + cluster_os="tlinux3.1x86_64", + cluster_version="1.30.0", + container_runtime="containerd", + exist_instances=[tencentcloud.kubernetes.ClusterExistInstanceArgs( + instances_para=tencentcloud.kubernetes.ClusterExistInstanceInstancesParaArgs( + instance_ids=[ + "ins-eeijdk16", + "ins-84ku5rba", + "ins-8oa3im2s", + ], + ), + node_role="MASTER_ETCD", + )], + pre_start_user_script="aXB0YWJsZXMgLUEgSU5QVVQgLXAgdGNwIC1zIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAppcHRhYmxlcyAtQSBPVVRQVVQgLXAgdGNwIC1kIDE2OS4yNTQuMC4wLzE5IC0tdGNwLWZsYWdzIFNZTixSU1QgU1lOIC1qIFRDUE1TUyAtLXNldC1tc3MgMTE2MAoKZWNobyAnCmlwdGFibGVzIC1BIElOUFVUIC1wIHRjcCAtcyAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKaXB0YWJsZXMgLUEgT1VUUFVUIC1wIHRjcCAtZCAxNjkuMjU0LjAuMC8xOSAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtaiBUQ1BNU1MgLS1zZXQtbXNzIDExNjAKJyA+PiAvZXRjL3JjLmQvcmMubG9jYWw=", + runtime_version="1.6.9", + vpc_id="vpc-xxxxx") + ``` + + ## Import tke cluster can be imported, e.g. @@ -2468,6 +2640,7 @@ def _internal_init(__self__, auth_options: Optional[pulumi.Input[pulumi.InputType['ClusterAuthOptionsArgs']]] = None, auto_upgrade_cluster_level: Optional[pulumi.Input[bool]] = None, base_pod_num: Optional[pulumi.Input[int]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, claim_expired_seconds: Optional[pulumi.Input[int]] = None, cluster_audit: Optional[pulumi.Input[pulumi.InputType['ClusterClusterAuditArgs']]] = None, cluster_cidr: Optional[pulumi.Input[str]] = None, @@ -2500,6 +2673,7 @@ def _internal_init(__self__, extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, globe_desired_pod_num: Optional[pulumi.Input[int]] = None, ignore_cluster_cidr_conflict: Optional[pulumi.Input[bool]] = None, + ignore_service_cidr_conflict: Optional[pulumi.Input[bool]] = None, is_non_static_ip_mode: Optional[pulumi.Input[bool]] = None, kube_proxy_mode: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -2510,6 +2684,7 @@ def _internal_init(__self__, network_type: Optional[pulumi.Input[str]] = None, node_name_type: Optional[pulumi.Input[str]] = None, node_pool_global_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterNodePoolGlobalConfigArgs']]]]] = None, + pre_start_user_script: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, runtime_version: Optional[pulumi.Input[str]] = None, service_cidr: Optional[pulumi.Input[str]] = None, @@ -2532,6 +2707,7 @@ def _internal_init(__self__, __props__.__dict__["auth_options"] = auth_options __props__.__dict__["auto_upgrade_cluster_level"] = auto_upgrade_cluster_level __props__.__dict__["base_pod_num"] = base_pod_num + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["claim_expired_seconds"] = claim_expired_seconds __props__.__dict__["cluster_audit"] = cluster_audit __props__.__dict__["cluster_cidr"] = cluster_cidr @@ -2564,6 +2740,7 @@ def _internal_init(__self__, __props__.__dict__["extra_args"] = extra_args __props__.__dict__["globe_desired_pod_num"] = globe_desired_pod_num __props__.__dict__["ignore_cluster_cidr_conflict"] = ignore_cluster_cidr_conflict + __props__.__dict__["ignore_service_cidr_conflict"] = ignore_service_cidr_conflict __props__.__dict__["is_non_static_ip_mode"] = is_non_static_ip_mode __props__.__dict__["kube_proxy_mode"] = kube_proxy_mode __props__.__dict__["labels"] = labels @@ -2574,6 +2751,7 @@ def _internal_init(__self__, __props__.__dict__["network_type"] = network_type __props__.__dict__["node_name_type"] = node_name_type __props__.__dict__["node_pool_global_configs"] = node_pool_global_configs + __props__.__dict__["pre_start_user_script"] = pre_start_user_script __props__.__dict__["project_id"] = project_id __props__.__dict__["runtime_version"] = runtime_version __props__.__dict__["service_cidr"] = service_cidr @@ -2611,6 +2789,7 @@ def get(resource_name: str, auth_options: Optional[pulumi.Input[pulumi.InputType['ClusterAuthOptionsArgs']]] = None, auto_upgrade_cluster_level: Optional[pulumi.Input[bool]] = None, base_pod_num: Optional[pulumi.Input[int]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, certification_authority: Optional[pulumi.Input[str]] = None, claim_expired_seconds: Optional[pulumi.Input[int]] = None, cluster_as_enabled: Optional[pulumi.Input[bool]] = None, @@ -2648,6 +2827,7 @@ def get(resource_name: str, extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, globe_desired_pod_num: Optional[pulumi.Input[int]] = None, ignore_cluster_cidr_conflict: Optional[pulumi.Input[bool]] = None, + ignore_service_cidr_conflict: Optional[pulumi.Input[bool]] = None, is_non_static_ip_mode: Optional[pulumi.Input[bool]] = None, kube_config: Optional[pulumi.Input[str]] = None, kube_config_intranet: Optional[pulumi.Input[str]] = None, @@ -2662,6 +2842,7 @@ def get(resource_name: str, node_pool_global_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterNodePoolGlobalConfigArgs']]]]] = None, password: Optional[pulumi.Input[str]] = None, pgw_endpoint: Optional[pulumi.Input[str]] = None, + pre_start_user_script: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, runtime_version: Optional[pulumi.Input[str]] = None, security_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -2685,6 +2866,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['ClusterAuthOptionsArgs']] auth_options: Specify cluster authentication configuration. Only available for managed cluster and `cluster_version` >= 1.20. :param pulumi.Input[bool] auto_upgrade_cluster_level: Whether the cluster level auto upgraded, valid for managed cluster. :param pulumi.Input[int] base_pod_num: The number of basic pods. valid when enable_customized_pod_cidr=true. + :param pulumi.Input[str] cdc_id: CDC ID. :param pulumi.Input[str] certification_authority: The certificate used for access. :param pulumi.Input[int] claim_expired_seconds: Claim expired seconds to recycle ENI. This field can only set when field `network_type` is 'VPC-CNI'. `claim_expired_seconds` must greater or equal than 300 and less than 15768000. :param pulumi.Input[bool] cluster_as_enabled: (**Deprecated**) This argument is deprecated because the TKE auto-scaling group was no longer available. Indicates whether to enable cluster node auto scaling. Default is false. @@ -2722,6 +2904,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. :param pulumi.Input[int] globe_desired_pod_num: Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it takes effect for all nodes. :param pulumi.Input[bool] ignore_cluster_cidr_conflict: Indicates whether to ignore the cluster cidr conflict error. Default is false. + :param pulumi.Input[bool] ignore_service_cidr_conflict: Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. :param pulumi.Input[bool] is_non_static_ip_mode: Indicates whether non-static ip mode is enabled. Default is false. :param pulumi.Input[str] kube_config: Kubernetes config. :param pulumi.Input[str] kube_config_intranet: Kubernetes config of private network. @@ -2736,6 +2919,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterNodePoolGlobalConfigArgs']]]] node_pool_global_configs: Global config effective for all node pools. :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. :param pulumi.Input[str] pgw_endpoint: The Intranet address used for access. + :param pulumi.Input[str] pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. :param pulumi.Input[int] project_id: Project ID, default value is 0. :param pulumi.Input[str] runtime_version: Container Runtime version. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_policies: Access policy. @@ -2757,6 +2941,7 @@ def get(resource_name: str, __props__.__dict__["auth_options"] = auth_options __props__.__dict__["auto_upgrade_cluster_level"] = auto_upgrade_cluster_level __props__.__dict__["base_pod_num"] = base_pod_num + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["certification_authority"] = certification_authority __props__.__dict__["claim_expired_seconds"] = claim_expired_seconds __props__.__dict__["cluster_as_enabled"] = cluster_as_enabled @@ -2794,6 +2979,7 @@ def get(resource_name: str, __props__.__dict__["extra_args"] = extra_args __props__.__dict__["globe_desired_pod_num"] = globe_desired_pod_num __props__.__dict__["ignore_cluster_cidr_conflict"] = ignore_cluster_cidr_conflict + __props__.__dict__["ignore_service_cidr_conflict"] = ignore_service_cidr_conflict __props__.__dict__["is_non_static_ip_mode"] = is_non_static_ip_mode __props__.__dict__["kube_config"] = kube_config __props__.__dict__["kube_config_intranet"] = kube_config_intranet @@ -2808,6 +2994,7 @@ def get(resource_name: str, __props__.__dict__["node_pool_global_configs"] = node_pool_global_configs __props__.__dict__["password"] = password __props__.__dict__["pgw_endpoint"] = pgw_endpoint + __props__.__dict__["pre_start_user_script"] = pre_start_user_script __props__.__dict__["project_id"] = project_id __props__.__dict__["runtime_version"] = runtime_version __props__.__dict__["security_policies"] = security_policies @@ -2854,6 +3041,14 @@ def base_pod_num(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "base_pod_num") + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> pulumi.Output[Optional[str]]: + """ + CDC ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="certificationAuthority") def certification_authority(self) -> pulumi.Output[str]: @@ -3153,6 +3348,14 @@ def ignore_cluster_cidr_conflict(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "ignore_cluster_cidr_conflict") + @property + @pulumi.getter(name="ignoreServiceCidrConflict") + def ignore_service_cidr_conflict(self) -> pulumi.Output[bool]: + """ + Indicates whether to ignore the service cidr conflict error. Only valid in `VPC-CNI` mode. + """ + return pulumi.get(self, "ignore_service_cidr_conflict") + @property @pulumi.getter(name="isNonStaticIpMode") def is_non_static_ip_mode(self) -> pulumi.Output[Optional[bool]]: @@ -3268,6 +3471,14 @@ def pgw_endpoint(self) -> pulumi.Output[str]: """ return pulumi.get(self, "pgw_endpoint") + @property + @pulumi.getter(name="preStartUserScript") + def pre_start_user_script(self) -> pulumi.Output[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="projectId") def project_id(self) -> pulumi.Output[Optional[int]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py index 43d1bdcaf..850372c89 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster_attachment.py @@ -19,6 +19,7 @@ def __init__(__self__, *, cluster_id: pulumi.Input[str], instance_id: pulumi.Input[str], hostname: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, key_ids: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, password: Optional[pulumi.Input[str]] = None, @@ -30,10 +31,11 @@ def __init__(__self__, *, :param pulumi.Input[str] cluster_id: ID of the cluster. :param pulumi.Input[str] instance_id: ID of the CVM instance, this cvm will reinstall the system. :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] image_id: ID of Node image. :param pulumi.Input[str] key_ids: The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. :param pulumi.Input[Mapping[str, Any]] labels: Labels of tke attachment exits CVM. :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. - :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. :param pulumi.Input['ClusterAttachmentWorkerConfigArgs'] worker_config: Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. :param pulumi.Input['ClusterAttachmentWorkerConfigOverridesArgs'] worker_config_overrides: Override variable worker_config, commonly used to attach existing instances. """ @@ -41,6 +43,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_id", instance_id) if hostname is not None: pulumi.set(__self__, "hostname", hostname) + if image_id is not None: + pulumi.set(__self__, "image_id", image_id) if key_ids is not None: pulumi.set(__self__, "key_ids", key_ids) if labels is not None: @@ -90,6 +94,18 @@ def hostname(self) -> Optional[pulumi.Input[str]]: def hostname(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "hostname", value) + @property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of Node image. + """ + return pulumi.get(self, "image_id") + + @image_id.setter + def image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_id", value) + @property @pulumi.getter(name="keyIds") def key_ids(self) -> Optional[pulumi.Input[str]]: @@ -130,7 +146,7 @@ def password(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def unschedulable(self) -> Optional[pulumi.Input[int]]: """ - Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. """ return pulumi.get(self, "unschedulable") @@ -168,6 +184,7 @@ class _ClusterAttachmentState: def __init__(__self__, *, cluster_id: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, key_ids: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -181,13 +198,14 @@ def __init__(__self__, *, Input properties used for looking up and filtering ClusterAttachment resources. :param pulumi.Input[str] cluster_id: ID of the cluster. :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] image_id: ID of Node image. :param pulumi.Input[str] instance_id: ID of the CVM instance, this cvm will reinstall the system. :param pulumi.Input[str] key_ids: The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. :param pulumi.Input[Mapping[str, Any]] labels: Labels of tke attachment exits CVM. :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: A list of security group IDs after attach to cluster. :param pulumi.Input[str] state: State of the node. - :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. :param pulumi.Input['ClusterAttachmentWorkerConfigArgs'] worker_config: Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. :param pulumi.Input['ClusterAttachmentWorkerConfigOverridesArgs'] worker_config_overrides: Override variable worker_config, commonly used to attach existing instances. """ @@ -195,6 +213,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cluster_id", cluster_id) if hostname is not None: pulumi.set(__self__, "hostname", hostname) + if image_id is not None: + pulumi.set(__self__, "image_id", image_id) if instance_id is not None: pulumi.set(__self__, "instance_id", instance_id) if key_ids is not None: @@ -238,6 +258,18 @@ def hostname(self) -> Optional[pulumi.Input[str]]: def hostname(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "hostname", value) + @property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of Node image. + """ + return pulumi.get(self, "image_id") + + @image_id.setter + def image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_id", value) + @property @pulumi.getter(name="instanceId") def instance_id(self) -> Optional[pulumi.Input[str]]: @@ -314,7 +346,7 @@ def state(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def unschedulable(self) -> Optional[pulumi.Input[int]]: """ - Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. """ return pulumi.get(self, "unschedulable") @@ -354,6 +386,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, key_ids: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -365,6 +398,8 @@ def __init__(__self__, """ Provide a resource to attach an existing cvm to kubernetes cluster. + > **NOTE:** Use `unschedulable` to set whether the join node participates in the schedule. The `is_schedule` of 'worker_config' and 'worker_config_overrides' was deprecated. + ## Example Usage @@ -445,11 +480,12 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cluster_id: ID of the cluster. :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] image_id: ID of Node image. :param pulumi.Input[str] instance_id: ID of the CVM instance, this cvm will reinstall the system. :param pulumi.Input[str] key_ids: The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. :param pulumi.Input[Mapping[str, Any]] labels: Labels of tke attachment exits CVM. :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. - :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. :param pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigArgs']] worker_config: Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. :param pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigOverridesArgs']] worker_config_overrides: Override variable worker_config, commonly used to attach existing instances. """ @@ -462,6 +498,8 @@ def __init__(__self__, """ Provide a resource to attach an existing cvm to kubernetes cluster. + > **NOTE:** Use `unschedulable` to set whether the join node participates in the schedule. The `is_schedule` of 'worker_config' and 'worker_config_overrides' was deprecated. + ## Example Usage @@ -555,6 +593,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, key_ids: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -575,6 +614,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'cluster_id'") __props__.__dict__["cluster_id"] = cluster_id __props__.__dict__["hostname"] = hostname + __props__.__dict__["image_id"] = image_id if instance_id is None and not opts.urn: raise TypeError("Missing required property 'instance_id'") __props__.__dict__["instance_id"] = instance_id @@ -600,6 +640,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, key_ids: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -618,13 +659,14 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cluster_id: ID of the cluster. :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] image_id: ID of Node image. :param pulumi.Input[str] instance_id: ID of the CVM instance, this cvm will reinstall the system. :param pulumi.Input[str] key_ids: The key pair to use for the instance, it looks like skey-16jig7tx, it should be set if `password` not set. :param pulumi.Input[Mapping[str, Any]] labels: Labels of tke attachment exits CVM. :param pulumi.Input[str] password: Password to access, should be set if `key_ids` not set. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: A list of security group IDs after attach to cluster. :param pulumi.Input[str] state: State of the node. - :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. :param pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigArgs']] worker_config: Deploy the machine configuration information of the 'WORKER', commonly used to attach existing instances. :param pulumi.Input[pulumi.InputType['ClusterAttachmentWorkerConfigOverridesArgs']] worker_config_overrides: Override variable worker_config, commonly used to attach existing instances. """ @@ -634,6 +676,7 @@ def get(resource_name: str, __props__.__dict__["cluster_id"] = cluster_id __props__.__dict__["hostname"] = hostname + __props__.__dict__["image_id"] = image_id __props__.__dict__["instance_id"] = instance_id __props__.__dict__["key_ids"] = key_ids __props__.__dict__["labels"] = labels @@ -661,6 +704,14 @@ def hostname(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "hostname") + @property + @pulumi.getter(name="imageId") + def image_id(self) -> pulumi.Output[str]: + """ + ID of Node image. + """ + return pulumi.get(self, "image_id") + @property @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Output[str]: @@ -713,7 +764,7 @@ def state(self) -> pulumi.Output[str]: @pulumi.getter def unschedulable(self) -> pulumi.Output[Optional[int]]: """ - Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. + Sets whether the joining node participates in the schedule. Default is `0`, which means it participates in scheduling. Non-zero(eg: `1`) number means it does not participate in scheduling. """ return pulumi.get(self, "unschedulable") diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/health_check_policy.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/health_check_policy.py new file mode 100644 index 000000000..ea3c2bc7d --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/health_check_policy.py @@ -0,0 +1,307 @@ +# 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__ = ['HealthCheckPolicyArgs', 'HealthCheckPolicy'] + +@pulumi.input_type +class HealthCheckPolicyArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + rules: pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a HealthCheckPolicy resource. + :param pulumi.Input[str] cluster_id: ID of the cluster. + :param pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]] rules: Health check policy rule list. + :param pulumi.Input[str] name: Health Check Policy Name. + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "rules", rules) + if name is not None: + pulumi.set(__self__, "name", name) + + @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 rules(self) -> pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]]: + """ + Health check policy rule list. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]]): + pulumi.set(self, "rules", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Health Check Policy Name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _HealthCheckPolicyState: + def __init__(__self__, *, + cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]]] = None): + """ + Input properties used for looking up and filtering HealthCheckPolicy resources. + :param pulumi.Input[str] cluster_id: ID of the cluster. + :param pulumi.Input[str] name: Health Check Policy Name. + :param pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]] rules: Health check policy rule list. + """ + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if name is not None: + pulumi.set(__self__, "name", name) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @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 + def name(self) -> Optional[pulumi.Input[str]]: + """ + Health Check Policy 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 rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]]]: + """ + Health check policy rule list. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HealthCheckPolicyRuleArgs']]]]): + pulumi.set(self, "rules", value) + + +class HealthCheckPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HealthCheckPolicyRuleArgs']]]]] = None, + __props__=None): + """ + Provides a resource to create a tke kubernetes_health_check_policy + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + kubernetes_health_check_policy = tencentcloud.kubernetes.HealthCheckPolicy("kubernetesHealthCheckPolicy", + cluster_id="cls-xxxxx", + rules=[ + tencentcloud.kubernetes.HealthCheckPolicyRuleArgs( + auto_repair_enabled=True, + enabled=True, + name="OOMKilling", + ), + tencentcloud.kubernetes.HealthCheckPolicyRuleArgs( + auto_repair_enabled=True, + enabled=True, + name="KubeletUnhealthy", + ), + ]) + ``` + + + ## Import + + tke kubernetes_health_check_policy can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy kubernetes_health_check_policy cls-xxxxx#healthcheckpolicyname + ``` + + :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. + :param pulumi.Input[str] name: Health Check Policy Name. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HealthCheckPolicyRuleArgs']]]] rules: Health check policy rule list. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HealthCheckPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a tke kubernetes_health_check_policy + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + kubernetes_health_check_policy = tencentcloud.kubernetes.HealthCheckPolicy("kubernetesHealthCheckPolicy", + cluster_id="cls-xxxxx", + rules=[ + tencentcloud.kubernetes.HealthCheckPolicyRuleArgs( + auto_repair_enabled=True, + enabled=True, + name="OOMKilling", + ), + tencentcloud.kubernetes.HealthCheckPolicyRuleArgs( + auto_repair_enabled=True, + enabled=True, + name="KubeletUnhealthy", + ), + ]) + ``` + + + ## Import + + tke kubernetes_health_check_policy can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy kubernetes_health_check_policy cls-xxxxx#healthcheckpolicyname + ``` + + :param str resource_name: The name of the resource. + :param HealthCheckPolicyArgs 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(HealthCheckPolicyArgs, 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, + cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HealthCheckPolicyRuleArgs']]]]] = 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__ = HealthCheckPolicyArgs.__new__(HealthCheckPolicyArgs) + + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["name"] = name + if rules is None and not opts.urn: + raise TypeError("Missing required property 'rules'") + __props__.__dict__["rules"] = rules + super(HealthCheckPolicy, __self__).__init__( + 'tencentcloud:Kubernetes/healthCheckPolicy:HealthCheckPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HealthCheckPolicyRuleArgs']]]]] = None) -> 'HealthCheckPolicy': + """ + Get an existing HealthCheckPolicy 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] cluster_id: ID of the cluster. + :param pulumi.Input[str] name: Health Check Policy Name. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HealthCheckPolicyRuleArgs']]]] rules: Health check policy rule list. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HealthCheckPolicyState.__new__(_HealthCheckPolicyState) + + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["name"] = name + __props__.__dict__["rules"] = rules + return HealthCheckPolicy(resource_name, opts=opts, __props__=__props__) + + @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 + def name(self) -> pulumi.Output[str]: + """ + Health Check Policy Name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def rules(self) -> pulumi.Output[Sequence['outputs.HealthCheckPolicyRule']]: + """ + Health check policy rule list. + """ + return pulumi.get(self, "rules") + diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/log_config.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/log_config.py new file mode 100644 index 000000000..16c578e8c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/log_config.py @@ -0,0 +1,706 @@ +# 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__ = ['LogConfigArgs', 'LogConfig'] + +@pulumi.input_type +class LogConfigArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + log_config: pulumi.Input[str], + log_config_name: pulumi.Input[str], + cluster_type: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a LogConfig resource. + :param pulumi.Input[str] cluster_id: Cluster ID. + :param pulumi.Input[str] log_config: JSON expression of log collection configuration. + :param pulumi.Input[str] log_config_name: Log config name. + :param pulumi.Input[str] cluster_type: The current cluster type supports tke and eks, default is tke. + :param pulumi.Input[str] logset_id: CLS log set ID. + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "log_config", log_config) + pulumi.set(__self__, "log_config_name", log_config_name) + if cluster_type is not None: + pulumi.set(__self__, "cluster_type", cluster_type) + if logset_id is not None: + pulumi.set(__self__, "logset_id", logset_id) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + """ + Cluster ID. + """ + 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(name="logConfig") + def log_config(self) -> pulumi.Input[str]: + """ + JSON expression of log collection configuration. + """ + return pulumi.get(self, "log_config") + + @log_config.setter + def log_config(self, value: pulumi.Input[str]): + pulumi.set(self, "log_config", value) + + @property + @pulumi.getter(name="logConfigName") + def log_config_name(self) -> pulumi.Input[str]: + """ + Log config name. + """ + return pulumi.get(self, "log_config_name") + + @log_config_name.setter + def log_config_name(self, value: pulumi.Input[str]): + pulumi.set(self, "log_config_name", value) + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> Optional[pulumi.Input[str]]: + """ + The current cluster type supports tke and eks, default is tke. + """ + return pulumi.get(self, "cluster_type") + + @cluster_type.setter + def cluster_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_type", value) + + @property + @pulumi.getter(name="logsetId") + def logset_id(self) -> Optional[pulumi.Input[str]]: + """ + CLS log set ID. + """ + return pulumi.get(self, "logset_id") + + @logset_id.setter + def logset_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logset_id", value) + + +@pulumi.input_type +class _LogConfigState: + def __init__(__self__, *, + cluster_id: Optional[pulumi.Input[str]] = None, + cluster_type: Optional[pulumi.Input[str]] = None, + log_config: Optional[pulumi.Input[str]] = None, + log_config_name: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LogConfig resources. + :param pulumi.Input[str] cluster_id: Cluster ID. + :param pulumi.Input[str] cluster_type: The current cluster type supports tke and eks, default is tke. + :param pulumi.Input[str] log_config: JSON expression of log collection configuration. + :param pulumi.Input[str] log_config_name: Log config name. + :param pulumi.Input[str] logset_id: CLS log set ID. + """ + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if cluster_type is not None: + pulumi.set(__self__, "cluster_type", cluster_type) + if log_config is not None: + pulumi.set(__self__, "log_config", log_config) + if log_config_name is not None: + pulumi.set(__self__, "log_config_name", log_config_name) + if logset_id is not None: + pulumi.set(__self__, "logset_id", logset_id) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Cluster ID. + """ + 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="clusterType") + def cluster_type(self) -> Optional[pulumi.Input[str]]: + """ + The current cluster type supports tke and eks, default is tke. + """ + return pulumi.get(self, "cluster_type") + + @cluster_type.setter + def cluster_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_type", value) + + @property + @pulumi.getter(name="logConfig") + def log_config(self) -> Optional[pulumi.Input[str]]: + """ + JSON expression of log collection configuration. + """ + return pulumi.get(self, "log_config") + + @log_config.setter + def log_config(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_config", value) + + @property + @pulumi.getter(name="logConfigName") + def log_config_name(self) -> Optional[pulumi.Input[str]]: + """ + Log config name. + """ + return pulumi.get(self, "log_config_name") + + @log_config_name.setter + def log_config_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_config_name", value) + + @property + @pulumi.getter(name="logsetId") + def logset_id(self) -> Optional[pulumi.Input[str]]: + """ + CLS log set ID. + """ + return pulumi.get(self, "logset_id") + + @logset_id.setter + def logset_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logset_id", value) + + +class LogConfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + cluster_type: Optional[pulumi.Input[str]] = None, + log_config: Optional[pulumi.Input[str]] = None, + log_config_name: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a tke kubernetes_log_config + + ## Example Usage + + ### Create a cls log config + + + ```python + import pulumi + import json + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + vpc_one = tencentcloud.Vpc.get_subnets(is_default=True, + availability_zone="ap-guangzhou-3") + first_vpc_id = vpc_one.instance_lists[0].vpc_id + first_subnet_id = vpc_one.instance_lists[0].subnet_id + gz = tencentcloud.Availability.get_zones_by_product(name="ap-guangzhou-3", + product="ckafka") + zone_id = gz.zones[0].id + config = pulumi.Config() + example_cluster_cidr = config.get("exampleClusterCidr") + if example_cluster_cidr is None: + example_cluster_cidr = "10.31.0.0/16" + example = tencentcloud.kubernetes.Cluster("example", + vpc_id=first_vpc_id, + cluster_cidr=example_cluster_cidr, + cluster_max_pod_num=32, + cluster_name="tf_example_cluster", + cluster_desc="example for tke cluster", + cluster_max_service_num=32, + cluster_internet=False, + cluster_version="1.22.5", + cluster_os="tlinux2.2(tkernel3)x86_64", + cluster_deploy_type="MANAGED_CLUSTER", + log_agent=tencentcloud.kubernetes.ClusterLogAgentArgs( + enabled=True, + )) + # without any worker config + logset = tencentcloud.cls.Logset("logset", + logset_name="tf-test-example", + tags={ + "createdBy": "terraform", + }) + kubernetes_log_config_cls = tencentcloud.kubernetes.LogConfig("kubernetesLogConfigCls", + log_config_name="tf-test-cls", + cluster_id=example.id, + logset_id=logset.id, + log_config=json.dumps({ + "apiVersion": "cls.cloud.tencent.com/v1", + "kind": "LogConfig", + "metadata": { + "name": "tf-test-cls", + }, + "spec": { + "clsDetail": { + "extractRule": { + "backtracking": "0", + "isGBK": "false", + "jsonStandard": "false", + "unMatchUpload": "false", + }, + "indexs": [ + { + "indexName": "namespace", + }, + { + "indexName": "pod_name", + }, + { + "indexName": "container_name", + }, + ], + "logFormat": "default", + "logType": "minimalist_log", + "maxSplitPartitions": 0, + "region": "ap-guangzhou", + "storageType": "", + }, + "inputDetail": { + "containerStdout": { + "metadataContainer": [ + "namespace", + "pod_name", + "pod_ip", + "pod_uid", + "container_id", + "container_name", + "image_name", + "cluster_id", + ], + "nsLabelSelector": "", + "workloads": [{ + "kind": "deployment", + "name": "testlog1", + "namespace": "default", + }], + }, + "type": "container_stdout", + }, + }, + })) + ``` + + + ### Create a ckafka log config + + + ```python + import pulumi + import json + import tencentcloud_iac_pulumi as tencentcloud + + example_instance = tencentcloud.ckafka.Instance("exampleInstance", + instance_name="ckafka-instance-postpaid", + zone_id=local["zone_id"], + vpc_id=local["first_vpc_id"], + subnet_id=local["first_subnet_id"], + msg_retention_time=1300, + kafka_version="1.1.1", + disk_size=500, + band_width=20, + disk_type="CLOUD_BASIC", + partition=400, + charge_type="POSTPAID_BY_HOUR", + config=tencentcloud.ckafka.InstanceConfigArgs( + auto_create_topic_enable=True, + default_num_partitions=3, + default_replication_factor=3, + ), + dynamic_retention_config=tencentcloud.ckafka.InstanceDynamicRetentionConfigArgs( + enable=1, + )) + example_topic = tencentcloud.ckafka.Topic("exampleTopic", + instance_id=example_instance.id, + topic_name="tmp", + note="topic note", + replica_num=2, + partition_num=1, + clean_up_policy="delete", + sync_replica_min_num=1, + unclean_leader_election_enable=False, + retention=60000) + ckafka_topic = example_topic.topic_name + kubernetes_log_config_ckafka = tencentcloud.kubernetes.LogConfig("kubernetesLogConfigCkafka", + log_config_name="tf-test-ckafka", + cluster_id=tencentcloud_kubernetes_cluster["example"]["id"], + logset_id=tencentcloud_cls_logset["logset"]["id"], + log_config=pulumi.Output.json_dumps({ + "apiVersion": "cls.cloud.tencent.com/v1", + "kind": "LogConfig", + "metadata": { + "name": "tf-test-ckafka", + }, + "spec": { + "inputDetail": { + "containerStdout": { + "allContainers": True, + "namespace": "default", + "nsLabelSelector": "", + }, + "type": "container_stdout", + }, + "kafkaDetail": { + "brokers": "172.16.0.30:9092", + "extractRule": {}, + "instanceId": "", + "kafkaType": "SelfBuildKafka", + "logType": "minimalist_log", + "messageKey": { + "value": "", + "valueFrom": { + "fieldRef": { + "fieldPath": "", + }, + }, + }, + "metadata": {}, + "timestampFormat": "double", + "timestampKey": "", + "topic": ckafka_topic, + }, + }, + })) + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_id: Cluster ID. + :param pulumi.Input[str] cluster_type: The current cluster type supports tke and eks, default is tke. + :param pulumi.Input[str] log_config: JSON expression of log collection configuration. + :param pulumi.Input[str] log_config_name: Log config name. + :param pulumi.Input[str] logset_id: CLS log set ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LogConfigArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a tke kubernetes_log_config + + ## Example Usage + + ### Create a cls log config + + + ```python + import pulumi + import json + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + vpc_one = tencentcloud.Vpc.get_subnets(is_default=True, + availability_zone="ap-guangzhou-3") + first_vpc_id = vpc_one.instance_lists[0].vpc_id + first_subnet_id = vpc_one.instance_lists[0].subnet_id + gz = tencentcloud.Availability.get_zones_by_product(name="ap-guangzhou-3", + product="ckafka") + zone_id = gz.zones[0].id + config = pulumi.Config() + example_cluster_cidr = config.get("exampleClusterCidr") + if example_cluster_cidr is None: + example_cluster_cidr = "10.31.0.0/16" + example = tencentcloud.kubernetes.Cluster("example", + vpc_id=first_vpc_id, + cluster_cidr=example_cluster_cidr, + cluster_max_pod_num=32, + cluster_name="tf_example_cluster", + cluster_desc="example for tke cluster", + cluster_max_service_num=32, + cluster_internet=False, + cluster_version="1.22.5", + cluster_os="tlinux2.2(tkernel3)x86_64", + cluster_deploy_type="MANAGED_CLUSTER", + log_agent=tencentcloud.kubernetes.ClusterLogAgentArgs( + enabled=True, + )) + # without any worker config + logset = tencentcloud.cls.Logset("logset", + logset_name="tf-test-example", + tags={ + "createdBy": "terraform", + }) + kubernetes_log_config_cls = tencentcloud.kubernetes.LogConfig("kubernetesLogConfigCls", + log_config_name="tf-test-cls", + cluster_id=example.id, + logset_id=logset.id, + log_config=json.dumps({ + "apiVersion": "cls.cloud.tencent.com/v1", + "kind": "LogConfig", + "metadata": { + "name": "tf-test-cls", + }, + "spec": { + "clsDetail": { + "extractRule": { + "backtracking": "0", + "isGBK": "false", + "jsonStandard": "false", + "unMatchUpload": "false", + }, + "indexs": [ + { + "indexName": "namespace", + }, + { + "indexName": "pod_name", + }, + { + "indexName": "container_name", + }, + ], + "logFormat": "default", + "logType": "minimalist_log", + "maxSplitPartitions": 0, + "region": "ap-guangzhou", + "storageType": "", + }, + "inputDetail": { + "containerStdout": { + "metadataContainer": [ + "namespace", + "pod_name", + "pod_ip", + "pod_uid", + "container_id", + "container_name", + "image_name", + "cluster_id", + ], + "nsLabelSelector": "", + "workloads": [{ + "kind": "deployment", + "name": "testlog1", + "namespace": "default", + }], + }, + "type": "container_stdout", + }, + }, + })) + ``` + + + ### Create a ckafka log config + + + ```python + import pulumi + import json + import tencentcloud_iac_pulumi as tencentcloud + + example_instance = tencentcloud.ckafka.Instance("exampleInstance", + instance_name="ckafka-instance-postpaid", + zone_id=local["zone_id"], + vpc_id=local["first_vpc_id"], + subnet_id=local["first_subnet_id"], + msg_retention_time=1300, + kafka_version="1.1.1", + disk_size=500, + band_width=20, + disk_type="CLOUD_BASIC", + partition=400, + charge_type="POSTPAID_BY_HOUR", + config=tencentcloud.ckafka.InstanceConfigArgs( + auto_create_topic_enable=True, + default_num_partitions=3, + default_replication_factor=3, + ), + dynamic_retention_config=tencentcloud.ckafka.InstanceDynamicRetentionConfigArgs( + enable=1, + )) + example_topic = tencentcloud.ckafka.Topic("exampleTopic", + instance_id=example_instance.id, + topic_name="tmp", + note="topic note", + replica_num=2, + partition_num=1, + clean_up_policy="delete", + sync_replica_min_num=1, + unclean_leader_election_enable=False, + retention=60000) + ckafka_topic = example_topic.topic_name + kubernetes_log_config_ckafka = tencentcloud.kubernetes.LogConfig("kubernetesLogConfigCkafka", + log_config_name="tf-test-ckafka", + cluster_id=tencentcloud_kubernetes_cluster["example"]["id"], + logset_id=tencentcloud_cls_logset["logset"]["id"], + log_config=pulumi.Output.json_dumps({ + "apiVersion": "cls.cloud.tencent.com/v1", + "kind": "LogConfig", + "metadata": { + "name": "tf-test-ckafka", + }, + "spec": { + "inputDetail": { + "containerStdout": { + "allContainers": True, + "namespace": "default", + "nsLabelSelector": "", + }, + "type": "container_stdout", + }, + "kafkaDetail": { + "brokers": "172.16.0.30:9092", + "extractRule": {}, + "instanceId": "", + "kafkaType": "SelfBuildKafka", + "logType": "minimalist_log", + "messageKey": { + "value": "", + "valueFrom": { + "fieldRef": { + "fieldPath": "", + }, + }, + }, + "metadata": {}, + "timestampFormat": "double", + "timestampKey": "", + "topic": ckafka_topic, + }, + }, + })) + ``` + + + :param str resource_name: The name of the resource. + :param LogConfigArgs 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(LogConfigArgs, 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, + cluster_id: Optional[pulumi.Input[str]] = None, + cluster_type: Optional[pulumi.Input[str]] = None, + log_config: Optional[pulumi.Input[str]] = None, + log_config_name: Optional[pulumi.Input[str]] = None, + logset_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__ = LogConfigArgs.__new__(LogConfigArgs) + + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["cluster_type"] = cluster_type + if log_config is None and not opts.urn: + raise TypeError("Missing required property 'log_config'") + __props__.__dict__["log_config"] = log_config + if log_config_name is None and not opts.urn: + raise TypeError("Missing required property 'log_config_name'") + __props__.__dict__["log_config_name"] = log_config_name + __props__.__dict__["logset_id"] = logset_id + super(LogConfig, __self__).__init__( + 'tencentcloud:Kubernetes/logConfig:LogConfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + cluster_type: Optional[pulumi.Input[str]] = None, + log_config: Optional[pulumi.Input[str]] = None, + log_config_name: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None) -> 'LogConfig': + """ + Get an existing LogConfig 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] cluster_id: Cluster ID. + :param pulumi.Input[str] cluster_type: The current cluster type supports tke and eks, default is tke. + :param pulumi.Input[str] log_config: JSON expression of log collection configuration. + :param pulumi.Input[str] log_config_name: Log config name. + :param pulumi.Input[str] logset_id: CLS log set ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LogConfigState.__new__(_LogConfigState) + + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["cluster_type"] = cluster_type + __props__.__dict__["log_config"] = log_config + __props__.__dict__["log_config_name"] = log_config_name + __props__.__dict__["logset_id"] = logset_id + return LogConfig(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[str]: + """ + Cluster ID. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> pulumi.Output[Optional[str]]: + """ + The current cluster type supports tke and eks, default is tke. + """ + return pulumi.get(self, "cluster_type") + + @property + @pulumi.getter(name="logConfig") + def log_config(self) -> pulumi.Output[str]: + """ + JSON expression of log collection configuration. + """ + return pulumi.get(self, "log_config") + + @property + @pulumi.getter(name="logConfigName") + def log_config_name(self) -> pulumi.Output[str]: + """ + Log config name. + """ + return pulumi.get(self, "log_config_name") + + @property + @pulumi.getter(name="logsetId") + def logset_id(self) -> pulumi.Output[Optional[str]]: + """ + CLS log set ID. + """ + return pulumi.get(self, "logset_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/node_pool.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/node_pool.py index 573179a7b..bbbc9ac68 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/node_pool.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/node_pool.py @@ -1731,7 +1731,7 @@ def subnet_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: @property @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + def tags(self) -> pulumi.Output[Mapping[str, Any]]: """ Node pool tag specifications, will passthroughs to the scaling instances. """ diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py index cc4796ffc..f4cbb2148 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py @@ -32,6 +32,7 @@ 'ClusterWorkerConfigDataDisk', 'ClusterWorkerInstancesList', 'EncryptionProtectionKmsConfiguration', + 'HealthCheckPolicyRule', 'NativeNodePoolAnnotation', 'NativeNodePoolLabel', 'NativeNodePoolNative', @@ -162,7 +163,7 @@ def __init__(__self__, *, :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 'ClusterAttachmentWorkerConfigGpuArgsArgs' gpu_args: GPU driver parameters. - :param bool is_schedule: Indicate to schedule the adding node or not. Default is true. + :param bool is_schedule: This argument was deprecated, use `unschedulable` instead. 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. @@ -230,8 +231,11 @@ def gpu_args(self) -> Optional['outputs.ClusterAttachmentWorkerConfigGpuArgs']: @pulumi.getter(name="isSchedule") def is_schedule(self) -> Optional[bool]: """ - Indicate to schedule the adding node or not. Default is true. + This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. """ + warnings.warn("""This argument was deprecated, use `unschedulable` instead.""", DeprecationWarning) + pulumi.log.warn("""is_schedule is deprecated: This argument was deprecated, use `unschedulable` instead.""") + return pulumi.get(self, "is_schedule") @property @@ -499,13 +503,13 @@ def __init__(__self__, *, """ :param Sequence['ClusterAttachmentWorkerConfigOverridesDataDiskArgs'] 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 str docker_graph_path: This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. + :param Sequence[str] extra_args: This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. :param 'ClusterAttachmentWorkerConfigOverridesGpuArgsArgs' 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 bool is_schedule: This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. + :param str mount_target: This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. + :param str pre_start_user_script: This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + :param str user_data: This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. """ if data_disks is not None: pulumi.set(__self__, "data_disks", data_disks) @@ -546,16 +550,22 @@ def desired_pod_num(self) -> Optional[int]: @pulumi.getter(name="dockerGraphPath") def docker_graph_path(self) -> Optional[str]: """ - Docker graph path. Default is `/var/lib/docker`. + This argument was no longer supported by TencentCloud TKE. Docker graph path. Default is `/var/lib/docker`. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""docker_graph_path is deprecated: This argument was no longer supported by TencentCloud TKE.""") + 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. + This argument was no longer supported by TencentCloud TKE. Custom parameter information related to the node. This is a white-list parameter. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""extra_args is deprecated: This argument was no longer supported by TencentCloud TKE.""") + return pulumi.get(self, "extra_args") @property @@ -570,32 +580,44 @@ def gpu_args(self) -> Optional['outputs.ClusterAttachmentWorkerConfigOverridesGp @pulumi.getter(name="isSchedule") def is_schedule(self) -> Optional[bool]: """ - Indicate to schedule the adding node or not. Default is true. + This argument was deprecated, use `unschedulable` instead. Indicate to schedule the adding node or not. Default is true. """ + warnings.warn("""This argument was deprecated, use `unschedulable` instead.""", DeprecationWarning) + pulumi.log.warn("""is_schedule is deprecated: This argument was deprecated, use `unschedulable` instead.""") + return pulumi.get(self, "is_schedule") @property @pulumi.getter(name="mountTarget") def mount_target(self) -> Optional[str]: """ - Mount target. Default is not mounting. + This argument was no longer supported by TencentCloud TKE. Mount target. Default is not mounting. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""mount_target is deprecated: This argument was no longer supported by TencentCloud TKE.""") + 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. + This argument was no longer supported by TencentCloud TKE. Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""pre_start_user_script is deprecated: This argument was no longer supported by TencentCloud TKE.""") + 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. + This argument was no longer supported by TencentCloud TKE. Base64-encoded User Data text, the length limit is 16KB. """ + warnings.warn("""This argument was no longer supported by TencentCloud TKE.""", DeprecationWarning) + pulumi.log.warn("""user_data is deprecated: This argument was no longer supported by TencentCloud TKE.""") + return pulumi.get(self, "user_data") @@ -2620,6 +2642,63 @@ def kms_region(self) -> Optional[str]: return pulumi.get(self, "kms_region") +@pulumi.output_type +class HealthCheckPolicyRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoRepairEnabled": + suggest = "auto_repair_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HealthCheckPolicyRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HealthCheckPolicyRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HealthCheckPolicyRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_repair_enabled: bool, + enabled: bool, + name: str): + """ + :param bool auto_repair_enabled: Enable repair or not. + :param bool enabled: Enable detection of this project or not. + :param str name: Health check rule details. + """ + pulumi.set(__self__, "auto_repair_enabled", auto_repair_enabled) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="autoRepairEnabled") + def auto_repair_enabled(self) -> bool: + """ + Enable repair or not. + """ + return pulumi.get(self, "auto_repair_enabled") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Enable detection of this project or not. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def name(self) -> str: + """ + Health check rule details. + """ + return pulumi.get(self, "name") + + @pulumi.output_type class NativeNodePoolAnnotation(dict): def __init__(__self__, *, @@ -3594,6 +3673,8 @@ def __key_warning(key: str): suggest = "instance_charge_type_prepaid_renew_flag" elif key == "instanceName": suggest = "instance_name" + elif key == "instanceNameStyle": + suggest = "instance_name_style" elif key == "internetChargeType": suggest = "internet_charge_type" elif key == "internetMaxBandwidthOut": @@ -3640,6 +3721,7 @@ def __init__(__self__, *, instance_charge_type_prepaid_period: Optional[int] = None, instance_charge_type_prepaid_renew_flag: Optional[str] = None, instance_name: Optional[str] = None, + instance_name_style: Optional[str] = None, internet_charge_type: Optional[str] = None, internet_max_bandwidth_out: Optional[int] = None, key_ids: Optional[Sequence[str]] = None, @@ -3665,6 +3747,7 @@ def __init__(__self__, *, :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 instance_name_style: Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. 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. @@ -3702,6 +3785,8 @@ def __init__(__self__, *, 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 instance_name_style is not None: + pulumi.set(__self__, "instance_name_style", instance_name_style) if internet_charge_type is not None: pulumi.set(__self__, "internet_charge_type", internet_charge_type) if internet_max_bandwidth_out is not None: @@ -3829,6 +3914,14 @@ def instance_name(self) -> Optional[str]: """ return pulumi.get(self, "instance_name") + @property + @pulumi.getter(name="instanceNameStyle") + def instance_name_style(self) -> Optional[str]: + """ + Type of CVM instance name. Valid values: `ORIGINAL` and `UNIQUE`. Default value: `ORIGINAL`. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + """ + return pulumi.get(self, "instance_name_style") + @property @pulumi.getter(name="internetChargeType") def internet_charge_type(self) -> Optional[str]: @@ -4412,6 +4505,8 @@ 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": @@ -4434,12 +4529,14 @@ def get(self, key: str, default = None) -> Any: 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. :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`. @@ -4447,6 +4544,8 @@ def __init__(__self__, *, """ 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: @@ -4464,6 +4563,14 @@ def auto_format_and_mount(self) -> Optional[bool]: """ 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]: @@ -4683,7 +4790,7 @@ def __init__(__self__, *, :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 Sequence['ScaleWorkerWorkerConfigDataDiskArgs'] data_disks: Configurations of cvm 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. @@ -4810,7 +4917,7 @@ def count(self) -> Optional[int]: @pulumi.getter(name="dataDisks") def data_disks(self) -> Optional[Sequence['outputs.ScaleWorkerWorkerConfigDataDisk']]: """ - Configurations of data disk. + Configurations of cvm data disk. """ return pulumi.get(self, "data_disks") @@ -5054,6 +5161,9 @@ def auto_format_and_mount(self) -> Optional[bool]: """ Indicate whether to auto format and mount or not. Default is `false`. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""auto_format_and_mount is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "auto_format_and_mount") @property @@ -5062,6 +5172,9 @@ def disk_partition(self) -> Optional[str]: """ The name of the device or partition to mount. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""disk_partition is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "disk_partition") @property @@ -5094,6 +5207,9 @@ def file_system(self) -> Optional[str]: """ File system, e.g. `ext3/ext4/xfs`. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""file_system is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "file_system") @property @@ -5110,6 +5226,9 @@ def mount_target(self) -> Optional[str]: """ Mount target. """ + warnings.warn("""This argument was deprecated, use `data_disk` instead.""", DeprecationWarning) + pulumi.log.warn("""mount_target is deprecated: This argument was deprecated, use `data_disk` instead.""") + return pulumi.get(self, "mount_target") @property @@ -7918,6 +8037,7 @@ def value(self) -> str: @pulumi.output_type class GetClustersListResult(dict): def __init__(__self__, *, + cdc_id: str, certification_authority: str, claim_expired_seconds: int, cluster_as_enabled: bool, @@ -7956,6 +8076,7 @@ def __init__(__self__, *, vpc_id: str, worker_instances_lists: Sequence['outputs.GetClustersListWorkerInstancesListResult']): """ + :param str cdc_id: CDC ID. :param str certification_authority: The certificate used for access. :param int claim_expired_seconds: The expired seconds to recycle ENI. :param bool cluster_as_enabled: Indicates whether to enable cluster node auto scaler. @@ -7994,6 +8115,7 @@ def __init__(__self__, *, :param str vpc_id: Vpc ID of the cluster. :param Sequence['GetClustersListWorkerInstancesListArgs'] worker_instances_lists: An information list of cvm within the WORKER clusters. Each element contains the following attributes. """ + pulumi.set(__self__, "cdc_id", cdc_id) pulumi.set(__self__, "certification_authority", certification_authority) pulumi.set(__self__, "claim_expired_seconds", claim_expired_seconds) pulumi.set(__self__, "cluster_as_enabled", cluster_as_enabled) @@ -8032,6 +8154,14 @@ def __init__(__self__, *, pulumi.set(__self__, "vpc_id", vpc_id) pulumi.set(__self__, "worker_instances_lists", worker_instances_lists) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> str: + """ + CDC ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="certificationAuthority") def certification_authority(self) -> str: diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py index 709a564d1..0aece074b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py @@ -32,7 +32,7 @@ def __init__(__self__, *, The set of arguments for constructing a ScaleWorker resource. :param pulumi.Input[str] cluster_id: ID of the cluster. :param pulumi.Input['ScaleWorkerWorkerConfigArgs'] worker_config: Deploy the machine configuration information of the 'WORK' service, and create <=20 units for common users. - :param pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]] data_disks: Configurations of data disk. + :param pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]] data_disks: Configurations of tke data disk. :param pulumi.Input[int] desired_pod_num: Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. :param pulumi.Input[str] docker_graph_path: Docker graph path. Default is `/var/lib/docker`. :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. @@ -94,7 +94,7 @@ def worker_config(self, value: pulumi.Input['ScaleWorkerWorkerConfigArgs']): @pulumi.getter(name="dataDisks") def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]]]: """ - Configurations of data disk. + Configurations of tke data disk. """ return pulumi.get(self, "data_disks") @@ -230,7 +230,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering ScaleWorker resources. :param pulumi.Input[str] cluster_id: ID of the cluster. - :param pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]] data_disks: Configurations of data disk. + :param pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]] data_disks: Configurations of tke data disk. :param pulumi.Input[int] desired_pod_num: Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. :param pulumi.Input[str] docker_graph_path: Docker graph path. Default is `/var/lib/docker`. :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. @@ -286,7 +286,7 @@ def cluster_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dataDisks") def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScaleWorkerDataDiskArgs']]]]: """ - Configurations of data disk. + Configurations of tke data disk. """ return pulumi.get(self, "data_disks") @@ -469,7 +469,7 @@ def __init__(__self__, scale_instance_type = config.get("scaleInstanceType") if scale_instance_type is None: scale_instance_type = "S2.LARGE16" - test_scale = tencentcloud.kubernetes.ScaleWorker("testScale", + example = tencentcloud.kubernetes.ScaleWorker("example", cluster_id="cls-godovr32", desired_pod_num=16, labels={ @@ -515,7 +515,7 @@ def __init__(__self__, scale_instance_type = config.get("scaleInstanceType") if scale_instance_type is None: scale_instance_type = "S2.LARGE16" - test_scale = tencentcloud.kubernetes.ScaleWorker("testScale", + example = tencentcloud.kubernetes.ScaleWorker("example", cluster_id="cls-godovr32", extra_args=["root-dir=/var/lib/kubelet"], labels={ @@ -549,13 +549,13 @@ def __init__(__self__, tke scale worker can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker example cls-mij6c2pq#ins-n6esjkdi,ins-9h3rdxt8,ins-qretqeas ``` :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. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerDataDiskArgs']]]] data_disks: Configurations of data disk. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerDataDiskArgs']]]] data_disks: Configurations of tke data disk. :param pulumi.Input[int] desired_pod_num: Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. :param pulumi.Input[str] docker_graph_path: Docker graph path. Default is `/var/lib/docker`. :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. @@ -597,7 +597,7 @@ def __init__(__self__, scale_instance_type = config.get("scaleInstanceType") if scale_instance_type is None: scale_instance_type = "S2.LARGE16" - test_scale = tencentcloud.kubernetes.ScaleWorker("testScale", + example = tencentcloud.kubernetes.ScaleWorker("example", cluster_id="cls-godovr32", desired_pod_num=16, labels={ @@ -643,7 +643,7 @@ def __init__(__self__, scale_instance_type = config.get("scaleInstanceType") if scale_instance_type is None: scale_instance_type = "S2.LARGE16" - test_scale = tencentcloud.kubernetes.ScaleWorker("testScale", + example = tencentcloud.kubernetes.ScaleWorker("example", cluster_id="cls-godovr32", extra_args=["root-dir=/var/lib/kubelet"], labels={ @@ -677,7 +677,7 @@ def __init__(__self__, tke scale worker can be imported, e.g. ```sh - $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker example cls-mij6c2pq#ins-n6esjkdi,ins-9h3rdxt8,ins-qretqeas ``` :param str resource_name: The name of the resource. @@ -764,7 +764,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] cluster_id: ID of the cluster. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerDataDiskArgs']]]] data_disks: Configurations of data disk. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScaleWorkerDataDiskArgs']]]] data_disks: Configurations of tke data disk. :param pulumi.Input[int] desired_pod_num: Indicate to set desired pod number in current node. Valid when the cluster enable customized pod cidr. :param pulumi.Input[str] docker_graph_path: Docker graph path. Default is `/var/lib/docker`. :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Custom parameter information related to the node. @@ -808,7 +808,7 @@ def cluster_id(self) -> pulumi.Output[str]: @pulumi.getter(name="dataDisks") def data_disks(self) -> pulumi.Output[Optional[Sequence['outputs.ScaleWorkerDataDisk']]]: """ - Configurations of data disk. + Configurations of tke data disk. """ return pulumi.get(self, "data_disks") diff --git a/sdk/python/tencentcloud_iac_pulumi/lite/__init__.py b/sdk/python/tencentcloud_iac_pulumi/lite/__init__.py new file mode 100644 index 000000000..d7595197a --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/lite/__init__.py @@ -0,0 +1,11 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .get_hbase_instances import * +from .hbase_instance import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/lite/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/lite/_inputs.py new file mode 100644 index 000000000..75e3c6086 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/lite/_inputs.py @@ -0,0 +1,183 @@ +# 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__ = [ + 'HbaseInstanceTagArgs', + 'HbaseInstanceZoneSettingArgs', + 'HbaseInstanceZoneSettingVpcSettingsArgs', + 'GetHbaseInstancesFilterArgs', +] + +@pulumi.input_type +class HbaseInstanceTagArgs: + def __init__(__self__, *, + tag_key: Optional[pulumi.Input[str]] = None, + tag_value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] tag_key: Tag key. + :param pulumi.Input[str] tag_value: Tag value. + """ + if tag_key is not None: + pulumi.set(__self__, "tag_key", tag_key) + if tag_value is not None: + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> Optional[pulumi.Input[str]]: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @tag_key.setter + def tag_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag_key", value) + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> Optional[pulumi.Input[str]]: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + @tag_value.setter + def tag_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tag_value", value) + + +@pulumi.input_type +class HbaseInstanceZoneSettingArgs: + def __init__(__self__, *, + node_num: pulumi.Input[int], + vpc_settings: pulumi.Input['HbaseInstanceZoneSettingVpcSettingsArgs'], + zone: pulumi.Input[str]): + """ + :param pulumi.Input[int] node_num: Number of nodes. + :param pulumi.Input['HbaseInstanceZoneSettingVpcSettingsArgs'] vpc_settings: Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + :param pulumi.Input[str] zone: The availability zone to which the instance belongs, such as ap-guangzhou-1. + """ + pulumi.set(__self__, "node_num", node_num) + pulumi.set(__self__, "vpc_settings", vpc_settings) + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="nodeNum") + def node_num(self) -> pulumi.Input[int]: + """ + Number of nodes. + """ + return pulumi.get(self, "node_num") + + @node_num.setter + def node_num(self, value: pulumi.Input[int]): + pulumi.set(self, "node_num", value) + + @property + @pulumi.getter(name="vpcSettings") + def vpc_settings(self) -> pulumi.Input['HbaseInstanceZoneSettingVpcSettingsArgs']: + """ + Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + """ + return pulumi.get(self, "vpc_settings") + + @vpc_settings.setter + def vpc_settings(self, value: pulumi.Input['HbaseInstanceZoneSettingVpcSettingsArgs']): + pulumi.set(self, "vpc_settings", value) + + @property + @pulumi.getter + def zone(self) -> pulumi.Input[str]: + """ + The availability zone to which the instance belongs, such as ap-guangzhou-1. + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: pulumi.Input[str]): + pulumi.set(self, "zone", value) + + +@pulumi.input_type +class HbaseInstanceZoneSettingVpcSettingsArgs: + def __init__(__self__, *, + subnet_id: pulumi.Input[str], + vpc_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] subnet_id: Subnet ID. + :param pulumi.Input[str] vpc_id: VPC ID. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Input[str]: + """ + Subnet ID. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: pulumi.Input[str]): + pulumi.set(self, "subnet_id", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[str]: + """ + VPC ID. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[str]): + pulumi.set(self, "vpc_id", value) + + +@pulumi.input_type +class GetHbaseInstancesFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Field name. + :param Sequence[str] values: Filter field value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Field name. + """ + 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]: + """ + Filter field value. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/lite/get_hbase_instances.py b/sdk/python/tencentcloud_iac_pulumi/lite/get_hbase_instances.py new file mode 100644 index 000000000..ee5574773 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/lite/get_hbase_instances.py @@ -0,0 +1,196 @@ +# 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__ = [ + 'GetHbaseInstancesResult', + 'AwaitableGetHbaseInstancesResult', + 'get_hbase_instances', + 'get_hbase_instances_output', +] + +@pulumi.output_type +class GetHbaseInstancesResult: + """ + A collection of values returned by getHbaseInstances. + """ + def __init__(__self__, asc=None, display_strategy=None, filters=None, id=None, instance_lists=None, order_field=None, result_output_file=None): + if asc and not isinstance(asc, int): + raise TypeError("Expected argument 'asc' to be a int") + pulumi.set(__self__, "asc", asc) + if display_strategy and not isinstance(display_strategy, str): + raise TypeError("Expected argument 'display_strategy' to be a str") + pulumi.set(__self__, "display_strategy", display_strategy) + 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 instance_lists and not isinstance(instance_lists, list): + raise TypeError("Expected argument 'instance_lists' to be a list") + pulumi.set(__self__, "instance_lists", instance_lists) + if order_field and not isinstance(order_field, str): + raise TypeError("Expected argument 'order_field' to be a str") + pulumi.set(__self__, "order_field", order_field) + 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 + def asc(self) -> Optional[int]: + return pulumi.get(self, "asc") + + @property + @pulumi.getter(name="displayStrategy") + def display_strategy(self) -> str: + return pulumi.get(self, "display_strategy") + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetHbaseInstancesFilterResult']]: + 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="instanceLists") + def instance_lists(self) -> Sequence['outputs.GetHbaseInstancesInstanceListResult']: + """ + Cluster instance list. + """ + return pulumi.get(self, "instance_lists") + + @property + @pulumi.getter(name="orderField") + def order_field(self) -> Optional[str]: + return pulumi.get(self, "order_field") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetHbaseInstancesResult(GetHbaseInstancesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetHbaseInstancesResult( + asc=self.asc, + display_strategy=self.display_strategy, + filters=self.filters, + id=self.id, + instance_lists=self.instance_lists, + order_field=self.order_field, + result_output_file=self.result_output_file) + + +def get_hbase_instances(asc: Optional[int] = None, + display_strategy: Optional[str] = None, + filters: Optional[Sequence[pulumi.InputType['GetHbaseInstancesFilterArgs']]] = None, + order_field: Optional[str] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHbaseInstancesResult: + """ + Use this data source to query detailed information of emr lite_hbase_instances + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + lite_hbase_instances = tencentcloud.Lite.get_hbase_instances(display_strategy="clusterList") + ``` + + + + :param int asc: Sort by OrderField in ascending or descending order. Value range: + * 0: indicates the descending order; + * 1: indicates the ascending order; + The default value is 0. + :param str display_strategy: Cluster filtering policy. Value range: + * clusterList: Query the list of clusters except the destroyed cluster; + * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + :param Sequence[pulumi.InputType['GetHbaseInstancesFilterArgs']] filters: Custom query. + :param str order_field: Sorting field. Value range: + * clusterId: Sorting by instance ID; + * addTime: sorted by instance creation time; + * status: sorted by the status code of the instance. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['asc'] = asc + __args__['displayStrategy'] = display_strategy + __args__['filters'] = filters + __args__['orderField'] = order_field + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Lite/getHbaseInstances:getHbaseInstances', __args__, opts=opts, typ=GetHbaseInstancesResult).value + + return AwaitableGetHbaseInstancesResult( + asc=pulumi.get(__ret__, 'asc'), + display_strategy=pulumi.get(__ret__, 'display_strategy'), + filters=pulumi.get(__ret__, 'filters'), + id=pulumi.get(__ret__, 'id'), + instance_lists=pulumi.get(__ret__, 'instance_lists'), + order_field=pulumi.get(__ret__, 'order_field'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_hbase_instances) +def get_hbase_instances_output(asc: Optional[pulumi.Input[Optional[int]]] = None, + display_strategy: Optional[pulumi.Input[str]] = None, + filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetHbaseInstancesFilterArgs']]]]] = None, + order_field: Optional[pulumi.Input[Optional[str]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHbaseInstancesResult]: + """ + Use this data source to query detailed information of emr lite_hbase_instances + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + lite_hbase_instances = tencentcloud.Lite.get_hbase_instances(display_strategy="clusterList") + ``` + + + + :param int asc: Sort by OrderField in ascending or descending order. Value range: + * 0: indicates the descending order; + * 1: indicates the ascending order; + The default value is 0. + :param str display_strategy: Cluster filtering policy. Value range: + * clusterList: Query the list of clusters except the destroyed cluster; + * monitorManage: Queries the list of clusters except those destroyed, being created, and failed to create. + :param Sequence[pulumi.InputType['GetHbaseInstancesFilterArgs']] filters: Custom query. + :param str order_field: Sorting field. Value range: + * clusterId: Sorting by instance ID; + * addTime: sorted by instance creation time; + * status: sorted by the status code of the instance. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/lite/hbase_instance.py b/sdk/python/tencentcloud_iac_pulumi/lite/hbase_instance.py new file mode 100644 index 000000000..52dc1607c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/lite/hbase_instance.py @@ -0,0 +1,507 @@ +# 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__ = ['HbaseInstanceArgs', 'HbaseInstance'] + +@pulumi.input_type +class HbaseInstanceArgs: + def __init__(__self__, *, + disk_size: pulumi.Input[int], + disk_type: pulumi.Input[str], + instance_name: pulumi.Input[str], + node_type: pulumi.Input[str], + pay_mode: pulumi.Input[int], + zone_settings: pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]], + tags: Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]]] = None): + """ + The set of arguments for constructing a HbaseInstance resource. + :param pulumi.Input[int] disk_size: Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + :param pulumi.Input[str] disk_type: Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + :param pulumi.Input[str] instance_name: Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + :param pulumi.Input[str] node_type: Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + :param pulumi.Input[int] pay_mode: Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + :param pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]] zone_settings: Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + :param pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]] tags: List of tags to bind to the instance. + """ + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) + pulumi.set(__self__, "instance_name", instance_name) + pulumi.set(__self__, "node_type", node_type) + pulumi.set(__self__, "pay_mode", pay_mode) + pulumi.set(__self__, "zone_settings", zone_settings) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> pulumi.Input[int]: + """ + Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + """ + 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]: + """ + Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + """ + 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="instanceName") + def instance_name(self) -> pulumi.Input[str]: + """ + Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_name", value) + + @property + @pulumi.getter(name="nodeType") + def node_type(self) -> pulumi.Input[str]: + """ + Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + """ + return pulumi.get(self, "node_type") + + @node_type.setter + def node_type(self, value: pulumi.Input[str]): + pulumi.set(self, "node_type", value) + + @property + @pulumi.getter(name="payMode") + def pay_mode(self) -> pulumi.Input[int]: + """ + Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + """ + return pulumi.get(self, "pay_mode") + + @pay_mode.setter + def pay_mode(self, value: pulumi.Input[int]): + pulumi.set(self, "pay_mode", value) + + @property + @pulumi.getter(name="zoneSettings") + def zone_settings(self) -> pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]]: + """ + Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + """ + return pulumi.get(self, "zone_settings") + + @zone_settings.setter + def zone_settings(self, value: pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]]): + pulumi.set(self, "zone_settings", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]]]: + """ + List of tags to bind to the instance. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _HbaseInstanceState: + def __init__(__self__, *, + disk_size: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + node_type: Optional[pulumi.Input[str]] = None, + pay_mode: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]]] = None, + zone_settings: Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]]] = None): + """ + Input properties used for looking up and filtering HbaseInstance resources. + :param pulumi.Input[int] disk_size: Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + :param pulumi.Input[str] disk_type: Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + :param pulumi.Input[str] instance_name: Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + :param pulumi.Input[str] node_type: Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + :param pulumi.Input[int] pay_mode: Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + :param pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]] tags: List of tags to bind to the instance. + :param pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]] zone_settings: Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + """ + 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 instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if node_type is not None: + pulumi.set(__self__, "node_type", node_type) + if pay_mode is not None: + pulumi.set(__self__, "pay_mode", pay_mode) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if zone_settings is not None: + pulumi.set(__self__, "zone_settings", zone_settings) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + """ + 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]]: + """ + Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + """ + 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(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[str]]: + """ + Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_name", value) + + @property + @pulumi.getter(name="nodeType") + def node_type(self) -> Optional[pulumi.Input[str]]: + """ + Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + """ + return pulumi.get(self, "node_type") + + @node_type.setter + def node_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_type", value) + + @property + @pulumi.getter(name="payMode") + def pay_mode(self) -> Optional[pulumi.Input[int]]: + """ + Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + """ + return pulumi.get(self, "pay_mode") + + @pay_mode.setter + def pay_mode(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "pay_mode", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]]]: + """ + List of tags to bind to the instance. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceTagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="zoneSettings") + def zone_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]]]: + """ + Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + """ + return pulumi.get(self, "zone_settings") + + @zone_settings.setter + def zone_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HbaseInstanceZoneSettingArgs']]]]): + pulumi.set(self, "zone_settings", value) + + +class HbaseInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + disk_size: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + node_type: Optional[pulumi.Input[str]] = None, + pay_mode: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceTagArgs']]]]] = None, + zone_settings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceZoneSettingArgs']]]]] = None, + __props__=None): + """ + Provides a resource to create a emr lite_hbase_instance + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + lite_hbase_instance = tencentcloud.lite.HbaseInstance("liteHbaseInstance", + disk_size=100, + disk_type="CLOUD_HSSD", + instance_name="tf-test", + node_type="8C32G", + pay_mode=0, + tags=[tencentcloud.lite.HbaseInstanceTagArgs( + tag_key="test", + tag_value="test", + )], + zone_settings=[tencentcloud.lite.HbaseInstanceZoneSettingArgs( + node_num=3, + vpc_settings=tencentcloud.lite.HbaseInstanceZoneSettingVpcSettingsArgs( + subnet_id="subnet-xxxxxx", + vpc_id="vpc-xxxxxx", + ), + zone="ap-shanghai-2", + )]) + ``` + + + ## Import + + emr lite_hbase_instance can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Lite/hbaseInstance:HbaseInstance lite_hbase_instance lite_hbase_instance_id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] disk_size: Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + :param pulumi.Input[str] disk_type: Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + :param pulumi.Input[str] instance_name: Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + :param pulumi.Input[str] node_type: Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + :param pulumi.Input[int] pay_mode: Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceTagArgs']]]] tags: List of tags to bind to the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceZoneSettingArgs']]]] zone_settings: Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HbaseInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a emr lite_hbase_instance + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + lite_hbase_instance = tencentcloud.lite.HbaseInstance("liteHbaseInstance", + disk_size=100, + disk_type="CLOUD_HSSD", + instance_name="tf-test", + node_type="8C32G", + pay_mode=0, + tags=[tencentcloud.lite.HbaseInstanceTagArgs( + tag_key="test", + tag_value="test", + )], + zone_settings=[tencentcloud.lite.HbaseInstanceZoneSettingArgs( + node_num=3, + vpc_settings=tencentcloud.lite.HbaseInstanceZoneSettingVpcSettingsArgs( + subnet_id="subnet-xxxxxx", + vpc_id="vpc-xxxxxx", + ), + zone="ap-shanghai-2", + )]) + ``` + + + ## Import + + emr lite_hbase_instance can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Lite/hbaseInstance:HbaseInstance lite_hbase_instance lite_hbase_instance_id + ``` + + :param str resource_name: The name of the resource. + :param HbaseInstanceArgs 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(HbaseInstanceArgs, 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, + disk_size: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + node_type: Optional[pulumi.Input[str]] = None, + pay_mode: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceTagArgs']]]]] = None, + zone_settings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceZoneSettingArgs']]]]] = 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__ = HbaseInstanceArgs.__new__(HbaseInstanceArgs) + + if disk_size is None and not opts.urn: + raise TypeError("Missing required property 'disk_size'") + __props__.__dict__["disk_size"] = disk_size + if disk_type is None and not opts.urn: + raise TypeError("Missing required property 'disk_type'") + __props__.__dict__["disk_type"] = disk_type + if instance_name is None and not opts.urn: + raise TypeError("Missing required property 'instance_name'") + __props__.__dict__["instance_name"] = instance_name + if node_type is None and not opts.urn: + raise TypeError("Missing required property 'node_type'") + __props__.__dict__["node_type"] = node_type + if pay_mode is None and not opts.urn: + raise TypeError("Missing required property 'pay_mode'") + __props__.__dict__["pay_mode"] = pay_mode + __props__.__dict__["tags"] = tags + if zone_settings is None and not opts.urn: + raise TypeError("Missing required property 'zone_settings'") + __props__.__dict__["zone_settings"] = zone_settings + super(HbaseInstance, __self__).__init__( + 'tencentcloud:Lite/hbaseInstance:HbaseInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + disk_size: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + instance_name: Optional[pulumi.Input[str]] = None, + node_type: Optional[pulumi.Input[str]] = None, + pay_mode: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceTagArgs']]]]] = None, + zone_settings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceZoneSettingArgs']]]]] = None) -> 'HbaseInstance': + """ + Get an existing HbaseInstance 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] disk_size: Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + :param pulumi.Input[str] disk_type: Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + :param pulumi.Input[str] instance_name: Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + :param pulumi.Input[str] node_type: Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + :param pulumi.Input[int] pay_mode: Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceTagArgs']]]] tags: List of tags to bind to the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HbaseInstanceZoneSettingArgs']]]] zone_settings: Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HbaseInstanceState.__new__(_HbaseInstanceState) + + __props__.__dict__["disk_size"] = disk_size + __props__.__dict__["disk_type"] = disk_type + __props__.__dict__["instance_name"] = instance_name + __props__.__dict__["node_type"] = node_type + __props__.__dict__["pay_mode"] = pay_mode + __props__.__dict__["tags"] = tags + __props__.__dict__["zone_settings"] = zone_settings + return HbaseInstance(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> pulumi.Output[int]: + """ + Instance single-node disk capacity, in GB. The single-node disk capacity must be greater than or equal to 100 and less than or equal to 10000, with an adjustment step size of 20. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> pulumi.Output[str]: + """ + Instance disk type, fill in CLOUD_HSSD to indicate performance cloud storage. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Output[str]: + """ + Instance name. Length limit is 6-36 characters. Only Chinese characters, letters, numbers, -, and _ are allowed. + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="nodeType") + def node_type(self) -> pulumi.Output[str]: + """ + Instance node type, can be filled in as 4C16G, 8C32G, 16C64G, 32C128G, case insensitive. + """ + return pulumi.get(self, "node_type") + + @property + @pulumi.getter(name="payMode") + def pay_mode(self) -> pulumi.Output[int]: + """ + Instance pay mode. Value range: 0: indicates post pay mode, that is, pay-as-you-go. + """ + return pulumi.get(self, "pay_mode") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.HbaseInstanceTag']]]: + """ + List of tags to bind to the instance. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="zoneSettings") + def zone_settings(self) -> pulumi.Output[Sequence['outputs.HbaseInstanceZoneSetting']]: + """ + Detailed configuration of the instance availability zone, currently supports multiple availability zones, the number of availability zones can only be 1 or 3, including zone name, VPC information, and number of nodes. The total number of nodes across all zones must be greater than or equal to 3 and less than or equal to 50. + """ + return pulumi.get(self, "zone_settings") + diff --git a/sdk/python/tencentcloud_iac_pulumi/lite/outputs.py b/sdk/python/tencentcloud_iac_pulumi/lite/outputs.py new file mode 100644 index 000000000..fa65d9c76 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/lite/outputs.py @@ -0,0 +1,481 @@ +# 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 + +__all__ = [ + 'HbaseInstanceTag', + 'HbaseInstanceZoneSetting', + 'HbaseInstanceZoneSettingVpcSettings', + 'GetHbaseInstancesFilterResult', + 'GetHbaseInstancesInstanceListResult', + 'GetHbaseInstancesInstanceListTagResult', + 'GetHbaseInstancesInstanceListZoneSettingResult', + 'GetHbaseInstancesInstanceListZoneSettingVpcSettingResult', +] + +@pulumi.output_type +class HbaseInstanceTag(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tagKey": + suggest = "tag_key" + elif key == "tagValue": + suggest = "tag_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HbaseInstanceTag. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HbaseInstanceTag.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HbaseInstanceTag.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tag_key: Optional[str] = None, + tag_value: Optional[str] = None): + """ + :param str tag_key: Tag key. + :param str tag_value: Tag value. + """ + if tag_key is not None: + pulumi.set(__self__, "tag_key", tag_key) + if tag_value is not None: + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> Optional[str]: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> Optional[str]: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + +@pulumi.output_type +class HbaseInstanceZoneSetting(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "nodeNum": + suggest = "node_num" + elif key == "vpcSettings": + suggest = "vpc_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HbaseInstanceZoneSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HbaseInstanceZoneSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HbaseInstanceZoneSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + node_num: int, + vpc_settings: 'outputs.HbaseInstanceZoneSettingVpcSettings', + zone: str): + """ + :param int node_num: Number of nodes. + :param 'HbaseInstanceZoneSettingVpcSettingsArgs' vpc_settings: Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + :param str zone: The availability zone to which the instance belongs, such as ap-guangzhou-1. + """ + pulumi.set(__self__, "node_num", node_num) + pulumi.set(__self__, "vpc_settings", vpc_settings) + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="nodeNum") + def node_num(self) -> int: + """ + Number of nodes. + """ + return pulumi.get(self, "node_num") + + @property + @pulumi.getter(name="vpcSettings") + def vpc_settings(self) -> 'outputs.HbaseInstanceZoneSettingVpcSettings': + """ + Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + """ + return pulumi.get(self, "vpc_settings") + + @property + @pulumi.getter + def zone(self) -> str: + """ + The availability zone to which the instance belongs, such as ap-guangzhou-1. + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class HbaseInstanceZoneSettingVpcSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + elif key == "vpcId": + suggest = "vpc_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HbaseInstanceZoneSettingVpcSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HbaseInstanceZoneSettingVpcSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HbaseInstanceZoneSettingVpcSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_id: str, + vpc_id: str): + """ + :param str subnet_id: Subnet ID. + :param str vpc_id: VPC ID. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + Subnet ID. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> str: + """ + VPC ID. + """ + return pulumi.get(self, "vpc_id") + + +@pulumi.output_type +class GetHbaseInstancesFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: Field name. + :param Sequence[str] values: Filter field value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + Field name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Filter field value. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetHbaseInstancesInstanceListResult(dict): + def __init__(__self__, *, + add_time: str, + app_id: int, + cluster_id: str, + cluster_name: str, + id: int, + pay_mode: int, + region_id: int, + status: int, + status_desc: str, + subnet_id: int, + tags: Sequence['outputs.GetHbaseInstancesInstanceListTagResult'], + vpc_id: int, + zone: str, + zone_id: int, + zone_settings: Sequence['outputs.GetHbaseInstancesInstanceListZoneSettingResult']): + """ + :param str add_time: Creation time. + :param int app_id: User APP ID. + :param str cluster_id: Cluster Instance String ID. + :param str cluster_name: Cluster Instance name. + :param int id: Cluster Instance Digital ID. + :param int pay_mode: Cluster charging type. 0 means charging by volume, 1 means annual and monthly. + :param int region_id: Region ID. + :param int status: Status code, please refer to the StatusDesc. + :param str status_desc: State description. + :param int subnet_id: Subnet ID. + :param Sequence['GetHbaseInstancesInstanceListTagArgs'] tags: List of tags. + :param int vpc_id: VPC ID. + :param str zone: Primary Availability Zone Name. + :param int zone_id: Primary Availability Zone ID. + :param Sequence['GetHbaseInstancesInstanceListZoneSettingArgs'] zone_settings: Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50. + """ + pulumi.set(__self__, "add_time", add_time) + pulumi.set(__self__, "app_id", app_id) + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "pay_mode", pay_mode) + pulumi.set(__self__, "region_id", region_id) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "status_desc", status_desc) + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "vpc_id", vpc_id) + pulumi.set(__self__, "zone", zone) + pulumi.set(__self__, "zone_id", zone_id) + pulumi.set(__self__, "zone_settings", zone_settings) + + @property + @pulumi.getter(name="addTime") + def add_time(self) -> str: + """ + Creation time. + """ + return pulumi.get(self, "add_time") + + @property + @pulumi.getter(name="appId") + def app_id(self) -> int: + """ + User APP ID. + """ + return pulumi.get(self, "app_id") + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: + """ + Cluster Instance String ID. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> str: + """ + Cluster Instance name. + """ + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter + def id(self) -> int: + """ + Cluster Instance Digital ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="payMode") + def pay_mode(self) -> int: + """ + Cluster charging type. 0 means charging by volume, 1 means annual and monthly. + """ + return pulumi.get(self, "pay_mode") + + @property + @pulumi.getter(name="regionId") + def region_id(self) -> int: + """ + Region ID. + """ + return pulumi.get(self, "region_id") + + @property + @pulumi.getter + def status(self) -> int: + """ + Status code, please refer to the StatusDesc. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="statusDesc") + def status_desc(self) -> str: + """ + State description. + """ + return pulumi.get(self, "status_desc") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> int: + """ + Subnet ID. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetHbaseInstancesInstanceListTagResult']: + """ + List of tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> int: + """ + VPC ID. + """ + return pulumi.get(self, "vpc_id") + + @property + @pulumi.getter + def zone(self) -> str: + """ + Primary Availability Zone Name. + """ + return pulumi.get(self, "zone") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> int: + """ + Primary Availability Zone ID. + """ + return pulumi.get(self, "zone_id") + + @property + @pulumi.getter(name="zoneSettings") + def zone_settings(self) -> Sequence['outputs.GetHbaseInstancesInstanceListZoneSettingResult']: + """ + Detailed configuration of the instance availability zone, including the availability zone name, VPC information, and the total number of nodes, where the total number of nodes must be greater than or equal to 3 and less than or equal to 50. + """ + return pulumi.get(self, "zone_settings") + + +@pulumi.output_type +class GetHbaseInstancesInstanceListTagResult(dict): + def __init__(__self__, *, + tag_key: Optional[str] = None, + tag_value: Optional[str] = None): + """ + :param str tag_key: Tag key. + :param str tag_value: Tag value. + """ + if tag_key is not None: + pulumi.set(__self__, "tag_key", tag_key) + if tag_value is not None: + pulumi.set(__self__, "tag_value", tag_value) + + @property + @pulumi.getter(name="tagKey") + def tag_key(self) -> Optional[str]: + """ + Tag key. + """ + return pulumi.get(self, "tag_key") + + @property + @pulumi.getter(name="tagValue") + def tag_value(self) -> Optional[str]: + """ + Tag value. + """ + return pulumi.get(self, "tag_value") + + +@pulumi.output_type +class GetHbaseInstancesInstanceListZoneSettingResult(dict): + def __init__(__self__, *, + node_num: int, + vpc_settings: Sequence['outputs.GetHbaseInstancesInstanceListZoneSettingVpcSettingResult'], + zone: str): + """ + :param int node_num: Number of nodes. + :param Sequence['GetHbaseInstancesInstanceListZoneSettingVpcSettingArgs'] vpc_settings: Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + :param str zone: Primary Availability Zone Name. + """ + pulumi.set(__self__, "node_num", node_num) + pulumi.set(__self__, "vpc_settings", vpc_settings) + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="nodeNum") + def node_num(self) -> int: + """ + Number of nodes. + """ + return pulumi.get(self, "node_num") + + @property + @pulumi.getter(name="vpcSettings") + def vpc_settings(self) -> Sequence['outputs.GetHbaseInstancesInstanceListZoneSettingVpcSettingResult']: + """ + Private network related information configuration. This parameter can be used to specify the ID of the private network, subnet ID, and other information. + """ + return pulumi.get(self, "vpc_settings") + + @property + @pulumi.getter + def zone(self) -> str: + """ + Primary Availability Zone Name. + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class GetHbaseInstancesInstanceListZoneSettingVpcSettingResult(dict): + def __init__(__self__, *, + subnet_id: str, + vpc_id: str): + """ + :param str subnet_id: Subnet ID. + :param str vpc_id: VPC ID. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + Subnet ID. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> str: + """ + VPC ID. + """ + return pulumi.get(self, "vpc_id") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/mongodb/instance.py b/sdk/python/tencentcloud_iac_pulumi/mongodb/instance.py index f1eeeb8f3..ed6a8b0f3 100644 --- a/sdk/python/tencentcloud_iac_pulumi/mongodb/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/mongodb/instance.py @@ -27,6 +27,8 @@ def __init__(__self__, *, availability_zone_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, charge_type: Optional[pulumi.Input[str]] = None, hidden_zone: Optional[pulumi.Input[str]] = None, + maintenance_end: Optional[pulumi.Input[str]] = None, + maintenance_start: Optional[pulumi.Input[str]] = None, node_num: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, @@ -53,6 +55,10 @@ def __init__(__self__, *, - Basic network cannot be selected. :param pulumi.Input[str] charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type. :param pulumi.Input[str] hidden_zone: The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones. + :param pulumi.Input[str] maintenance_end: Maintenance window end time. + - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + - The end time must be based on the start time backwards. + :param pulumi.Input[str] maintenance_start: Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. :param pulumi.Input[int] node_num: The number of nodes in each replica set. Default value: 3. :param pulumi.Input[str] password: Password of this Mongodb account. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`. @@ -79,6 +85,10 @@ def __init__(__self__, *, pulumi.set(__self__, "charge_type", charge_type) if hidden_zone is not None: pulumi.set(__self__, "hidden_zone", hidden_zone) + if maintenance_end is not None: + pulumi.set(__self__, "maintenance_end", maintenance_end) + if maintenance_start is not None: + pulumi.set(__self__, "maintenance_start", maintenance_start) if node_num is not None: pulumi.set(__self__, "node_num", node_num) if password is not None: @@ -234,6 +244,32 @@ def hidden_zone(self) -> Optional[pulumi.Input[str]]: def hidden_zone(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "hidden_zone", value) + @property + @pulumi.getter(name="maintenanceEnd") + def maintenance_end(self) -> Optional[pulumi.Input[str]]: + """ + Maintenance window end time. + - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + - The end time must be based on the start time backwards. + """ + return pulumi.get(self, "maintenance_end") + + @maintenance_end.setter + def maintenance_end(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "maintenance_end", value) + + @property + @pulumi.getter(name="maintenanceStart") + def maintenance_start(self) -> Optional[pulumi.Input[str]]: + """ + Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + """ + return pulumi.get(self, "maintenance_start") + + @maintenance_start.setter + def maintenance_start(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "maintenance_start", value) + @property @pulumi.getter(name="nodeNum") def node_num(self) -> Optional[pulumi.Input[int]]: @@ -356,6 +392,8 @@ def __init__(__self__, *, hidden_zone: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, machine_type: Optional[pulumi.Input[str]] = None, + maintenance_end: Optional[pulumi.Input[str]] = None, + maintenance_start: Optional[pulumi.Input[str]] = None, memory: Optional[pulumi.Input[int]] = None, node_num: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, @@ -387,6 +425,10 @@ def __init__(__self__, *, :param pulumi.Input[str] hidden_zone: The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones. :param pulumi.Input[str] instance_name: Name of the Mongodb instance. :param pulumi.Input[str] machine_type: Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). + :param pulumi.Input[str] maintenance_end: Maintenance window end time. + - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + - The end time must be based on the start time backwards. + :param pulumi.Input[str] maintenance_start: Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. :param pulumi.Input[int] memory: Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. :param pulumi.Input[int] node_num: The number of nodes in each replica set. Default value: 3. :param pulumi.Input[str] password: Password of this Mongodb account. @@ -423,6 +465,10 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_name", instance_name) if machine_type is not None: pulumi.set(__self__, "machine_type", machine_type) + if maintenance_end is not None: + pulumi.set(__self__, "maintenance_end", maintenance_end) + if maintenance_start is not None: + pulumi.set(__self__, "maintenance_start", maintenance_start) if memory is not None: pulumi.set(__self__, "memory", memory) if node_num is not None: @@ -578,6 +624,32 @@ def machine_type(self) -> Optional[pulumi.Input[str]]: def machine_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "machine_type", value) + @property + @pulumi.getter(name="maintenanceEnd") + def maintenance_end(self) -> Optional[pulumi.Input[str]]: + """ + Maintenance window end time. + - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + - The end time must be based on the start time backwards. + """ + return pulumi.get(self, "maintenance_end") + + @maintenance_end.setter + def maintenance_end(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "maintenance_end", value) + + @property + @pulumi.getter(name="maintenanceStart") + def maintenance_start(self) -> Optional[pulumi.Input[str]]: + """ + Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + """ + return pulumi.get(self, "maintenance_start") + + @maintenance_start.setter + def maintenance_start(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "maintenance_start", value) + @property @pulumi.getter def memory(self) -> Optional[pulumi.Input[int]]: @@ -773,6 +845,8 @@ def __init__(__self__, hidden_zone: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, machine_type: Optional[pulumi.Input[str]] = None, + maintenance_end: Optional[pulumi.Input[str]] = None, + maintenance_start: Optional[pulumi.Input[str]] = None, memory: Optional[pulumi.Input[int]] = None, node_num: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, @@ -832,6 +906,10 @@ def __init__(__self__, :param pulumi.Input[str] hidden_zone: The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones. :param pulumi.Input[str] instance_name: Name of the Mongodb instance. :param pulumi.Input[str] machine_type: Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). + :param pulumi.Input[str] maintenance_end: Maintenance window end time. + - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + - The end time must be based on the start time backwards. + :param pulumi.Input[str] maintenance_start: Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. :param pulumi.Input[int] memory: Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. :param pulumi.Input[int] node_num: The number of nodes in each replica set. Default value: 3. :param pulumi.Input[str] password: Password of this Mongodb account. @@ -906,6 +984,8 @@ def _internal_init(__self__, hidden_zone: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, machine_type: Optional[pulumi.Input[str]] = None, + maintenance_end: Optional[pulumi.Input[str]] = None, + maintenance_start: Optional[pulumi.Input[str]] = None, memory: Optional[pulumi.Input[int]] = None, node_num: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, @@ -943,6 +1023,8 @@ def _internal_init(__self__, if machine_type is None and not opts.urn: raise TypeError("Missing required property 'machine_type'") __props__.__dict__["machine_type"] = machine_type + __props__.__dict__["maintenance_end"] = maintenance_end + __props__.__dict__["maintenance_start"] = maintenance_start if memory is None and not opts.urn: raise TypeError("Missing required property 'memory'") __props__.__dict__["memory"] = memory @@ -985,6 +1067,8 @@ def get(resource_name: str, hidden_zone: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, machine_type: Optional[pulumi.Input[str]] = None, + maintenance_end: Optional[pulumi.Input[str]] = None, + maintenance_start: Optional[pulumi.Input[str]] = None, memory: Optional[pulumi.Input[int]] = None, node_num: Optional[pulumi.Input[int]] = None, password: Optional[pulumi.Input[str]] = None, @@ -1021,6 +1105,10 @@ def get(resource_name: str, :param pulumi.Input[str] hidden_zone: The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones. :param pulumi.Input[str] instance_name: Name of the Mongodb instance. :param pulumi.Input[str] machine_type: Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO). + :param pulumi.Input[str] maintenance_end: Maintenance window end time. + - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + - The end time must be based on the start time backwards. + :param pulumi.Input[str] maintenance_start: Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. :param pulumi.Input[int] memory: Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously. :param pulumi.Input[int] node_num: The number of nodes in each replica set. Default value: 3. :param pulumi.Input[str] password: Password of this Mongodb account. @@ -1051,6 +1139,8 @@ def get(resource_name: str, __props__.__dict__["hidden_zone"] = hidden_zone __props__.__dict__["instance_name"] = instance_name __props__.__dict__["machine_type"] = machine_type + __props__.__dict__["maintenance_end"] = maintenance_end + __props__.__dict__["maintenance_start"] = maintenance_start __props__.__dict__["memory"] = memory __props__.__dict__["node_num"] = node_num __props__.__dict__["password"] = password @@ -1152,6 +1242,24 @@ def machine_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "machine_type") + @property + @pulumi.getter(name="maintenanceEnd") + def maintenance_end(self) -> pulumi.Output[str]: + """ + Maintenance window end time. + - The value range is any full point or half point from `00:00-23:00`, and the maintenance time duration is at least 30 minutes and at most 3 hours. + - The end time must be based on the start time backwards. + """ + return pulumi.get(self, "maintenance_end") + + @property + @pulumi.getter(name="maintenanceStart") + def maintenance_start(self) -> pulumi.Output[str]: + """ + Maintenance window start time. The value range is any full point or half point from `00:00-23:00`, such as 00:00 or 00:30. + """ + return pulumi.get(self, "maintenance_start") + @property @pulumi.getter def memory(self) -> pulumi.Output[int]: diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py b/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py index 51726f972..ec2b7df4b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py @@ -27,6 +27,7 @@ from .get_product_event import * from .get_product_namespace import * from .get_statistic_data import * +from .get_tmp_instances import * from .get_tmp_regions import * from .grafana_dns_config import * from .grafana_env_config import * diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py index 57a20e660..ca3c5a2a6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py @@ -56,6 +56,7 @@ 'GetDataDimensionArgs', 'GetProductEventDimensionArgs', 'GetStatisticDataConditionArgs', + 'GetTmpInstancesTagFilterArgs', ] @pulumi.input_type @@ -3652,3 +3653,40 @@ def values(self, value: Sequence[str]): pulumi.set(self, "values", value) +@pulumi.input_type +class GetTmpInstancesTagFilterArgs: + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: The key of the tag. + :param str value: The value of the tag. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + The key of the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: str): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> str: + """ + The value of the tag. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: str): + pulumi.set(self, "value", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/get_tmp_instances.py b/sdk/python/tencentcloud_iac_pulumi/monitor/get_tmp_instances.py new file mode 100644 index 000000000..24539d95c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/get_tmp_instances.py @@ -0,0 +1,267 @@ +# 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__ = [ + 'GetTmpInstancesResult', + 'AwaitableGetTmpInstancesResult', + 'get_tmp_instances', + 'get_tmp_instances_output', +] + +@pulumi.output_type +class GetTmpInstancesResult: + """ + A collection of values returned by getTmpInstances. + """ + def __init__(__self__, id=None, instance_charge_type=None, instance_ids=None, instance_name=None, instance_sets=None, instance_statuses=None, ipv4_addresses=None, result_output_file=None, tag_filters=None, zones=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_charge_type and not isinstance(instance_charge_type, int): + raise TypeError("Expected argument 'instance_charge_type' to be a int") + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if instance_ids and not isinstance(instance_ids, list): + raise TypeError("Expected argument 'instance_ids' to be a list") + pulumi.set(__self__, "instance_ids", instance_ids) + if instance_name and not isinstance(instance_name, str): + raise TypeError("Expected argument 'instance_name' to be a str") + pulumi.set(__self__, "instance_name", instance_name) + if instance_sets and not isinstance(instance_sets, list): + raise TypeError("Expected argument 'instance_sets' to be a list") + pulumi.set(__self__, "instance_sets", instance_sets) + if instance_statuses and not isinstance(instance_statuses, list): + raise TypeError("Expected argument 'instance_statuses' to be a list") + pulumi.set(__self__, "instance_statuses", instance_statuses) + if ipv4_addresses and not isinstance(ipv4_addresses, list): + raise TypeError("Expected argument 'ipv4_addresses' to be a list") + pulumi.set(__self__, "ipv4_addresses", ipv4_addresses) + 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) + if tag_filters and not isinstance(tag_filters, list): + raise TypeError("Expected argument 'tag_filters' to be a list") + pulumi.set(__self__, "tag_filters", tag_filters) + if zones and not isinstance(zones, list): + raise TypeError("Expected argument 'zones' to be a list") + pulumi.set(__self__, "zones", zones) + + @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="instanceChargeType") + def instance_charge_type(self) -> Optional[int]: + """ + Instance charge type. + - 2: Prepaid; + - 3: Postpaid by hour. + """ + return pulumi.get(self, "instance_charge_type") + + @property + @pulumi.getter(name="instanceIds") + def instance_ids(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "instance_ids") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[str]: + """ + Instance name. + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="instanceSets") + def instance_sets(self) -> Sequence['outputs.GetTmpInstancesInstanceSetResult']: + """ + Instance details list. + """ + return pulumi.get(self, "instance_sets") + + @property + @pulumi.getter(name="instanceStatuses") + def instance_statuses(self) -> Optional[Sequence[int]]: + """ + Filter according to instance status. + - 1: Creating; + - 2: In operation; + - 3: Abnormal; + - 4: Reconstruction; + - 5: Destruction; + - 6: Stopped taking; + - 8: Suspension of service due to arrears; + - 9: Service has been suspended due to arrears. + """ + return pulumi.get(self, "instance_statuses") + + @property + @pulumi.getter(name="ipv4Addresses") + def ipv4_addresses(self) -> Optional[Sequence[str]]: + """ + IPV4 address. + """ + return pulumi.get(self, "ipv4_addresses") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="tagFilters") + def tag_filters(self) -> Optional[Sequence['outputs.GetTmpInstancesTagFilterResult']]: + return pulumi.get(self, "tag_filters") + + @property + @pulumi.getter + def zones(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "zones") + + +class AwaitableGetTmpInstancesResult(GetTmpInstancesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTmpInstancesResult( + id=self.id, + instance_charge_type=self.instance_charge_type, + instance_ids=self.instance_ids, + instance_name=self.instance_name, + instance_sets=self.instance_sets, + instance_statuses=self.instance_statuses, + ipv4_addresses=self.ipv4_addresses, + result_output_file=self.result_output_file, + tag_filters=self.tag_filters, + zones=self.zones) + + +def get_tmp_instances(instance_charge_type: Optional[int] = None, + instance_ids: Optional[Sequence[str]] = None, + instance_name: Optional[str] = None, + instance_statuses: Optional[Sequence[int]] = None, + ipv4_addresses: Optional[Sequence[str]] = None, + result_output_file: Optional[str] = None, + tag_filters: Optional[Sequence[pulumi.InputType['GetTmpInstancesTagFilterArgs']]] = None, + zones: Optional[Sequence[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTmpInstancesResult: + """ + Use this data source to query detailed information of monitor tmp instances + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + tmp_instances = tencentcloud.Monitor.get_tmp_instances(instance_ids=["prom-xxxxxx"]) + ``` + + + + :param int instance_charge_type: Filter according to instance charge type. + - 2: Prepaid; + - 3: Postpaid by hour. + :param Sequence[str] instance_ids: Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + :param str instance_name: Filter according to instance name. + :param Sequence[int] instance_statuses: Filter according to instance status. + - 1: Creating; + - 2: In operation; + - 3: Abnormal; + - 4: Reconstruction; + - 5: Destruction; + - 6: Stopped taking; + - 8: Suspension of service due to arrears; + - 9: Service has been suspended due to arrears. + :param Sequence[str] ipv4_addresses: Filter according to ipv4 address. + :param str result_output_file: Used to save results. + :param Sequence[pulumi.InputType['GetTmpInstancesTagFilterArgs']] tag_filters: Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + :param Sequence[str] zones: Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + """ + __args__ = dict() + __args__['instanceChargeType'] = instance_charge_type + __args__['instanceIds'] = instance_ids + __args__['instanceName'] = instance_name + __args__['instanceStatuses'] = instance_statuses + __args__['ipv4Addresses'] = ipv4_addresses + __args__['resultOutputFile'] = result_output_file + __args__['tagFilters'] = tag_filters + __args__['zones'] = zones + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Monitor/getTmpInstances:getTmpInstances', __args__, opts=opts, typ=GetTmpInstancesResult).value + + return AwaitableGetTmpInstancesResult( + id=pulumi.get(__ret__, 'id'), + instance_charge_type=pulumi.get(__ret__, 'instance_charge_type'), + instance_ids=pulumi.get(__ret__, 'instance_ids'), + instance_name=pulumi.get(__ret__, 'instance_name'), + instance_sets=pulumi.get(__ret__, 'instance_sets'), + instance_statuses=pulumi.get(__ret__, 'instance_statuses'), + ipv4_addresses=pulumi.get(__ret__, 'ipv4_addresses'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + tag_filters=pulumi.get(__ret__, 'tag_filters'), + zones=pulumi.get(__ret__, 'zones')) + + +@_utilities.lift_output_func(get_tmp_instances) +def get_tmp_instances_output(instance_charge_type: Optional[pulumi.Input[Optional[int]]] = None, + instance_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + instance_name: Optional[pulumi.Input[Optional[str]]] = None, + instance_statuses: Optional[pulumi.Input[Optional[Sequence[int]]]] = None, + ipv4_addresses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + tag_filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetTmpInstancesTagFilterArgs']]]]] = None, + zones: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTmpInstancesResult]: + """ + Use this data source to query detailed information of monitor tmp instances + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + tmp_instances = tencentcloud.Monitor.get_tmp_instances(instance_ids=["prom-xxxxxx"]) + ``` + + + + :param int instance_charge_type: Filter according to instance charge type. + - 2: Prepaid; + - 3: Postpaid by hour. + :param Sequence[str] instance_ids: Query according to one or more instance IDs. The instance ID is like: prom-xxxx. The maximum number of instances requested is 100. + :param str instance_name: Filter according to instance name. + :param Sequence[int] instance_statuses: Filter according to instance status. + - 1: Creating; + - 2: In operation; + - 3: Abnormal; + - 4: Reconstruction; + - 5: Destruction; + - 6: Stopped taking; + - 8: Suspension of service due to arrears; + - 9: Service has been suspended due to arrears. + :param Sequence[str] ipv4_addresses: Filter according to ipv4 address. + :param str result_output_file: Used to save results. + :param Sequence[pulumi.InputType['GetTmpInstancesTagFilterArgs']] tag_filters: Filter according to tag Key-Value pair. The tag-key is replaced with a specific label key. + :param Sequence[str] zones: Filter according to availability area. The availability area is shaped like: ap-Guangzhou-1. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py b/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py index 632fd3065..c12416279 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py @@ -130,6 +130,10 @@ 'GetStatisticDataDataPointResult', 'GetStatisticDataDataPointDimensionResult', 'GetStatisticDataDataPointValueResult', + 'GetTmpInstancesInstanceSetResult', + 'GetTmpInstancesInstanceSetGrantResult', + 'GetTmpInstancesInstanceSetTagSpecificationResult', + 'GetTmpInstancesTagFilterResult', 'GetTmpRegionsRegionSetResult', ] @@ -9930,6 +9934,540 @@ def value(self) -> float: return pulumi.get(self, "value") +@pulumi.output_type +class GetTmpInstancesInstanceSetResult(dict): + def __init__(__self__, *, + alert_rule_limit: int, + api_root_path: str, + auth_token: str, + auto_renew_flag: int, + charge_status: int, + created_at: str, + data_retention_time: int, + enable_grafana: int, + expire_time: str, + grafana_instance_id: str, + grafana_ip_white_list: str, + grafana_status: int, + grafana_url: str, + grants: Sequence['outputs.GetTmpInstancesInstanceSetGrantResult'], + instance_charge_type: int, + instance_id: str, + instance_name: str, + instance_status: int, + ipv4_address: str, + is_near_expire: int, + migration_type: int, + proxy_address: str, + recording_rule_limit: int, + region_id: int, + remote_write: str, + spec_name: str, + subnet_id: str, + tag_specifications: Sequence['outputs.GetTmpInstancesInstanceSetTagSpecificationResult'], + vpc_id: str, + zone: str): + """ + :param int alert_rule_limit: Alert rule limit. + :param str api_root_path: Prometheus http api root address. + :param str auth_token: Token required for data writing. + :param int auto_renew_flag: Automatic renewal flag. + - 0: No automatic renewal; + - 1: Enable automatic renewal; + - 2: Automatic renewal is prohibited; + - -1: Invalid. + :param int charge_status: Charge status. + - 1: Normal; + - 2: Expires; + - 3: Destruction; + - 4: Allocation; + - 5: Allocation failed. + :param str created_at: Created_at. + :param int data_retention_time: Data retention time. + :param int enable_grafana: Whether to enable grafana. + - 0: closed; + - 1: open. + :param str expire_time: Expires for purchased instances. + :param str grafana_instance_id: Binding grafana instance id. + :param str grafana_ip_white_list: Grafana IP whitelist list. + :param int grafana_status: Grafana status. + - 1: Creating; + - 2: In operation; + - 3: Abnormal; + - 4: Rebooting; + - 5: Destruction; + - 6: Shutdown; + - 7: Deleted. + :param str grafana_url: Grafana panel url. + :param Sequence['GetTmpInstancesInstanceSetGrantArgs'] grants: Authorization information for the instance. + :param int instance_charge_type: Filter according to instance charge type. + - 2: Prepaid; + - 3: Postpaid by hour. + :param str instance_id: Instance id. + :param str instance_name: Filter according to instance name. + :param int instance_status: Filter according to instance status. + - 1: Creating; + - 2: In operation; + - 3: Abnormal; + - 4: Reconstruction; + - 5: Destruction; + - 6: Stopped taking; + - 8: Suspension of service due to arrears; + - 9: Service has been suspended due to arrears. + :param str ipv4_address: Filter according to ipv4 address. + :param int is_near_expire: Whether it is about to expire. + - 0: No; + - 1: Expiring soon. + :param int migration_type: Migration status. + - 0: Not in migration; + + - 1: Migrating, original instance; + + - 2: Migrating, target instance. + :param str proxy_address: Proxy address. + :param int recording_rule_limit: Pre-aggregation rule limitations. + :param int region_id: Region id. + :param str remote_write: Address of prometheus remote write. + :param str spec_name: Specification name. + :param str subnet_id: Subnet id. + :param Sequence['GetTmpInstancesInstanceSetTagSpecificationArgs'] tag_specifications: List of tags associated with the instance. + :param str vpc_id: VPC id. + :param str zone: Zone. + """ + pulumi.set(__self__, "alert_rule_limit", alert_rule_limit) + pulumi.set(__self__, "api_root_path", api_root_path) + pulumi.set(__self__, "auth_token", auth_token) + pulumi.set(__self__, "auto_renew_flag", auto_renew_flag) + pulumi.set(__self__, "charge_status", charge_status) + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "data_retention_time", data_retention_time) + pulumi.set(__self__, "enable_grafana", enable_grafana) + pulumi.set(__self__, "expire_time", expire_time) + pulumi.set(__self__, "grafana_instance_id", grafana_instance_id) + pulumi.set(__self__, "grafana_ip_white_list", grafana_ip_white_list) + pulumi.set(__self__, "grafana_status", grafana_status) + pulumi.set(__self__, "grafana_url", grafana_url) + pulumi.set(__self__, "grants", grants) + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_name", instance_name) + pulumi.set(__self__, "instance_status", instance_status) + pulumi.set(__self__, "ipv4_address", ipv4_address) + pulumi.set(__self__, "is_near_expire", is_near_expire) + pulumi.set(__self__, "migration_type", migration_type) + pulumi.set(__self__, "proxy_address", proxy_address) + pulumi.set(__self__, "recording_rule_limit", recording_rule_limit) + pulumi.set(__self__, "region_id", region_id) + pulumi.set(__self__, "remote_write", remote_write) + pulumi.set(__self__, "spec_name", spec_name) + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "tag_specifications", tag_specifications) + pulumi.set(__self__, "vpc_id", vpc_id) + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="alertRuleLimit") + def alert_rule_limit(self) -> int: + """ + Alert rule limit. + """ + return pulumi.get(self, "alert_rule_limit") + + @property + @pulumi.getter(name="apiRootPath") + def api_root_path(self) -> str: + """ + Prometheus http api root address. + """ + return pulumi.get(self, "api_root_path") + + @property + @pulumi.getter(name="authToken") + def auth_token(self) -> str: + """ + Token required for data writing. + """ + return pulumi.get(self, "auth_token") + + @property + @pulumi.getter(name="autoRenewFlag") + def auto_renew_flag(self) -> int: + """ + Automatic renewal flag. + - 0: No automatic renewal; + - 1: Enable automatic renewal; + - 2: Automatic renewal is prohibited; + - -1: Invalid. + """ + return pulumi.get(self, "auto_renew_flag") + + @property + @pulumi.getter(name="chargeStatus") + def charge_status(self) -> int: + """ + Charge status. + - 1: Normal; + - 2: Expires; + - 3: Destruction; + - 4: Allocation; + - 5: Allocation failed. + """ + return pulumi.get(self, "charge_status") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + Created_at. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="dataRetentionTime") + def data_retention_time(self) -> int: + """ + Data retention time. + """ + return pulumi.get(self, "data_retention_time") + + @property + @pulumi.getter(name="enableGrafana") + def enable_grafana(self) -> int: + """ + Whether to enable grafana. + - 0: closed; + - 1: open. + """ + return pulumi.get(self, "enable_grafana") + + @property + @pulumi.getter(name="expireTime") + def expire_time(self) -> str: + """ + Expires for purchased instances. + """ + return pulumi.get(self, "expire_time") + + @property + @pulumi.getter(name="grafanaInstanceId") + def grafana_instance_id(self) -> str: + """ + Binding grafana instance id. + """ + return pulumi.get(self, "grafana_instance_id") + + @property + @pulumi.getter(name="grafanaIpWhiteList") + def grafana_ip_white_list(self) -> str: + """ + Grafana IP whitelist list. + """ + return pulumi.get(self, "grafana_ip_white_list") + + @property + @pulumi.getter(name="grafanaStatus") + def grafana_status(self) -> int: + """ + Grafana status. + - 1: Creating; + - 2: In operation; + - 3: Abnormal; + - 4: Rebooting; + - 5: Destruction; + - 6: Shutdown; + - 7: Deleted. + """ + return pulumi.get(self, "grafana_status") + + @property + @pulumi.getter(name="grafanaUrl") + def grafana_url(self) -> str: + """ + Grafana panel url. + """ + return pulumi.get(self, "grafana_url") + + @property + @pulumi.getter + def grants(self) -> Sequence['outputs.GetTmpInstancesInstanceSetGrantResult']: + """ + Authorization information for the instance. + """ + return pulumi.get(self, "grants") + + @property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> int: + """ + Filter according to instance charge type. + - 2: Prepaid; + - 3: Postpaid by hour. + """ + return pulumi.get(self, "instance_charge_type") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> str: + """ + Filter according to instance name. + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="instanceStatus") + def instance_status(self) -> int: + """ + Filter according to instance status. + - 1: Creating; + - 2: In operation; + - 3: Abnormal; + - 4: Reconstruction; + - 5: Destruction; + - 6: Stopped taking; + - 8: Suspension of service due to arrears; + - 9: Service has been suspended due to arrears. + """ + return pulumi.get(self, "instance_status") + + @property + @pulumi.getter(name="ipv4Address") + def ipv4_address(self) -> str: + """ + Filter according to ipv4 address. + """ + return pulumi.get(self, "ipv4_address") + + @property + @pulumi.getter(name="isNearExpire") + def is_near_expire(self) -> int: + """ + Whether it is about to expire. + - 0: No; + - 1: Expiring soon. + """ + return pulumi.get(self, "is_near_expire") + + @property + @pulumi.getter(name="migrationType") + def migration_type(self) -> int: + """ + Migration status. + - 0: Not in migration; + + - 1: Migrating, original instance; + + - 2: Migrating, target instance. + """ + return pulumi.get(self, "migration_type") + + @property + @pulumi.getter(name="proxyAddress") + def proxy_address(self) -> str: + """ + Proxy address. + """ + return pulumi.get(self, "proxy_address") + + @property + @pulumi.getter(name="recordingRuleLimit") + def recording_rule_limit(self) -> int: + """ + Pre-aggregation rule limitations. + """ + return pulumi.get(self, "recording_rule_limit") + + @property + @pulumi.getter(name="regionId") + def region_id(self) -> int: + """ + Region id. + """ + return pulumi.get(self, "region_id") + + @property + @pulumi.getter(name="remoteWrite") + def remote_write(self) -> str: + """ + Address of prometheus remote write. + """ + return pulumi.get(self, "remote_write") + + @property + @pulumi.getter(name="specName") + def spec_name(self) -> str: + """ + Specification name. + """ + return pulumi.get(self, "spec_name") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + Subnet id. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="tagSpecifications") + def tag_specifications(self) -> Sequence['outputs.GetTmpInstancesInstanceSetTagSpecificationResult']: + """ + List of tags associated with the instance. + """ + return pulumi.get(self, "tag_specifications") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> str: + """ + VPC id. + """ + return pulumi.get(self, "vpc_id") + + @property + @pulumi.getter + def zone(self) -> str: + """ + Zone. + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class GetTmpInstancesInstanceSetGrantResult(dict): + def __init__(__self__, *, + has_agent_manage: int, + has_api_operation: int, + has_charge_operation: int, + has_grafana_status_change: int, + has_tke_manage: int, + has_vpc_display: int): + """ + :param int has_agent_manage: Whether you have permission to manage the agent (1=yes, 2=no). + :param int has_api_operation: Whether to display API and other information (1=yes, 2=no). + :param int has_charge_operation: Whether you have charging operation authority (1=yes, 2=no). + :param int has_grafana_status_change: Whether the status of Grafana can be modified (1=yes, 2=no). + :param int has_tke_manage: Whether you have permission to manage TKE integration (1=yes, 2=no). + :param int has_vpc_display: Whether to display VPC information (1=yes, 2=no). + """ + pulumi.set(__self__, "has_agent_manage", has_agent_manage) + pulumi.set(__self__, "has_api_operation", has_api_operation) + pulumi.set(__self__, "has_charge_operation", has_charge_operation) + pulumi.set(__self__, "has_grafana_status_change", has_grafana_status_change) + pulumi.set(__self__, "has_tke_manage", has_tke_manage) + pulumi.set(__self__, "has_vpc_display", has_vpc_display) + + @property + @pulumi.getter(name="hasAgentManage") + def has_agent_manage(self) -> int: + """ + Whether you have permission to manage the agent (1=yes, 2=no). + """ + return pulumi.get(self, "has_agent_manage") + + @property + @pulumi.getter(name="hasApiOperation") + def has_api_operation(self) -> int: + """ + Whether to display API and other information (1=yes, 2=no). + """ + return pulumi.get(self, "has_api_operation") + + @property + @pulumi.getter(name="hasChargeOperation") + def has_charge_operation(self) -> int: + """ + Whether you have charging operation authority (1=yes, 2=no). + """ + return pulumi.get(self, "has_charge_operation") + + @property + @pulumi.getter(name="hasGrafanaStatusChange") + def has_grafana_status_change(self) -> int: + """ + Whether the status of Grafana can be modified (1=yes, 2=no). + """ + return pulumi.get(self, "has_grafana_status_change") + + @property + @pulumi.getter(name="hasTkeManage") + def has_tke_manage(self) -> int: + """ + Whether you have permission to manage TKE integration (1=yes, 2=no). + """ + return pulumi.get(self, "has_tke_manage") + + @property + @pulumi.getter(name="hasVpcDisplay") + def has_vpc_display(self) -> int: + """ + Whether to display VPC information (1=yes, 2=no). + """ + return pulumi.get(self, "has_vpc_display") + + +@pulumi.output_type +class GetTmpInstancesInstanceSetTagSpecificationResult(dict): + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: The key of the tag. + :param str value: The value of the tag. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + The key of the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + The value of the tag. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetTmpInstancesTagFilterResult(dict): + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: The key of the tag. + :param str value: The value of the tag. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + The key of the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + The value of the tag. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class GetTmpRegionsRegionSetResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py index 3edb92ba8..3427af6e2 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py @@ -259,26 +259,43 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - tmp_alert_group = tencentcloud.monitor.TmpAlertGroup("tmpAlertGroup", - amp_receivers=["notice-om017kc2"], + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24") + example_tmp_instance = tencentcloud.monitor.TmpInstance("exampleTmpInstance", + instance_name="tf-tmp-instance", + vpc_id=vpc.id, + subnet_id=subnet.id, + data_retention_time=30, + zone=availability_zone, + tags={ + "createdBy": "terraform", + }) + example_tmp_alert_group = tencentcloud.monitor.TmpAlertGroup("exampleTmpAlertGroup", + group_name="tf-example", + instance_id=example_tmp_instance.id, + repeat_interval="5m", custom_receiver=tencentcloud.monitor.TmpAlertGroupCustomReceiverArgs( type="amp", ), - group_name="tf-test", - instance_id="prom-ip429jis", - repeat_interval="5m", rules=[tencentcloud.monitor.TmpAlertGroupRuleArgs( + duration="1m", + expr="up{job=\\"prometheus-agent\\"} != 1", + rule_name="Agent health check", + state=2, annotations={ - "description": "Agent {{$labels.instance}} is deactivated, please pay attention!", "summary": "Agent health check", + "description": "Agent {{$labels.instance}} is deactivated, please pay attention!", }, - duration="1m", - expr="up{job=\\"prometheus-agent\\"} != 1", labels={ "severity": "critical", }, - rule_name="Agent health check", - state=2, )]) ``` @@ -288,7 +305,7 @@ def __init__(__self__, monitor tmp_alert_group can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup example prom-34qkzwvs#alert-rfkkr6cw ``` :param str resource_name: The name of the resource. @@ -316,26 +333,43 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - tmp_alert_group = tencentcloud.monitor.TmpAlertGroup("tmpAlertGroup", - amp_receivers=["notice-om017kc2"], + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone=availability_zone, + cidr_block="10.0.1.0/24") + example_tmp_instance = tencentcloud.monitor.TmpInstance("exampleTmpInstance", + instance_name="tf-tmp-instance", + vpc_id=vpc.id, + subnet_id=subnet.id, + data_retention_time=30, + zone=availability_zone, + tags={ + "createdBy": "terraform", + }) + example_tmp_alert_group = tencentcloud.monitor.TmpAlertGroup("exampleTmpAlertGroup", + group_name="tf-example", + instance_id=example_tmp_instance.id, + repeat_interval="5m", custom_receiver=tencentcloud.monitor.TmpAlertGroupCustomReceiverArgs( type="amp", ), - group_name="tf-test", - instance_id="prom-ip429jis", - repeat_interval="5m", rules=[tencentcloud.monitor.TmpAlertGroupRuleArgs( + duration="1m", + expr="up{job=\\"prometheus-agent\\"} != 1", + rule_name="Agent health check", + state=2, annotations={ - "description": "Agent {{$labels.instance}} is deactivated, please pay attention!", "summary": "Agent health check", + "description": "Agent {{$labels.instance}} is deactivated, please pay attention!", }, - duration="1m", - expr="up{job=\\"prometheus-agent\\"} != 1", labels={ "severity": "critical", }, - rule_name="Agent health check", - state=2, )]) ``` @@ -345,7 +379,7 @@ def __init__(__self__, monitor tmp_alert_group can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup example prom-34qkzwvs#alert-rfkkr6cw ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/mysql/__init__.py b/sdk/python/tencentcloud_iac_pulumi/mysql/__init__.py index b6ef0cee9..7d30679ab 100644 --- a/sdk/python/tencentcloud_iac_pulumi/mysql/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/mysql/__init__.py @@ -10,6 +10,7 @@ from .backup_download_restriction import * from .backup_encryption_status import * from .backup_policy import * +from .cls_log_attachment import * from .database import * from .db_import_job_operation import * from .deploy_group import * @@ -65,6 +66,7 @@ from .rollback import * from .rollback_stop import * from .security_groups_attachment import * +from .ssl import * from .switch_for_upgrade import * from .switch_master_slave_operation import * from .switch_proxy import * diff --git a/sdk/python/tencentcloud_iac_pulumi/mysql/cls_log_attachment.py b/sdk/python/tencentcloud_iac_pulumi/mysql/cls_log_attachment.py new file mode 100644 index 000000000..fb13e60ad --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/mysql/cls_log_attachment.py @@ -0,0 +1,771 @@ +# 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__ = ['ClsLogAttachmentArgs', 'ClsLogAttachment'] + +@pulumi.input_type +class ClsLogAttachmentArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + log_set: pulumi.Input[str], + log_topic: pulumi.Input[str], + log_type: pulumi.Input[str], + cls_region: Optional[pulumi.Input[str]] = None, + create_index: Optional[pulumi.Input[bool]] = None, + create_log_set: Optional[pulumi.Input[bool]] = None, + create_log_topic: Optional[pulumi.Input[bool]] = None, + period: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a ClsLogAttachment resource. + :param pulumi.Input[str] instance_id: The id of instance. + :param pulumi.Input[str] log_set: If `create_log_set` is `true`, use log set name, Else use log set Id. + :param pulumi.Input[str] log_topic: If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + :param pulumi.Input[str] log_type: Log type. Support `error` or `slowlog`. + :param pulumi.Input[str] cls_region: Cls region. + :param pulumi.Input[bool] create_index: Whether to create index. + :param pulumi.Input[bool] create_log_set: Whether to create log set. + :param pulumi.Input[bool] create_log_topic: Whether to create log topic. + :param pulumi.Input[int] period: The validity period of the log theme is 30 days by default when not filled in. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "log_set", log_set) + pulumi.set(__self__, "log_topic", log_topic) + pulumi.set(__self__, "log_type", log_type) + if cls_region is not None: + pulumi.set(__self__, "cls_region", cls_region) + if create_index is not None: + pulumi.set(__self__, "create_index", create_index) + if create_log_set is not None: + pulumi.set(__self__, "create_log_set", create_log_set) + if create_log_topic is not None: + pulumi.set(__self__, "create_log_topic", create_log_topic) + if period is not None: + pulumi.set(__self__, "period", period) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + The id of instance. + """ + 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="logSet") + def log_set(self) -> pulumi.Input[str]: + """ + If `create_log_set` is `true`, use log set name, Else use log set Id. + """ + return pulumi.get(self, "log_set") + + @log_set.setter + def log_set(self, value: pulumi.Input[str]): + pulumi.set(self, "log_set", value) + + @property + @pulumi.getter(name="logTopic") + def log_topic(self) -> pulumi.Input[str]: + """ + If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + """ + return pulumi.get(self, "log_topic") + + @log_topic.setter + def log_topic(self, value: pulumi.Input[str]): + pulumi.set(self, "log_topic", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> pulumi.Input[str]: + """ + Log type. Support `error` or `slowlog`. + """ + 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(name="clsRegion") + def cls_region(self) -> Optional[pulumi.Input[str]]: + """ + Cls region. + """ + return pulumi.get(self, "cls_region") + + @cls_region.setter + def cls_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cls_region", value) + + @property + @pulumi.getter(name="createIndex") + def create_index(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create index. + """ + return pulumi.get(self, "create_index") + + @create_index.setter + def create_index(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_index", value) + + @property + @pulumi.getter(name="createLogSet") + def create_log_set(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create log set. + """ + return pulumi.get(self, "create_log_set") + + @create_log_set.setter + def create_log_set(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_log_set", value) + + @property + @pulumi.getter(name="createLogTopic") + def create_log_topic(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create log topic. + """ + return pulumi.get(self, "create_log_topic") + + @create_log_topic.setter + def create_log_topic(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_log_topic", value) + + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + """ + The validity period of the log theme is 30 days by default when not filled in. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + + +@pulumi.input_type +class _ClsLogAttachmentState: + def __init__(__self__, *, + cls_region: Optional[pulumi.Input[str]] = None, + create_index: Optional[pulumi.Input[bool]] = None, + create_log_set: Optional[pulumi.Input[bool]] = None, + create_log_topic: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_set: Optional[pulumi.Input[str]] = None, + log_set_id: Optional[pulumi.Input[str]] = None, + log_topic: Optional[pulumi.Input[str]] = None, + log_topic_id: Optional[pulumi.Input[str]] = None, + log_type: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ClsLogAttachment resources. + :param pulumi.Input[str] cls_region: Cls region. + :param pulumi.Input[bool] create_index: Whether to create index. + :param pulumi.Input[bool] create_log_set: Whether to create log set. + :param pulumi.Input[bool] create_log_topic: Whether to create log topic. + :param pulumi.Input[str] instance_id: The id of instance. + :param pulumi.Input[str] log_set: If `create_log_set` is `true`, use log set name, Else use log set Id. + :param pulumi.Input[str] log_set_id: Log set Id. + :param pulumi.Input[str] log_topic: If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + :param pulumi.Input[str] log_topic_id: Log topic Id. + :param pulumi.Input[str] log_type: Log type. Support `error` or `slowlog`. + :param pulumi.Input[int] period: The validity period of the log theme is 30 days by default when not filled in. + :param pulumi.Input[str] status: Log Status. + """ + if cls_region is not None: + pulumi.set(__self__, "cls_region", cls_region) + if create_index is not None: + pulumi.set(__self__, "create_index", create_index) + if create_log_set is not None: + pulumi.set(__self__, "create_log_set", create_log_set) + if create_log_topic is not None: + pulumi.set(__self__, "create_log_topic", create_log_topic) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if log_set is not None: + pulumi.set(__self__, "log_set", log_set) + if log_set_id is not None: + pulumi.set(__self__, "log_set_id", log_set_id) + if log_topic is not None: + pulumi.set(__self__, "log_topic", log_topic) + if log_topic_id is not None: + pulumi.set(__self__, "log_topic_id", log_topic_id) + if log_type is not None: + pulumi.set(__self__, "log_type", log_type) + if period is not None: + pulumi.set(__self__, "period", period) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="clsRegion") + def cls_region(self) -> Optional[pulumi.Input[str]]: + """ + Cls region. + """ + return pulumi.get(self, "cls_region") + + @cls_region.setter + def cls_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cls_region", value) + + @property + @pulumi.getter(name="createIndex") + def create_index(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create index. + """ + return pulumi.get(self, "create_index") + + @create_index.setter + def create_index(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_index", value) + + @property + @pulumi.getter(name="createLogSet") + def create_log_set(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create log set. + """ + return pulumi.get(self, "create_log_set") + + @create_log_set.setter + def create_log_set(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_log_set", value) + + @property + @pulumi.getter(name="createLogTopic") + def create_log_topic(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create log topic. + """ + return pulumi.get(self, "create_log_topic") + + @create_log_topic.setter + def create_log_topic(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_log_topic", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + The id of instance. + """ + 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="logSet") + def log_set(self) -> Optional[pulumi.Input[str]]: + """ + If `create_log_set` is `true`, use log set name, Else use log set Id. + """ + return pulumi.get(self, "log_set") + + @log_set.setter + def log_set(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_set", value) + + @property + @pulumi.getter(name="logSetId") + def log_set_id(self) -> Optional[pulumi.Input[str]]: + """ + Log set Id. + """ + return pulumi.get(self, "log_set_id") + + @log_set_id.setter + def log_set_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_set_id", value) + + @property + @pulumi.getter(name="logTopic") + def log_topic(self) -> Optional[pulumi.Input[str]]: + """ + If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + """ + return pulumi.get(self, "log_topic") + + @log_topic.setter + def log_topic(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_topic", value) + + @property + @pulumi.getter(name="logTopicId") + def log_topic_id(self) -> Optional[pulumi.Input[str]]: + """ + Log topic Id. + """ + return pulumi.get(self, "log_topic_id") + + @log_topic_id.setter + def log_topic_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_topic_id", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> Optional[pulumi.Input[str]]: + """ + Log type. Support `error` or `slowlog`. + """ + 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 period(self) -> Optional[pulumi.Input[int]]: + """ + The validity period of the log theme is 30 days by default when not filled in. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + Log Status. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + +class ClsLogAttachment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cls_region: Optional[pulumi.Input[str]] = None, + create_index: Optional[pulumi.Input[bool]] = None, + create_log_set: Optional[pulumi.Input[bool]] = None, + create_log_topic: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_set: Optional[pulumi.Input[str]] = None, + log_topic: Optional[pulumi.Input[str]] = None, + log_type: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Provides a resource to create a mysql log to cls + + > **NOTE:** The CLS resource bound to resource `Mysql.ClsLogAttachment` needs to be manually deleted. + + ## Example Usage + + ### Create Error Log to ClS + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone="ap-guangzhou-6", + vpc_id=vpc.id, + cidr_block="10.0.0.0/16", + is_multicast=False) + # create security group + security_group = tencentcloud.security.Group("securityGroup", description="mysql test") + # create mysql instance + example_instance = tencentcloud.mysql.Instance("exampleInstance", + internet_service=1, + engine_version="5.7", + charge_type="POSTPAID", + root_password="PassWord123", + slave_deploy_mode=0, + availability_zone="ap-guangzhou-6", + slave_sync_mode=1, + instance_name="tf-example-mysql", + mem_size=4000, + volume_size=200, + vpc_id=vpc.id, + subnet_id=subnet.id, + intranet_port=3306, + security_groups=[security_group.id], + tags={ + "name": "test", + }, + parameters={ + "character_set_server": "utf8", + "max_connections": "1000", + }) + # attachment cls log + example_cls_log_attachment = tencentcloud.mysql.ClsLogAttachment("exampleClsLogAttachment", + instance_id=example_instance.id, + log_type="error", + create_log_set=True, + create_log_topic=True, + log_set="tf_log_set", + log_topic="tf_log_topic", + period=30, + create_index=True, + cls_region="ap-guangzhou") + ``` + + + ### Create Slow Log to ClS + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.mysql.ClsLogAttachment("example", + instance_id=tencentcloud_mysql_instance["example"]["id"], + log_type="slowlog", + log_set="50d499a8-c4c0-4442-aa04-e8aa8a02437d", + log_topic="140d4d39-4307-45a8-9655-290f679b063d") + ``` + + + ## Import + + mysql log to cls can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment example cdb-8fk7id2l#slowlog + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cls_region: Cls region. + :param pulumi.Input[bool] create_index: Whether to create index. + :param pulumi.Input[bool] create_log_set: Whether to create log set. + :param pulumi.Input[bool] create_log_topic: Whether to create log topic. + :param pulumi.Input[str] instance_id: The id of instance. + :param pulumi.Input[str] log_set: If `create_log_set` is `true`, use log set name, Else use log set Id. + :param pulumi.Input[str] log_topic: If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + :param pulumi.Input[str] log_type: Log type. Support `error` or `slowlog`. + :param pulumi.Input[int] period: The validity period of the log theme is 30 days by default when not filled in. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClsLogAttachmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a mysql log to cls + + > **NOTE:** The CLS resource bound to resource `Mysql.ClsLogAttachment` needs to be manually deleted. + + ## Example Usage + + ### Create Error Log to ClS + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone="ap-guangzhou-6", + vpc_id=vpc.id, + cidr_block="10.0.0.0/16", + is_multicast=False) + # create security group + security_group = tencentcloud.security.Group("securityGroup", description="mysql test") + # create mysql instance + example_instance = tencentcloud.mysql.Instance("exampleInstance", + internet_service=1, + engine_version="5.7", + charge_type="POSTPAID", + root_password="PassWord123", + slave_deploy_mode=0, + availability_zone="ap-guangzhou-6", + slave_sync_mode=1, + instance_name="tf-example-mysql", + mem_size=4000, + volume_size=200, + vpc_id=vpc.id, + subnet_id=subnet.id, + intranet_port=3306, + security_groups=[security_group.id], + tags={ + "name": "test", + }, + parameters={ + "character_set_server": "utf8", + "max_connections": "1000", + }) + # attachment cls log + example_cls_log_attachment = tencentcloud.mysql.ClsLogAttachment("exampleClsLogAttachment", + instance_id=example_instance.id, + log_type="error", + create_log_set=True, + create_log_topic=True, + log_set="tf_log_set", + log_topic="tf_log_topic", + period=30, + create_index=True, + cls_region="ap-guangzhou") + ``` + + + ### Create Slow Log to ClS + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.mysql.ClsLogAttachment("example", + instance_id=tencentcloud_mysql_instance["example"]["id"], + log_type="slowlog", + log_set="50d499a8-c4c0-4442-aa04-e8aa8a02437d", + log_topic="140d4d39-4307-45a8-9655-290f679b063d") + ``` + + + ## Import + + mysql log to cls can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment example cdb-8fk7id2l#slowlog + ``` + + :param str resource_name: The name of the resource. + :param ClsLogAttachmentArgs 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(ClsLogAttachmentArgs, 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, + cls_region: Optional[pulumi.Input[str]] = None, + create_index: Optional[pulumi.Input[bool]] = None, + create_log_set: Optional[pulumi.Input[bool]] = None, + create_log_topic: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_set: Optional[pulumi.Input[str]] = None, + log_topic: Optional[pulumi.Input[str]] = None, + log_type: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = 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__ = ClsLogAttachmentArgs.__new__(ClsLogAttachmentArgs) + + __props__.__dict__["cls_region"] = cls_region + __props__.__dict__["create_index"] = create_index + __props__.__dict__["create_log_set"] = create_log_set + __props__.__dict__["create_log_topic"] = create_log_topic + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + if log_set is None and not opts.urn: + raise TypeError("Missing required property 'log_set'") + __props__.__dict__["log_set"] = log_set + if log_topic is None and not opts.urn: + raise TypeError("Missing required property 'log_topic'") + __props__.__dict__["log_topic"] = log_topic + if log_type is None and not opts.urn: + raise TypeError("Missing required property 'log_type'") + __props__.__dict__["log_type"] = log_type + __props__.__dict__["period"] = period + __props__.__dict__["log_set_id"] = None + __props__.__dict__["log_topic_id"] = None + __props__.__dict__["status"] = None + super(ClsLogAttachment, __self__).__init__( + 'tencentcloud:Mysql/clsLogAttachment:ClsLogAttachment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + cls_region: Optional[pulumi.Input[str]] = None, + create_index: Optional[pulumi.Input[bool]] = None, + create_log_set: Optional[pulumi.Input[bool]] = None, + create_log_topic: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_set: Optional[pulumi.Input[str]] = None, + log_set_id: Optional[pulumi.Input[str]] = None, + log_topic: Optional[pulumi.Input[str]] = None, + log_topic_id: Optional[pulumi.Input[str]] = None, + log_type: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + status: Optional[pulumi.Input[str]] = None) -> 'ClsLogAttachment': + """ + Get an existing ClsLogAttachment 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] cls_region: Cls region. + :param pulumi.Input[bool] create_index: Whether to create index. + :param pulumi.Input[bool] create_log_set: Whether to create log set. + :param pulumi.Input[bool] create_log_topic: Whether to create log topic. + :param pulumi.Input[str] instance_id: The id of instance. + :param pulumi.Input[str] log_set: If `create_log_set` is `true`, use log set name, Else use log set Id. + :param pulumi.Input[str] log_set_id: Log set Id. + :param pulumi.Input[str] log_topic: If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + :param pulumi.Input[str] log_topic_id: Log topic Id. + :param pulumi.Input[str] log_type: Log type. Support `error` or `slowlog`. + :param pulumi.Input[int] period: The validity period of the log theme is 30 days by default when not filled in. + :param pulumi.Input[str] status: Log Status. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ClsLogAttachmentState.__new__(_ClsLogAttachmentState) + + __props__.__dict__["cls_region"] = cls_region + __props__.__dict__["create_index"] = create_index + __props__.__dict__["create_log_set"] = create_log_set + __props__.__dict__["create_log_topic"] = create_log_topic + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["log_set"] = log_set + __props__.__dict__["log_set_id"] = log_set_id + __props__.__dict__["log_topic"] = log_topic + __props__.__dict__["log_topic_id"] = log_topic_id + __props__.__dict__["log_type"] = log_type + __props__.__dict__["period"] = period + __props__.__dict__["status"] = status + return ClsLogAttachment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clsRegion") + def cls_region(self) -> pulumi.Output[str]: + """ + Cls region. + """ + return pulumi.get(self, "cls_region") + + @property + @pulumi.getter(name="createIndex") + def create_index(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to create index. + """ + return pulumi.get(self, "create_index") + + @property + @pulumi.getter(name="createLogSet") + def create_log_set(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to create log set. + """ + return pulumi.get(self, "create_log_set") + + @property + @pulumi.getter(name="createLogTopic") + def create_log_topic(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to create log topic. + """ + return pulumi.get(self, "create_log_topic") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + The id of instance. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="logSet") + def log_set(self) -> pulumi.Output[str]: + """ + If `create_log_set` is `true`, use log set name, Else use log set Id. + """ + return pulumi.get(self, "log_set") + + @property + @pulumi.getter(name="logSetId") + def log_set_id(self) -> pulumi.Output[str]: + """ + Log set Id. + """ + return pulumi.get(self, "log_set_id") + + @property + @pulumi.getter(name="logTopic") + def log_topic(self) -> pulumi.Output[str]: + """ + If `create_log_topic` is `true`, use log topic name, Else use log topic Id. + """ + return pulumi.get(self, "log_topic") + + @property + @pulumi.getter(name="logTopicId") + def log_topic_id(self) -> pulumi.Output[str]: + """ + Log topic Id. + """ + return pulumi.get(self, "log_topic_id") + + @property + @pulumi.getter(name="logType") + def log_type(self) -> pulumi.Output[str]: + """ + Log type. Support `error` or `slowlog`. + """ + return pulumi.get(self, "log_type") + + @property + @pulumi.getter + def period(self) -> pulumi.Output[Optional[int]]: + """ + The validity period of the log theme is 30 days by default when not filled in. + """ + return pulumi.get(self, "period") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Log Status. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/tencentcloud_iac_pulumi/mysql/instance.py b/sdk/python/tencentcloud_iac_pulumi/mysql/instance.py index 5123ce2d8..2808b73f5 100644 --- a/sdk/python/tencentcloud_iac_pulumi/mysql/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/mysql/instance.py @@ -22,6 +22,7 @@ def __init__(__self__, *, charge_type: Optional[pulumi.Input[str]] = None, cpu: Optional[pulumi.Input[int]] = None, device_type: Optional[pulumi.Input[str]] = None, + engine_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, fast_upgrade: Optional[pulumi.Input[int]] = None, first_slave_zone: Optional[pulumi.Input[str]] = None, @@ -55,6 +56,7 @@ def __init__(__self__, *, :param pulumi.Input[str] charge_type: Pay type of instance. Valid values:`PREPAID`, `POSTPAID`. Default is `POSTPAID`. :param pulumi.Input[int] cpu: CPU cores. :param pulumi.Input[str] device_type: Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. + :param pulumi.Input[str] engine_type: Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. :param pulumi.Input[str] engine_version: The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. :param pulumi.Input[int] fast_upgrade: Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. :param pulumi.Input[str] first_slave_zone: Zone information about first slave instance. @@ -92,6 +94,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cpu", cpu) if device_type is not None: pulumi.set(__self__, "device_type", device_type) + if engine_type is not None: + pulumi.set(__self__, "engine_type", engine_type) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) if fast_upgrade is not None: @@ -241,6 +245,18 @@ def device_type(self) -> Optional[pulumi.Input[str]]: def device_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "device_type", value) + @property + @pulumi.getter(name="engineType") + def engine_type(self) -> Optional[pulumi.Input[str]]: + """ + Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + """ + return pulumi.get(self, "engine_type") + + @engine_type.setter + def engine_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "engine_type", value) + @property @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: @@ -532,6 +548,7 @@ def __init__(__self__, *, charge_type: Optional[pulumi.Input[str]] = None, cpu: Optional[pulumi.Input[int]] = None, device_type: Optional[pulumi.Input[str]] = None, + engine_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, fast_upgrade: Optional[pulumi.Input[int]] = None, first_slave_zone: Optional[pulumi.Input[str]] = None, @@ -572,6 +589,7 @@ def __init__(__self__, *, :param pulumi.Input[str] charge_type: Pay type of instance. Valid values:`PREPAID`, `POSTPAID`. Default is `POSTPAID`. :param pulumi.Input[int] cpu: CPU cores. :param pulumi.Input[str] device_type: Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. + :param pulumi.Input[str] engine_type: Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. :param pulumi.Input[str] engine_version: The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. :param pulumi.Input[int] fast_upgrade: Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. :param pulumi.Input[str] first_slave_zone: Zone information about first slave instance. @@ -616,6 +634,8 @@ def __init__(__self__, *, pulumi.set(__self__, "cpu", cpu) if device_type is not None: pulumi.set(__self__, "device_type", device_type) + if engine_type is not None: + pulumi.set(__self__, "engine_type", engine_type) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) if fast_upgrade is not None: @@ -749,6 +769,18 @@ def device_type(self) -> Optional[pulumi.Input[str]]: def device_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "device_type", value) + @property + @pulumi.getter(name="engineType") + def engine_type(self) -> Optional[pulumi.Input[str]]: + """ + Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + """ + return pulumi.get(self, "engine_type") + + @engine_type.setter + def engine_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "engine_type", value) + @property @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: @@ -1162,6 +1194,7 @@ def __init__(__self__, charge_type: Optional[pulumi.Input[str]] = None, cpu: Optional[pulumi.Input[int]] = None, device_type: Optional[pulumi.Input[str]] = None, + engine_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, fast_upgrade: Optional[pulumi.Input[int]] = None, first_slave_zone: Optional[pulumi.Input[str]] = None, @@ -1287,6 +1320,7 @@ def __init__(__self__, :param pulumi.Input[str] charge_type: Pay type of instance. Valid values:`PREPAID`, `POSTPAID`. Default is `POSTPAID`. :param pulumi.Input[int] cpu: CPU cores. :param pulumi.Input[str] device_type: Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. + :param pulumi.Input[str] engine_type: Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. :param pulumi.Input[str] engine_version: The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. :param pulumi.Input[int] fast_upgrade: Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. :param pulumi.Input[str] first_slave_zone: Zone information about first slave instance. @@ -1431,6 +1465,7 @@ def _internal_init(__self__, charge_type: Optional[pulumi.Input[str]] = None, cpu: Optional[pulumi.Input[int]] = None, device_type: Optional[pulumi.Input[str]] = None, + engine_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, fast_upgrade: Optional[pulumi.Input[int]] = None, first_slave_zone: Optional[pulumi.Input[str]] = None, @@ -1471,6 +1506,7 @@ def _internal_init(__self__, __props__.__dict__["charge_type"] = charge_type __props__.__dict__["cpu"] = cpu __props__.__dict__["device_type"] = device_type + __props__.__dict__["engine_type"] = engine_type __props__.__dict__["engine_version"] = engine_version __props__.__dict__["fast_upgrade"] = fast_upgrade __props__.__dict__["first_slave_zone"] = first_slave_zone @@ -1527,6 +1563,7 @@ def get(resource_name: str, charge_type: Optional[pulumi.Input[str]] = None, cpu: Optional[pulumi.Input[int]] = None, device_type: Optional[pulumi.Input[str]] = None, + engine_type: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, fast_upgrade: Optional[pulumi.Input[int]] = None, first_slave_zone: Optional[pulumi.Input[str]] = None, @@ -1572,6 +1609,7 @@ def get(resource_name: str, :param pulumi.Input[str] charge_type: Pay type of instance. Valid values:`PREPAID`, `POSTPAID`. Default is `POSTPAID`. :param pulumi.Input[int] cpu: CPU cores. :param pulumi.Input[str] device_type: Specify device type, available values: `UNIVERSAL` (default), `EXCLUSIVE`, `BASIC`. + :param pulumi.Input[str] engine_type: Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. :param pulumi.Input[str] engine_version: The version number of the database engine to use. Supported versions include 5.5/5.6/5.7/8.0, and default is 5.7. Upgrade the instance engine version to support 5.6/5.7 and switch immediately. :param pulumi.Input[int] fast_upgrade: Specify whether to enable fast upgrade when upgrade instance spec, available value: `1` - enabled, `0` - disabled. :param pulumi.Input[str] first_slave_zone: Zone information about first slave instance. @@ -1615,6 +1653,7 @@ def get(resource_name: str, __props__.__dict__["charge_type"] = charge_type __props__.__dict__["cpu"] = cpu __props__.__dict__["device_type"] = device_type + __props__.__dict__["engine_type"] = engine_type __props__.__dict__["engine_version"] = engine_version __props__.__dict__["fast_upgrade"] = fast_upgrade __props__.__dict__["first_slave_zone"] = first_slave_zone @@ -1690,6 +1729,14 @@ def device_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "device_type") + @property + @pulumi.getter(name="engineType") + def engine_type(self) -> pulumi.Output[str]: + """ + Instance engine type. The default value is `InnoDB`. Supported values include `InnoDB` and `RocksDB`. + """ + return pulumi.get(self, "engine_type") + @property @pulumi.getter(name="engineVersion") def engine_version(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/mysql/readonly_instance.py b/sdk/python/tencentcloud_iac_pulumi/mysql/readonly_instance.py index d13a75d91..cb52e48fe 100644 --- a/sdk/python/tencentcloud_iac_pulumi/mysql/readonly_instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/mysql/readonly_instance.py @@ -30,6 +30,7 @@ def __init__(__self__, *, pay_type: Optional[pulumi.Input[int]] = None, period: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + ro_group_id: Optional[pulumi.Input[str]] = None, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slave_deploy_mode: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -55,6 +56,7 @@ def __init__(__self__, *, :param pulumi.Input[int] pay_type: It has been deprecated from version 1.36.0. Please use `charge_type` instead. Pay type of instance. Valid values: `0`, `1`. `0`: prepaid, `1`: postpaid. :param pulumi.Input[int] period: It has been deprecated from version 1.36.0. Please use `prepaid_period` instead. Period of instance. NOTES: Only supported prepaid instance. :param pulumi.Input[int] prepaid_period: Period of instance. NOTES: Only supported prepaid instance. + :param pulumi.Input[str] ro_group_id: Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security groups to use. :param pulumi.Input[int] slave_deploy_mode: Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. :param pulumi.Input[str] subnet_id: Private network ID. If `vpc_id` is set, this value is required. @@ -97,6 +99,8 @@ def __init__(__self__, *, pulumi.set(__self__, "period", period) if prepaid_period is not None: pulumi.set(__self__, "prepaid_period", prepaid_period) + if ro_group_id is not None: + pulumi.set(__self__, "ro_group_id", ro_group_id) if security_groups is not None: pulumi.set(__self__, "security_groups", security_groups) if slave_deploy_mode is not None: @@ -310,6 +314,18 @@ def prepaid_period(self) -> Optional[pulumi.Input[int]]: def prepaid_period(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "prepaid_period", value) + @property + @pulumi.getter(name="roGroupId") + def ro_group_id(self) -> Optional[pulumi.Input[str]]: + """ + Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + """ + return pulumi.get(self, "ro_group_id") + + @ro_group_id.setter + def ro_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ro_group_id", value) + @property @pulumi.getter(name="securityGroups") def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -415,6 +431,7 @@ def __init__(__self__, *, pay_type: Optional[pulumi.Input[int]] = None, period: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + ro_group_id: Optional[pulumi.Input[str]] = None, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slave_deploy_mode: Optional[pulumi.Input[int]] = None, status: Optional[pulumi.Input[int]] = None, @@ -444,6 +461,7 @@ def __init__(__self__, *, :param pulumi.Input[int] pay_type: It has been deprecated from version 1.36.0. Please use `charge_type` instead. Pay type of instance. Valid values: `0`, `1`. `0`: prepaid, `1`: postpaid. :param pulumi.Input[int] period: It has been deprecated from version 1.36.0. Please use `prepaid_period` instead. Period of instance. NOTES: Only supported prepaid instance. :param pulumi.Input[int] prepaid_period: Period of instance. NOTES: Only supported prepaid instance. + :param pulumi.Input[str] ro_group_id: Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security groups to use. :param pulumi.Input[int] slave_deploy_mode: Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. :param pulumi.Input[int] status: Instance status. Valid values: `0`, `1`, `4`, `5`. `0` - Creating; `1` - Running; `4` - Isolating; `5` - Isolated. @@ -495,6 +513,8 @@ def __init__(__self__, *, pulumi.set(__self__, "period", period) if prepaid_period is not None: pulumi.set(__self__, "prepaid_period", prepaid_period) + if ro_group_id is not None: + pulumi.set(__self__, "ro_group_id", ro_group_id) if security_groups is not None: pulumi.set(__self__, "security_groups", security_groups) if slave_deploy_mode is not None: @@ -726,6 +746,18 @@ def prepaid_period(self) -> Optional[pulumi.Input[int]]: def prepaid_period(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "prepaid_period", value) + @property + @pulumi.getter(name="roGroupId") + def ro_group_id(self) -> Optional[pulumi.Input[str]]: + """ + Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + """ + return pulumi.get(self, "ro_group_id") + + @ro_group_id.setter + def ro_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ro_group_id", value) + @property @pulumi.getter(name="securityGroups") def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -867,6 +899,7 @@ def __init__(__self__, pay_type: Optional[pulumi.Input[int]] = None, period: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + ro_group_id: Optional[pulumi.Input[str]] = None, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slave_deploy_mode: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -960,6 +993,7 @@ def __init__(__self__, :param pulumi.Input[int] pay_type: It has been deprecated from version 1.36.0. Please use `charge_type` instead. Pay type of instance. Valid values: `0`, `1`. `0`: prepaid, `1`: postpaid. :param pulumi.Input[int] period: It has been deprecated from version 1.36.0. Please use `prepaid_period` instead. Period of instance. NOTES: Only supported prepaid instance. :param pulumi.Input[int] prepaid_period: Period of instance. NOTES: Only supported prepaid instance. + :param pulumi.Input[str] ro_group_id: Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security groups to use. :param pulumi.Input[int] slave_deploy_mode: Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. :param pulumi.Input[str] subnet_id: Private network ID. If `vpc_id` is set, this value is required. @@ -1072,6 +1106,7 @@ def _internal_init(__self__, pay_type: Optional[pulumi.Input[int]] = None, period: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + ro_group_id: Optional[pulumi.Input[str]] = None, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slave_deploy_mode: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -1110,6 +1145,7 @@ def _internal_init(__self__, __props__.__dict__["pay_type"] = pay_type __props__.__dict__["period"] = period __props__.__dict__["prepaid_period"] = prepaid_period + __props__.__dict__["ro_group_id"] = ro_group_id __props__.__dict__["security_groups"] = security_groups __props__.__dict__["slave_deploy_mode"] = slave_deploy_mode __props__.__dict__["subnet_id"] = subnet_id @@ -1151,6 +1187,7 @@ def get(resource_name: str, pay_type: Optional[pulumi.Input[int]] = None, period: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + ro_group_id: Optional[pulumi.Input[str]] = None, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, slave_deploy_mode: Optional[pulumi.Input[int]] = None, status: Optional[pulumi.Input[int]] = None, @@ -1185,6 +1222,7 @@ def get(resource_name: str, :param pulumi.Input[int] pay_type: It has been deprecated from version 1.36.0. Please use `charge_type` instead. Pay type of instance. Valid values: `0`, `1`. `0`: prepaid, `1`: postpaid. :param pulumi.Input[int] period: It has been deprecated from version 1.36.0. Please use `prepaid_period` instead. Period of instance. NOTES: Only supported prepaid instance. :param pulumi.Input[int] prepaid_period: Period of instance. NOTES: Only supported prepaid instance. + :param pulumi.Input[str] ro_group_id: Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security groups to use. :param pulumi.Input[int] slave_deploy_mode: Availability zone deployment method. Available values: 0 - Single availability zone; 1 - Multiple availability zones. :param pulumi.Input[int] status: Instance status. Valid values: `0`, `1`, `4`, `5`. `0` - Creating; `1` - Running; `4` - Isolating; `5` - Isolated. @@ -1217,6 +1255,7 @@ def get(resource_name: str, __props__.__dict__["pay_type"] = pay_type __props__.__dict__["period"] = period __props__.__dict__["prepaid_period"] = prepaid_period + __props__.__dict__["ro_group_id"] = ro_group_id __props__.__dict__["security_groups"] = security_groups __props__.__dict__["slave_deploy_mode"] = slave_deploy_mode __props__.__dict__["status"] = status @@ -1371,6 +1410,14 @@ def prepaid_period(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "prepaid_period") + @property + @pulumi.getter(name="roGroupId") + def ro_group_id(self) -> pulumi.Output[str]: + """ + Read only group id. If rogroupId is empty, a new ro group is created by default. If it is not empty, the existing ro group is used. + """ + return pulumi.get(self, "ro_group_id") + @property @pulumi.getter(name="securityGroups") def security_groups(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/mysql/ssl.py b/sdk/python/tencentcloud_iac_pulumi/mysql/ssl.py new file mode 100644 index 000000000..fe47da589 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/mysql/ssl.py @@ -0,0 +1,264 @@ +# 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__ = ['SslArgs', 'Ssl'] + +@pulumi.input_type +class SslArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + status: pulumi.Input[str]): + """ + The set of arguments for constructing a Ssl resource. + :param pulumi.Input[str] instance_id: Instance ID. Example value: cdb-c1nl9rpv. + :param pulumi.Input[str] status: Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + Instance ID. Example value: cdb-c1nl9rpv. + """ + 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 + def status(self) -> pulumi.Input[str]: + """ + Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[str]): + pulumi.set(self, "status", value) + + +@pulumi.input_type +class _SslState: + def __init__(__self__, *, + instance_id: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Ssl resources. + :param pulumi.Input[str] instance_id: Instance ID. Example value: cdb-c1nl9rpv. + :param pulumi.Input[str] status: Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + :param pulumi.Input[str] url: The certificate download link. Example value: http://testdownload.url. + """ + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if status is not None: + pulumi.set(__self__, "status", status) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance ID. Example value: cdb-c1nl9rpv. + """ + 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 + def status(self) -> Optional[pulumi.Input[str]]: + """ + Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + The certificate download link. Example value: http://testdownload.url. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +class Ssl(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + instance_id: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a mysql ssl + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + ssl = tencentcloud.mysql.Ssl("ssl", + instance_id="cdb-j5rprr8n", + status="OFF") + ``` + + + ## Import + + mysql ssl can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mysql/ssl:Ssl ssl 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. Example value: cdb-c1nl9rpv. + :param pulumi.Input[str] status: Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SslArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a mysql ssl + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + ssl = tencentcloud.mysql.Ssl("ssl", + instance_id="cdb-j5rprr8n", + status="OFF") + ``` + + + ## Import + + mysql ssl can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mysql/ssl:Ssl ssl instanceId + ``` + + :param str resource_name: The name of the resource. + :param SslArgs 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(SslArgs, 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, + status: 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__ = SslArgs.__new__(SslArgs) + + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + if status is None and not opts.urn: + raise TypeError("Missing required property 'status'") + __props__.__dict__["status"] = status + __props__.__dict__["url"] = None + super(Ssl, __self__).__init__( + 'tencentcloud:Mysql/ssl:Ssl', + 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, + status: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None) -> 'Ssl': + """ + Get an existing Ssl 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. Example value: cdb-c1nl9rpv. + :param pulumi.Input[str] status: Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + :param pulumi.Input[str] url: The certificate download link. Example value: http://testdownload.url. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SslState.__new__(_SslState) + + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["status"] = status + __props__.__dict__["url"] = url + return Ssl(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + Instance ID. Example value: cdb-c1nl9rpv. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + Whether to enable SSL. `ON` means enabled, `OFF` means not enabled. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def url(self) -> pulumi.Output[str]: + """ + The certificate download link. Example value: http://testdownload.url. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py b/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py index ce0d0217a..e4525bd12 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/__init__.py @@ -11,6 +11,7 @@ from .get_org_financial_by_month import * from .get_org_financial_by_product import * from .get_org_share_area import * +from .get_services import * from .instance import * from .org_identity import * from .org_manage_policy import * @@ -25,5 +26,6 @@ from .org_share_unit_member import * from .policy_sub_account_attachment import * from .quit_organization_operation import * +from .service_assign import * from ._inputs import * from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/get_services.py b/sdk/python/tencentcloud_iac_pulumi/organization/get_services.py new file mode 100644 index 000000000..78cd7f53a --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/organization/get_services.py @@ -0,0 +1,160 @@ +# 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 + +__all__ = [ + 'GetServicesResult', + 'AwaitableGetServicesResult', + 'get_services', + 'get_services_output', +] + +@pulumi.output_type +class GetServicesResult: + """ + A collection of values returned by getServices. + """ + def __init__(__self__, id=None, items=None, result_output_file=None, search_key=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if items and not isinstance(items, list): + raise TypeError("Expected argument 'items' to be a list") + pulumi.set(__self__, "items", items) + 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) + if search_key and not isinstance(search_key, str): + raise TypeError("Expected argument 'search_key' to be a str") + pulumi.set(__self__, "search_key", search_key) + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def items(self) -> Sequence['outputs.GetServicesItemResult']: + """ + Organization service list. + """ + return pulumi.get(self, "items") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="searchKey") + def search_key(self) -> Optional[str]: + return pulumi.get(self, "search_key") + + +class AwaitableGetServicesResult(GetServicesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetServicesResult( + id=self.id, + items=self.items, + result_output_file=self.result_output_file, + search_key=self.search_key) + + +def get_services(result_output_file: Optional[str] = None, + search_key: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServicesResult: + """ + Use this data source to query detailed information of organization services + + ## Example Usage + + ### Query all organization services + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + services = tencentcloud.Organization.get_services() + ``` + + + ### Query organization services by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + services = tencentcloud.Organization.get_services(search_key="KeyWord") + ``` + + + + :param str result_output_file: Used to save results. + :param str search_key: Keyword for search by name. + """ + __args__ = dict() + __args__['resultOutputFile'] = result_output_file + __args__['searchKey'] = search_key + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Organization/getServices:getServices', __args__, opts=opts, typ=GetServicesResult).value + + return AwaitableGetServicesResult( + id=pulumi.get(__ret__, 'id'), + items=pulumi.get(__ret__, 'items'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + search_key=pulumi.get(__ret__, 'search_key')) + + +@_utilities.lift_output_func(get_services) +def get_services_output(result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + search_key: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServicesResult]: + """ + Use this data source to query detailed information of organization services + + ## Example Usage + + ### Query all organization services + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + services = tencentcloud.Organization.get_services() + ``` + + + ### Query organization services by filter + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + services = tencentcloud.Organization.get_services(search_key="KeyWord") + ``` + + + + :param str result_output_file: Used to save results. + :param str search_key: Keyword for search by name. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/instance.py b/sdk/python/tencentcloud_iac_pulumi/organization/instance.py index 674957530..0241643b9 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/instance.py @@ -15,11 +15,26 @@ @pulumi.input_type class InstanceArgs: - def __init__(__self__): + def __init__(__self__, *, + root_node_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Instance resource. + :param pulumi.Input[str] root_node_name: Root node name. + """ + if root_node_name is not None: + pulumi.set(__self__, "root_node_name", root_node_name) + + @property + @pulumi.getter(name="rootNodeName") + def root_node_name(self) -> Optional[pulumi.Input[str]]: """ - pass + Root node name. + """ + return pulumi.get(self, "root_node_name") + + @root_node_name.setter + def root_node_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "root_node_name", value) @pulumi.input_type @@ -40,7 +55,8 @@ def __init__(__self__, *, org_type: Optional[pulumi.Input[int]] = None, pay_name: Optional[pulumi.Input[str]] = None, pay_uin: Optional[pulumi.Input[str]] = None, - root_node_id: Optional[pulumi.Input[int]] = None): + root_node_id: Optional[pulumi.Input[int]] = None, + root_node_name: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Instance resources. :param pulumi.Input[str] create_time: Organize the creation time.Note: This field may return NULL, indicating that the valid value cannot be obtained. @@ -59,6 +75,7 @@ def __init__(__self__, *, :param pulumi.Input[str] pay_name: The name of the payment.Note: This field may return NULL, indicating that the valid value cannot be obtained. :param pulumi.Input[str] pay_uin: UIN on behalf of the payer.Note: This field may return NULL, indicating that the valid value cannot be obtained. :param pulumi.Input[int] root_node_id: Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained. + :param pulumi.Input[str] root_node_name: Root node name. """ if create_time is not None: pulumi.set(__self__, "create_time", create_time) @@ -92,6 +109,8 @@ def __init__(__self__, *, pulumi.set(__self__, "pay_uin", pay_uin) if root_node_id is not None: pulumi.set(__self__, "root_node_id", root_node_id) + if root_node_name is not None: + pulumi.set(__self__, "root_node_name", root_node_name) @property @pulumi.getter(name="createTime") @@ -285,12 +304,25 @@ def root_node_id(self) -> Optional[pulumi.Input[int]]: def root_node_id(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "root_node_id", value) + @property + @pulumi.getter(name="rootNodeName") + def root_node_name(self) -> Optional[pulumi.Input[str]]: + """ + Root node name. + """ + return pulumi.get(self, "root_node_name") + + @root_node_name.setter + def root_node_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "root_node_name", value) + class Instance(pulumi.CustomResource): @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + root_node_name: Optional[pulumi.Input[str]] = None, __props__=None): """ Provides a resource to create a organization organization @@ -316,6 +348,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] root_node_name: Root node name. """ ... @overload @@ -360,6 +393,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + root_node_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -369,6 +403,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = InstanceArgs.__new__(InstanceArgs) + __props__.__dict__["root_node_name"] = root_node_name __props__.__dict__["create_time"] = None __props__.__dict__["host_uin"] = None __props__.__dict__["is_allow_quit"] = None @@ -410,7 +445,8 @@ def get(resource_name: str, org_type: Optional[pulumi.Input[int]] = None, pay_name: Optional[pulumi.Input[str]] = None, pay_uin: Optional[pulumi.Input[str]] = None, - root_node_id: Optional[pulumi.Input[int]] = None) -> 'Instance': + root_node_id: Optional[pulumi.Input[int]] = None, + root_node_name: Optional[pulumi.Input[str]] = None) -> 'Instance': """ Get an existing Instance resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -434,6 +470,7 @@ def get(resource_name: str, :param pulumi.Input[str] pay_name: The name of the payment.Note: This field may return NULL, indicating that the valid value cannot be obtained. :param pulumi.Input[str] pay_uin: UIN on behalf of the payer.Note: This field may return NULL, indicating that the valid value cannot be obtained. :param pulumi.Input[int] root_node_id: Organize the root node ID.Note: This field may return NULL, indicating that the valid value cannot be obtained. + :param pulumi.Input[str] root_node_name: Root node name. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -455,6 +492,7 @@ def get(resource_name: str, __props__.__dict__["pay_name"] = pay_name __props__.__dict__["pay_uin"] = pay_uin __props__.__dict__["root_node_id"] = root_node_id + __props__.__dict__["root_node_name"] = root_node_name return Instance(resource_name, opts=opts, __props__=__props__) @property @@ -585,3 +623,11 @@ def root_node_id(self) -> pulumi.Output[int]: """ return pulumi.get(self, "root_node_id") + @property + @pulumi.getter(name="rootNodeName") + def root_node_name(self) -> pulumi.Output[str]: + """ + Root node name. + """ + return pulumi.get(self, "root_node_name") + diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/org_member.py b/sdk/python/tencentcloud_iac_pulumi/organization/org_member.py index f887b1eff..494b99e91 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/org_member.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/org_member.py @@ -22,7 +22,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, pay_uin: Optional[pulumi.Input[str]] = None, record_id: Optional[pulumi.Input[int]] = None, - remark: Optional[pulumi.Input[str]] = None): + remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ The set of arguments for constructing a OrgMember resource. :param pulumi.Input[int] node_id: Organization node ID. @@ -32,6 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[str] pay_uin: The uin which is payment account on behalf.When `PermissionIds` contains 7, is required. :param pulumi.Input[int] record_id: Create member record ID.When create failed and needs to be recreated, is required. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. """ pulumi.set(__self__, "node_id", node_id) pulumi.set(__self__, "permission_ids", permission_ids) @@ -44,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "record_id", record_id) if remark is not None: pulumi.set(__self__, "remark", remark) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property @pulumi.getter(name="nodeId") @@ -129,6 +133,18 @@ def remark(self) -> Optional[pulumi.Input[str]]: def remark(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "remark", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Tag description list. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "tags", value) + @pulumi.input_type class _OrgMemberState: @@ -147,6 +163,7 @@ def __init__(__self__, *, policy_type: Optional[pulumi.Input[str]] = None, record_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, update_time: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering OrgMember resources. @@ -164,6 +181,7 @@ def __init__(__self__, *, :param pulumi.Input[str] policy_type: Organization policy type.- `Financial`: Financial management policy. :param pulumi.Input[int] record_id: Create member record ID.When create failed and needs to be recreated, is required. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] update_time: Member update time. """ if create_time is not None: @@ -194,6 +212,8 @@ def __init__(__self__, *, pulumi.set(__self__, "record_id", record_id) if remark is not None: pulumi.set(__self__, "remark", remark) + if tags is not None: + pulumi.set(__self__, "tags", tags) if update_time is not None: pulumi.set(__self__, "update_time", update_time) @@ -365,6 +385,18 @@ def remark(self) -> Optional[pulumi.Input[str]]: def remark(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "remark", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Tag description list. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "tags", value) + @property @pulumi.getter(name="updateTime") def update_time(self) -> Optional[pulumi.Input[str]]: @@ -390,6 +422,7 @@ def __init__(__self__, policy_type: Optional[pulumi.Input[str]] = None, record_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): """ Provides a resource to create a organization org_member @@ -431,6 +464,7 @@ def __init__(__self__, :param pulumi.Input[str] policy_type: Organization policy type.- `Financial`: Financial management policy. :param pulumi.Input[int] record_id: Create member record ID.When create failed and needs to be recreated, is required. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. """ ... @overload @@ -491,6 +525,7 @@ def _internal_init(__self__, policy_type: Optional[pulumi.Input[str]] = None, record_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -513,6 +548,7 @@ def _internal_init(__self__, __props__.__dict__["policy_type"] = policy_type __props__.__dict__["record_id"] = record_id __props__.__dict__["remark"] = remark + __props__.__dict__["tags"] = tags __props__.__dict__["create_time"] = None __props__.__dict__["is_allow_quit"] = None __props__.__dict__["member_type"] = None @@ -545,6 +581,7 @@ def get(resource_name: str, policy_type: Optional[pulumi.Input[str]] = None, record_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, update_time: Optional[pulumi.Input[str]] = None) -> 'OrgMember': """ Get an existing OrgMember resource's state with the given name, id, and optional extra @@ -567,6 +604,7 @@ def get(resource_name: str, :param pulumi.Input[str] policy_type: Organization policy type.- `Financial`: Financial management policy. :param pulumi.Input[int] record_id: Create member record ID.When create failed and needs to be recreated, is required. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] update_time: Member update time. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -587,6 +625,7 @@ def get(resource_name: str, __props__.__dict__["policy_type"] = policy_type __props__.__dict__["record_id"] = record_id __props__.__dict__["remark"] = remark + __props__.__dict__["tags"] = tags __props__.__dict__["update_time"] = update_time return OrgMember(resource_name, opts=opts, __props__=__props__) @@ -702,6 +741,14 @@ def remark(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "remark") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + """ + Tag description list. + """ + return pulumi.get(self, "tags") + @property @pulumi.getter(name="updateTime") def update_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/org_node.py b/sdk/python/tencentcloud_iac_pulumi/organization/org_node.py index dc4d2a725..9b89884c8 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/org_node.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/org_node.py @@ -16,18 +16,22 @@ class OrgNodeArgs: def __init__(__self__, *, parent_node_id: pulumi.Input[int], name: Optional[pulumi.Input[str]] = None, - remark: Optional[pulumi.Input[str]] = None): + remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ The set of arguments for constructing a OrgNode resource. :param pulumi.Input[int] parent_node_id: Parent node ID. :param pulumi.Input[str] name: Node name. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. """ pulumi.set(__self__, "parent_node_id", parent_node_id) if name is not None: pulumi.set(__self__, "name", name) if remark is not None: pulumi.set(__self__, "remark", remark) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property @pulumi.getter(name="parentNodeId") @@ -65,6 +69,18 @@ def remark(self) -> Optional[pulumi.Input[str]]: def remark(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "remark", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Tag description list. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "tags", value) + @pulumi.input_type class _OrgNodeState: @@ -73,6 +89,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, parent_node_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, update_time: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering OrgNode resources. @@ -80,6 +97,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Node name. :param pulumi.Input[int] parent_node_id: Parent node ID. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] update_time: Node update time. """ if create_time is not None: @@ -90,6 +108,8 @@ def __init__(__self__, *, pulumi.set(__self__, "parent_node_id", parent_node_id) if remark is not None: pulumi.set(__self__, "remark", remark) + if tags is not None: + pulumi.set(__self__, "tags", tags) if update_time is not None: pulumi.set(__self__, "update_time", update_time) @@ -141,6 +161,18 @@ def remark(self) -> Optional[pulumi.Input[str]]: def remark(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "remark", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Tag description list. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "tags", value) + @property @pulumi.getter(name="updateTime") def update_time(self) -> Optional[pulumi.Input[str]]: @@ -162,6 +194,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, parent_node_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): """ Provides a resource to create a organization org_node @@ -192,6 +225,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Node name. :param pulumi.Input[int] parent_node_id: Parent node ID. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. """ ... @overload @@ -241,6 +275,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, parent_node_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -255,6 +290,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'parent_node_id'") __props__.__dict__["parent_node_id"] = parent_node_id __props__.__dict__["remark"] = remark + __props__.__dict__["tags"] = tags __props__.__dict__["create_time"] = None __props__.__dict__["update_time"] = None super(OrgNode, __self__).__init__( @@ -271,6 +307,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, parent_node_id: Optional[pulumi.Input[int]] = None, remark: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, update_time: Optional[pulumi.Input[str]] = None) -> 'OrgNode': """ Get an existing OrgNode resource's state with the given name, id, and optional extra @@ -283,6 +320,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: Node name. :param pulumi.Input[int] parent_node_id: Parent node ID. :param pulumi.Input[str] remark: Notes. + :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] update_time: Node update time. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -293,6 +331,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["parent_node_id"] = parent_node_id __props__.__dict__["remark"] = remark + __props__.__dict__["tags"] = tags __props__.__dict__["update_time"] = update_time return OrgNode(resource_name, opts=opts, __props__=__props__) @@ -328,6 +367,14 @@ def remark(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "remark") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, Any]]]: + """ + Tag description list. + """ + return pulumi.get(self, "tags") + @property @pulumi.getter(name="updateTime") def update_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/outputs.py b/sdk/python/tencentcloud_iac_pulumi/organization/outputs.py index 3682e330d..d1e946a97 100644 --- a/sdk/python/tencentcloud_iac_pulumi/organization/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/organization/outputs.py @@ -24,6 +24,7 @@ 'GetOrgFinancialByMonthItemResult', 'GetOrgFinancialByProductItemResult', 'GetOrgShareAreaItemResult', + 'GetServicesItemResult', ] @pulumi.output_type @@ -715,3 +716,155 @@ def name(self) -> str: return pulumi.get(self, "name") +@pulumi.output_type +class GetServicesItemResult(dict): + def __init__(__self__, *, + can_assign_count: int, + console_url: str, + description: str, + document: str, + grant_status: str, + is_assign: int, + is_set_management_scope: int, + is_usage_status: int, + member_num: str, + product: str, + product_name: str, + service_grant: int, + service_id: int): + """ + :param int can_assign_count: Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + :param str console_url: Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained. + :param str description: Organization service description. Note: This field may return null, indicating that no valid values can be obtained. + :param str document: Help documentation. Note: This field may return null, indicating that no valid values can be obtained. + :param str grant_status: Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained. + :param int is_assign: Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + :param int is_set_management_scope: Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no). + Note: This field may return null, indicating that no valid values can be obtained. + :param int is_usage_status: Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + :param str member_num: Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + :param str product: Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained. + :param str product_name: Organization service product name. Note: This field may return null, indicating that no valid values can be obtained. + :param int service_grant: Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + :param int service_id: Organization service ID. Note: This field may return null, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "can_assign_count", can_assign_count) + pulumi.set(__self__, "console_url", console_url) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "document", document) + pulumi.set(__self__, "grant_status", grant_status) + pulumi.set(__self__, "is_assign", is_assign) + pulumi.set(__self__, "is_set_management_scope", is_set_management_scope) + pulumi.set(__self__, "is_usage_status", is_usage_status) + pulumi.set(__self__, "member_num", member_num) + pulumi.set(__self__, "product", product) + pulumi.set(__self__, "product_name", product_name) + pulumi.set(__self__, "service_grant", service_grant) + pulumi.set(__self__, "service_id", service_id) + + @property + @pulumi.getter(name="canAssignCount") + def can_assign_count(self) -> int: + """ + Limit for the number of delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "can_assign_count") + + @property + @pulumi.getter(name="consoleUrl") + def console_url(self) -> str: + """ + Console path of the organization service product. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "console_url") + + @property + @pulumi.getter + def description(self) -> str: + """ + Organization service description. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def document(self) -> str: + """ + Help documentation. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "document") + + @property + @pulumi.getter(name="grantStatus") + def grant_status(self) -> str: + """ + Enabling status of organization service authorization. This field is valid when ServiceGrant is 1. Valid values: Enabled, Disabled. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "grant_status") + + @property + @pulumi.getter(name="isAssign") + def is_assign(self) -> int: + """ + Whether to support delegation. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "is_assign") + + @property + @pulumi.getter(name="isSetManagementScope") + def is_set_management_scope(self) -> int: + """ + Whether to support setting the delegated management scope. Valid values: 1 (yes), 2 (no). + Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "is_set_management_scope") + + @property + @pulumi.getter(name="isUsageStatus") + def is_usage_status(self) -> int: + """ + Whether to access the usage status. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "is_usage_status") + + @property + @pulumi.getter(name="memberNum") + def member_num(self) -> str: + """ + Number of the current delegated admins. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "member_num") + + @property + @pulumi.getter + def product(self) -> str: + """ + Organization service product identifier. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "product") + + @property + @pulumi.getter(name="productName") + def product_name(self) -> str: + """ + Organization service product name. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "product_name") + + @property + @pulumi.getter(name="serviceGrant") + def service_grant(self) -> int: + """ + Whether to support organization service authorization. Valid values: 1 (yes), 2 (no). Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "service_grant") + + @property + @pulumi.getter(name="serviceId") + def service_id(self) -> int: + """ + Organization service ID. Note: This field may return null, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "service_id") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/organization/service_assign.py b/sdk/python/tencentcloud_iac_pulumi/organization/service_assign.py new file mode 100644 index 000000000..e008ff0ba --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/organization/service_assign.py @@ -0,0 +1,431 @@ +# 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__ = ['ServiceAssignArgs', 'ServiceAssign'] + +@pulumi.input_type +class ServiceAssignArgs: + def __init__(__self__, *, + member_uins: pulumi.Input[Sequence[pulumi.Input[int]]], + service_id: pulumi.Input[int], + management_scope: Optional[pulumi.Input[int]] = None, + management_scope_node_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + management_scope_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None): + """ + The set of arguments for constructing a ServiceAssign resource. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uins: Uin list of the delegated admins, Including up to 20 items. + :param pulumi.Input[int] service_id: Organization service ID. + :param pulumi.Input[int] management_scope: Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_node_ids: ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_uins: Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + """ + pulumi.set(__self__, "member_uins", member_uins) + pulumi.set(__self__, "service_id", service_id) + if management_scope is not None: + pulumi.set(__self__, "management_scope", management_scope) + if management_scope_node_ids is not None: + pulumi.set(__self__, "management_scope_node_ids", management_scope_node_ids) + if management_scope_uins is not None: + pulumi.set(__self__, "management_scope_uins", management_scope_uins) + + @property + @pulumi.getter(name="memberUins") + def member_uins(self) -> pulumi.Input[Sequence[pulumi.Input[int]]]: + """ + Uin list of the delegated admins, Including up to 20 items. + """ + return pulumi.get(self, "member_uins") + + @member_uins.setter + def member_uins(self, value: pulumi.Input[Sequence[pulumi.Input[int]]]): + pulumi.set(self, "member_uins", value) + + @property + @pulumi.getter(name="serviceId") + def service_id(self) -> pulumi.Input[int]: + """ + Organization service ID. + """ + return pulumi.get(self, "service_id") + + @service_id.setter + def service_id(self, value: pulumi.Input[int]): + pulumi.set(self, "service_id", value) + + @property + @pulumi.getter(name="managementScope") + def management_scope(self) -> Optional[pulumi.Input[int]]: + """ + Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + """ + return pulumi.get(self, "management_scope") + + @management_scope.setter + def management_scope(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "management_scope", value) + + @property + @pulumi.getter(name="managementScopeNodeIds") + def management_scope_node_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + """ + return pulumi.get(self, "management_scope_node_ids") + + @management_scope_node_ids.setter + def management_scope_node_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "management_scope_node_ids", value) + + @property + @pulumi.getter(name="managementScopeUins") + def management_scope_uins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + """ + return pulumi.get(self, "management_scope_uins") + + @management_scope_uins.setter + def management_scope_uins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "management_scope_uins", value) + + +@pulumi.input_type +class _ServiceAssignState: + def __init__(__self__, *, + management_scope: Optional[pulumi.Input[int]] = None, + management_scope_node_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + management_scope_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + member_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + service_id: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering ServiceAssign resources. + :param pulumi.Input[int] management_scope: Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_node_ids: ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_uins: Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uins: Uin list of the delegated admins, Including up to 20 items. + :param pulumi.Input[int] service_id: Organization service ID. + """ + if management_scope is not None: + pulumi.set(__self__, "management_scope", management_scope) + if management_scope_node_ids is not None: + pulumi.set(__self__, "management_scope_node_ids", management_scope_node_ids) + if management_scope_uins is not None: + pulumi.set(__self__, "management_scope_uins", management_scope_uins) + if member_uins is not None: + pulumi.set(__self__, "member_uins", member_uins) + if service_id is not None: + pulumi.set(__self__, "service_id", service_id) + + @property + @pulumi.getter(name="managementScope") + def management_scope(self) -> Optional[pulumi.Input[int]]: + """ + Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + """ + return pulumi.get(self, "management_scope") + + @management_scope.setter + def management_scope(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "management_scope", value) + + @property + @pulumi.getter(name="managementScopeNodeIds") + def management_scope_node_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + """ + return pulumi.get(self, "management_scope_node_ids") + + @management_scope_node_ids.setter + def management_scope_node_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "management_scope_node_ids", value) + + @property + @pulumi.getter(name="managementScopeUins") + def management_scope_uins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + """ + return pulumi.get(self, "management_scope_uins") + + @management_scope_uins.setter + def management_scope_uins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "management_scope_uins", value) + + @property + @pulumi.getter(name="memberUins") + def member_uins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: + """ + Uin list of the delegated admins, Including up to 20 items. + """ + return pulumi.get(self, "member_uins") + + @member_uins.setter + def member_uins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): + pulumi.set(self, "member_uins", value) + + @property + @pulumi.getter(name="serviceId") + def service_id(self) -> Optional[pulumi.Input[int]]: + """ + Organization service ID. + """ + return pulumi.get(self, "service_id") + + @service_id.setter + def service_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "service_id", value) + + +class ServiceAssign(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + management_scope: Optional[pulumi.Input[int]] = None, + management_scope_node_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + management_scope_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + member_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + service_id: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + Provides a resource to create a organization service assign + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.organization.ServiceAssign("example", + management_scope=1, + member_uins=[ + 100037235241, + 100033738111, + ], + service_id=15) + ``` + + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.organization.ServiceAssign("example", + management_scope=2, + management_scope_node_ids=[ + 2024256, + 2024259, + ], + management_scope_uins=[ + 100019287759, + 100020537485, + ], + member_uins=[ + 100013415241, + 100078908111, + ], + service_id=15) + ``` + + + ## Import + + organization service assign can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Organization/serviceAssign:ServiceAssign example 15 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] management_scope: Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_node_ids: ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_uins: Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uins: Uin list of the delegated admins, Including up to 20 items. + :param pulumi.Input[int] service_id: Organization service ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ServiceAssignArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a organization service assign + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.organization.ServiceAssign("example", + management_scope=1, + member_uins=[ + 100037235241, + 100033738111, + ], + service_id=15) + ``` + + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + example = tencentcloud.organization.ServiceAssign("example", + management_scope=2, + management_scope_node_ids=[ + 2024256, + 2024259, + ], + management_scope_uins=[ + 100019287759, + 100020537485, + ], + member_uins=[ + 100013415241, + 100078908111, + ], + service_id=15) + ``` + + + ## Import + + organization service assign can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Organization/serviceAssign:ServiceAssign example 15 + ``` + + :param str resource_name: The name of the resource. + :param ServiceAssignArgs 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(ServiceAssignArgs, 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, + management_scope: Optional[pulumi.Input[int]] = None, + management_scope_node_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + management_scope_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + member_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + service_id: Optional[pulumi.Input[int]] = 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__ = ServiceAssignArgs.__new__(ServiceAssignArgs) + + __props__.__dict__["management_scope"] = management_scope + __props__.__dict__["management_scope_node_ids"] = management_scope_node_ids + __props__.__dict__["management_scope_uins"] = management_scope_uins + if member_uins is None and not opts.urn: + raise TypeError("Missing required property 'member_uins'") + __props__.__dict__["member_uins"] = member_uins + if service_id is None and not opts.urn: + raise TypeError("Missing required property 'service_id'") + __props__.__dict__["service_id"] = service_id + super(ServiceAssign, __self__).__init__( + 'tencentcloud:Organization/serviceAssign:ServiceAssign', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + management_scope: Optional[pulumi.Input[int]] = None, + management_scope_node_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + management_scope_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + member_uins: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + service_id: Optional[pulumi.Input[int]] = None) -> 'ServiceAssign': + """ + Get an existing ServiceAssign 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] management_scope: Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_node_ids: ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] management_scope_uins: Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + :param pulumi.Input[Sequence[pulumi.Input[int]]] member_uins: Uin list of the delegated admins, Including up to 20 items. + :param pulumi.Input[int] service_id: Organization service ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ServiceAssignState.__new__(_ServiceAssignState) + + __props__.__dict__["management_scope"] = management_scope + __props__.__dict__["management_scope_node_ids"] = management_scope_node_ids + __props__.__dict__["management_scope_uins"] = management_scope_uins + __props__.__dict__["member_uins"] = member_uins + __props__.__dict__["service_id"] = service_id + return ServiceAssign(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="managementScope") + def management_scope(self) -> pulumi.Output[int]: + """ + Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: `1`. + """ + return pulumi.get(self, "management_scope") + + @property + @pulumi.getter(name="managementScopeNodeIds") + def management_scope_node_ids(self) -> pulumi.Output[Optional[Sequence[int]]]: + """ + ID list of the managed departments. This parameter is valid when `management_scope` is `2`. + """ + return pulumi.get(self, "management_scope_node_ids") + + @property + @pulumi.getter(name="managementScopeUins") + def management_scope_uins(self) -> pulumi.Output[Optional[Sequence[int]]]: + """ + Uin list of the managed members. This parameter is valid when `management_scope` is `2`. + """ + return pulumi.get(self, "management_scope_uins") + + @property + @pulumi.getter(name="memberUins") + def member_uins(self) -> pulumi.Output[Sequence[int]]: + """ + Uin list of the delegated admins, Including up to 20 items. + """ + return pulumi.get(self, "member_uins") + + @property + @pulumi.getter(name="serviceId") + def service_id(self) -> pulumi.Output[int]: + """ + Organization service ID. + """ + return pulumi.get(self, "service_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/__init__.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/__init__.py index 9dd9a4abf..2a0127d9e 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/__init__.py @@ -5,15 +5,19 @@ from .. import _utilities import typing # Export this package's modules as members: +from .account import * +from .account_privileges_operation import * from .backup_download_restriction_config import * from .backup_plan_config import * from .base_backup import * from .delete_log_backup_operation import * from .disisolate_db_instance_operation import * +from .get_account_privileges import * from .get_backup_download_urls import * from .get_base_backups import * from .get_db_instance_classes import * from .get_db_instance_versions import * +from .get_dedicated_clusters import * from .get_default_parameters import * from .get_instances import * from .get_log_backups import * diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/_inputs.py index e86728926..7f99890fe 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/_inputs.py @@ -10,17 +10,201 @@ from .. import _utilities __all__ = [ + 'AccountPrivilegesOperationModifyPrivilegeSetArgs', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs', 'InstanceBackupPlanArgs', 'InstanceDbNodeSetArgs', 'ParameterTemplateModifyParamEntrySetArgs', 'ReadonlyGroupNetInfoListArgs', + 'GetAccountPrivilegesDatabaseObjectSetArgs', 'GetBackupDownloadUrlsBackupDownloadRestrictionArgs', 'GetBaseBackupsFilterArgs', + 'GetDedicatedClustersFilterArgs', 'GetLogBackupsFilterArgs', 'GetParameterTemplatesFilterArgs', 'GetReadonlyGroupsFilterArgs', ] +@pulumi.input_type +class AccountPrivilegesOperationModifyPrivilegeSetArgs: + def __init__(__self__, *, + database_privilege: Optional[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs']] = None, + is_cascade: Optional[pulumi.Input[bool]] = None, + modify_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs'] database_privilege: Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[bool] is_cascade: Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + :param pulumi.Input[str] modify_type: Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + """ + if database_privilege is not None: + pulumi.set(__self__, "database_privilege", database_privilege) + if is_cascade is not None: + pulumi.set(__self__, "is_cascade", is_cascade) + if modify_type is not None: + pulumi.set(__self__, "modify_type", modify_type) + + @property + @pulumi.getter(name="databasePrivilege") + def database_privilege(self) -> Optional[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs']]: + """ + Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "database_privilege") + + @database_privilege.setter + def database_privilege(self, value: Optional[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs']]): + pulumi.set(self, "database_privilege", value) + + @property + @pulumi.getter(name="isCascade") + def is_cascade(self) -> Optional[pulumi.Input[bool]]: + """ + Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + """ + return pulumi.get(self, "is_cascade") + + @is_cascade.setter + def is_cascade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_cascade", value) + + @property + @pulumi.getter(name="modifyType") + def modify_type(self) -> Optional[pulumi.Input[str]]: + """ + Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + """ + return pulumi.get(self, "modify_type") + + @modify_type.setter + def modify_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "modify_type", value) + + +@pulumi.input_type +class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs: + def __init__(__self__, *, + object: Optional[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs']] = None, + privilege_sets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs'] object: Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[Sequence[pulumi.Input[str]]] privilege_sets: Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + """ + if object is not None: + pulumi.set(__self__, "object", object) + if privilege_sets is not None: + pulumi.set(__self__, "privilege_sets", privilege_sets) + + @property + @pulumi.getter + def object(self) -> Optional[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs']]: + """ + Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object") + + @object.setter + def object(self, value: Optional[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs']]): + pulumi.set(self, "object", value) + + @property + @pulumi.getter(name="privilegeSets") + def privilege_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "privilege_sets") + + @privilege_sets.setter + def privilege_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "privilege_sets", value) + + +@pulumi.input_type +class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs: + def __init__(__self__, *, + object_name: pulumi.Input[str], + object_type: pulumi.Input[str], + database_name: Optional[pulumi.Input[str]] = None, + schema_name: Optional[pulumi.Input[str]] = None, + table_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] object_name: Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[str] object_type: Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[str] database_name: Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[str] schema_name: Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[str] table_name: Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "object_name", object_name) + pulumi.set(__self__, "object_type", object_type) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if schema_name is not None: + pulumi.set(__self__, "schema_name", schema_name) + if table_name is not None: + pulumi.set(__self__, "table_name", table_name) + + @property + @pulumi.getter(name="objectName") + def object_name(self) -> pulumi.Input[str]: + """ + Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_name") + + @object_name.setter + def object_name(self, value: pulumi.Input[str]): + pulumi.set(self, "object_name", value) + + @property + @pulumi.getter(name="objectType") + def object_type(self) -> pulumi.Input[str]: + """ + Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_type") + + @object_type.setter + def object_type(self, value: pulumi.Input[str]): + pulumi.set(self, "object_type", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[pulumi.Input[str]]: + """ + Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter(name="schemaName") + def schema_name(self) -> Optional[pulumi.Input[str]]: + """ + Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "schema_name") + + @schema_name.setter + def schema_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "schema_name", value) + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> Optional[pulumi.Input[str]]: + """ + Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "table_name") + + @table_name.setter + def table_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "table_name", value) + + @pulumi.input_type class InstanceBackupPlanArgs: def __init__(__self__, *, @@ -96,12 +280,16 @@ def min_backup_start_time(self, value: Optional[pulumi.Input[str]]): class InstanceDbNodeSetArgs: def __init__(__self__, *, zone: pulumi.Input[str], + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, role: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] zone: Indicates the node available zone. + :param pulumi.Input[str] dedicated_cluster_id: Dedicated cluster ID. :param pulumi.Input[str] role: Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. """ pulumi.set(__self__, "zone", zone) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if role is not None: pulumi.set(__self__, "role", role) @@ -117,6 +305,18 @@ def zone(self) -> pulumi.Input[str]: def zone(self, value: pulumi.Input[str]): pulumi.set(self, "zone", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter def role(self) -> Optional[pulumi.Input[str]]: @@ -206,6 +406,91 @@ def port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "port", value) +@pulumi.input_type +class GetAccountPrivilegesDatabaseObjectSetArgs: + def __init__(__self__, *, + object_name: str, + object_type: str, + database_name: Optional[str] = None, + schema_name: Optional[str] = None, + table_name: Optional[str] = None): + """ + :param str object_name: Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + :param str object_type: Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + :param str database_name: Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + :param str schema_name: Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + :param str table_name: Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "object_name", object_name) + pulumi.set(__self__, "object_type", object_type) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if schema_name is not None: + pulumi.set(__self__, "schema_name", schema_name) + if table_name is not None: + pulumi.set(__self__, "table_name", table_name) + + @property + @pulumi.getter(name="objectName") + def object_name(self) -> str: + """ + Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_name") + + @object_name.setter + def object_name(self, value: str): + pulumi.set(self, "object_name", value) + + @property + @pulumi.getter(name="objectType") + def object_type(self) -> str: + """ + Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_type") + + @object_type.setter + def object_type(self, value: str): + pulumi.set(self, "object_type", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + """ + Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[str]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter(name="schemaName") + def schema_name(self) -> Optional[str]: + """ + Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "schema_name") + + @schema_name.setter + def schema_name(self, value: Optional[str]): + pulumi.set(self, "schema_name", value) + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> Optional[str]: + """ + Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "table_name") + + @table_name.setter + def table_name(self, value: Optional[str]): + pulumi.set(self, "table_name", value) + + @pulumi.input_type class GetBackupDownloadUrlsBackupDownloadRestrictionArgs: def __init__(__self__, *, @@ -332,6 +617,45 @@ def values(self, value: Optional[Sequence[str]]): pulumi.set(self, "values", value) +@pulumi.input_type +class GetDedicatedClustersFilterArgs: + def __init__(__self__, *, + name: Optional[str] = None, + values: Optional[Sequence[str]] = None): + """ + :param str name: Filter name. + :param Sequence[str] values: Filter values. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Filter name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Filter values. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[Sequence[str]]): + pulumi.set(self, "values", value) + + @pulumi.input_type class GetLogBackupsFilterArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/account.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/account.py new file mode 100644 index 000000000..bbc84f04d --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/account.py @@ -0,0 +1,498 @@ +# 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__ = ['AccountArgs', 'Account'] + +@pulumi.input_type +class AccountArgs: + def __init__(__self__, *, + db_instance_id: pulumi.Input[str], + password: pulumi.Input[str], + type: pulumi.Input[str], + user_name: pulumi.Input[str], + lock_status: Optional[pulumi.Input[bool]] = None, + remark: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Account resource. + :param pulumi.Input[str] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[str] password: Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + :param pulumi.Input[str] type: The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + :param pulumi.Input[str] user_name: Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + :param pulumi.Input[bool] lock_status: whether lock account. true: locked; false: unlock. + :param pulumi.Input[str] remark: Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + """ + pulumi.set(__self__, "db_instance_id", db_instance_id) + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "user_name", user_name) + if lock_status is not None: + pulumi.set(__self__, "lock_status", lock_status) + if remark is not None: + pulumi.set(__self__, "remark", remark) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Input[str]: + """ + Instance ID in the format of postgres-4wdeb0zv. + """ + return pulumi.get(self, "db_instance_id") + + @db_instance_id.setter + def db_instance_id(self, value: pulumi.Input[str]): + pulumi.set(self, "db_instance_id", value) + + @property + @pulumi.getter + def password(self) -> pulumi.Input[str]: + """ + Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: pulumi.Input[str]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Input[str]: + """ + Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "user_name", value) + + @property + @pulumi.getter(name="lockStatus") + def lock_status(self) -> Optional[pulumi.Input[bool]]: + """ + whether lock account. true: locked; false: unlock. + """ + return pulumi.get(self, "lock_status") + + @lock_status.setter + def lock_status(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "lock_status", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + """ + return pulumi.get(self, "remark") + + @remark.setter + def remark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "remark", value) + + +@pulumi.input_type +class _AccountState: + def __init__(__self__, *, + db_instance_id: Optional[pulumi.Input[str]] = None, + lock_status: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Account resources. + :param pulumi.Input[str] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[bool] lock_status: whether lock account. true: locked; false: unlock. + :param pulumi.Input[str] password: Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + :param pulumi.Input[str] remark: Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + :param pulumi.Input[str] type: The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + :param pulumi.Input[str] user_name: Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + """ + if db_instance_id is not None: + pulumi.set(__self__, "db_instance_id", db_instance_id) + if lock_status is not None: + pulumi.set(__self__, "lock_status", lock_status) + if password is not None: + pulumi.set(__self__, "password", password) + if remark is not None: + pulumi.set(__self__, "remark", remark) + if type is not None: + pulumi.set(__self__, "type", type) + if user_name is not None: + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance ID in the format of postgres-4wdeb0zv. + """ + return pulumi.get(self, "db_instance_id") + + @db_instance_id.setter + def db_instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "db_instance_id", value) + + @property + @pulumi.getter(name="lockStatus") + def lock_status(self) -> Optional[pulumi.Input[bool]]: + """ + whether lock account. true: locked; false: unlock. + """ + return pulumi.get(self, "lock_status") + + @lock_status.setter + def lock_status(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "lock_status", value) + + @property + @pulumi.getter + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def remark(self) -> Optional[pulumi.Input[str]]: + """ + Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + """ + return pulumi.get(self, "remark") + + @remark.setter + def remark(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "remark", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> Optional[pulumi.Input[str]]: + """ + Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_name", value) + + +class Account(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + lock_status: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a postgresql account + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example_instance = tencentcloud.postgresql.Instance("exampleInstance", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + 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={ + "test": "tf", + }) + # create account + example_account = tencentcloud.postgresql.Account("exampleAccount", + db_instance_id=example_instance.id, + user_name="tf_example", + password="Password@123", + type="normal", + remark="remark", + lock_status=False) + ``` + + + ## Import + + postgres account can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Postgresql/account:Account example postgres-3hk6b6tj#tf_example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[bool] lock_status: whether lock account. true: locked; false: unlock. + :param pulumi.Input[str] password: Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + :param pulumi.Input[str] remark: Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + :param pulumi.Input[str] type: The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + :param pulumi.Input[str] user_name: Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AccountArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a postgresql account + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example_instance = tencentcloud.postgresql.Instance("exampleInstance", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + 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={ + "test": "tf", + }) + # create account + example_account = tencentcloud.postgresql.Account("exampleAccount", + db_instance_id=example_instance.id, + user_name="tf_example", + password="Password@123", + type="normal", + remark="remark", + lock_status=False) + ``` + + + ## Import + + postgres account can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Postgresql/account:Account example postgres-3hk6b6tj#tf_example + ``` + + :param str resource_name: The name of the resource. + :param AccountArgs 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(AccountArgs, 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, + db_instance_id: Optional[pulumi.Input[str]] = None, + lock_status: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + user_name: 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__ = AccountArgs.__new__(AccountArgs) + + if db_instance_id is None and not opts.urn: + raise TypeError("Missing required property 'db_instance_id'") + __props__.__dict__["db_instance_id"] = db_instance_id + __props__.__dict__["lock_status"] = lock_status + if password is None and not opts.urn: + raise TypeError("Missing required property 'password'") + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + __props__.__dict__["remark"] = remark + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + if user_name is None and not opts.urn: + raise TypeError("Missing required property 'user_name'") + __props__.__dict__["user_name"] = user_name + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(Account, __self__).__init__( + 'tencentcloud:Postgresql/account:Account', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + lock_status: Optional[pulumi.Input[bool]] = None, + password: Optional[pulumi.Input[str]] = None, + remark: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + user_name: Optional[pulumi.Input[str]] = None) -> 'Account': + """ + Get an existing Account 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] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[bool] lock_status: whether lock account. true: locked; false: unlock. + :param pulumi.Input[str] password: Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + :param pulumi.Input[str] remark: Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + :param pulumi.Input[str] type: The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + :param pulumi.Input[str] user_name: Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AccountState.__new__(_AccountState) + + __props__.__dict__["db_instance_id"] = db_instance_id + __props__.__dict__["lock_status"] = lock_status + __props__.__dict__["password"] = password + __props__.__dict__["remark"] = remark + __props__.__dict__["type"] = type + __props__.__dict__["user_name"] = user_name + return Account(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Output[str]: + """ + Instance ID in the format of postgres-4wdeb0zv. + """ + return pulumi.get(self, "db_instance_id") + + @property + @pulumi.getter(name="lockStatus") + def lock_status(self) -> pulumi.Output[bool]: + """ + whether lock account. true: locked; false: unlock. + """ + return pulumi.get(self, "lock_status") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[str]: + """ + Password, which can contain 8-32 letters, digits, and symbols (()`~!@#$%^&amp;amp;*-+=_|{}[]:;&amp;#39;&amp;lt;&amp;gt;,.?/); can&amp;#39;t start with slash /. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter + def remark(self) -> pulumi.Output[Optional[str]]: + """ + Remarks correspond to user `UserName`, which can contain 0-60 letters, digits, symbols (-_), and Chinese characters. + """ + return pulumi.get(self, "remark") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of user. Valid values: 1. normal: regular user; 2. tencentDBSuper: user with the pg_tencentdb_superuser role. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Output[str]: + """ + Instance username, which can contain 1-16 letters, digits, and underscore (_); can&amp;#39;t be postgres; can&amp;#39;t start with numbers, pg_, and tencentdb_. + """ + return pulumi.get(self, "user_name") + diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/account_privileges_operation.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/account_privileges_operation.py new file mode 100644 index 000000000..b7708682f --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/account_privileges_operation.py @@ -0,0 +1,378 @@ +# 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__ = ['AccountPrivilegesOperationArgs', 'AccountPrivilegesOperation'] + +@pulumi.input_type +class AccountPrivilegesOperationArgs: + def __init__(__self__, *, + db_instance_id: pulumi.Input[str], + modify_privilege_sets: pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]], + user_name: pulumi.Input[str]): + """ + The set of arguments for constructing a AccountPrivilegesOperation resource. + :param pulumi.Input[str] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]] modify_privilege_sets: Privileges to modify. Batch modification supported, up to 50 entries at a time. + :param pulumi.Input[str] user_name: Instance username. + """ + pulumi.set(__self__, "db_instance_id", db_instance_id) + pulumi.set(__self__, "modify_privilege_sets", modify_privilege_sets) + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Input[str]: + """ + Instance ID in the format of postgres-4wdeb0zv. + """ + return pulumi.get(self, "db_instance_id") + + @db_instance_id.setter + def db_instance_id(self, value: pulumi.Input[str]): + pulumi.set(self, "db_instance_id", value) + + @property + @pulumi.getter(name="modifyPrivilegeSets") + def modify_privilege_sets(self) -> pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]: + """ + Privileges to modify. Batch modification supported, up to 50 entries at a time. + """ + return pulumi.get(self, "modify_privilege_sets") + + @modify_privilege_sets.setter + def modify_privilege_sets(self, value: pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]): + pulumi.set(self, "modify_privilege_sets", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Input[str]: + """ + Instance username. + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "user_name", value) + + +@pulumi.input_type +class _AccountPrivilegesOperationState: + def __init__(__self__, *, + db_instance_id: Optional[pulumi.Input[str]] = None, + modify_privilege_sets: Optional[pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]] = None, + user_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AccountPrivilegesOperation resources. + :param pulumi.Input[str] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]] modify_privilege_sets: Privileges to modify. Batch modification supported, up to 50 entries at a time. + :param pulumi.Input[str] user_name: Instance username. + """ + if db_instance_id is not None: + pulumi.set(__self__, "db_instance_id", db_instance_id) + if modify_privilege_sets is not None: + pulumi.set(__self__, "modify_privilege_sets", modify_privilege_sets) + if user_name is not None: + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance ID in the format of postgres-4wdeb0zv. + """ + return pulumi.get(self, "db_instance_id") + + @db_instance_id.setter + def db_instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "db_instance_id", value) + + @property + @pulumi.getter(name="modifyPrivilegeSets") + def modify_privilege_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]]: + """ + Privileges to modify. Batch modification supported, up to 50 entries at a time. + """ + return pulumi.get(self, "modify_privilege_sets") + + @modify_privilege_sets.setter + def modify_privilege_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]]): + pulumi.set(self, "modify_privilege_sets", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> Optional[pulumi.Input[str]]: + """ + Instance username. + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_name", value) + + +class AccountPrivilegesOperation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + modify_privilege_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]]] = None, + user_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create postgresql account privileges + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example_instance = tencentcloud.postgresql.Instance("exampleInstance", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + 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={ + "test": "tf", + }) + # create account + example_account = tencentcloud.postgresql.Account("exampleAccount", + db_instance_id=example_instance.id, + user_name="tf_example", + password="Password@123", + type="normal", + remark="remark", + lock_status=False) + # create account privileges + example_account_privileges_operation = tencentcloud.postgresql.AccountPrivilegesOperation("exampleAccountPrivilegesOperation", + db_instance_id=example_instance.id, + user_name=example_account.user_name, + modify_privilege_sets=[tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetArgs( + database_privilege=tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs( + object=tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs( + object_name="postgres", + object_type="database", + ), + privilege_sets=[ + "CONNECT", + "TEMPORARY", + "CREATE", + ], + ), + modify_type="grantObject", + is_cascade=False, + )]) + ``` + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]] modify_privilege_sets: Privileges to modify. Batch modification supported, up to 50 entries at a time. + :param pulumi.Input[str] user_name: Instance username. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AccountPrivilegesOperationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create postgresql account privileges + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example_instance = tencentcloud.postgresql.Instance("exampleInstance", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + 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={ + "test": "tf", + }) + # create account + example_account = tencentcloud.postgresql.Account("exampleAccount", + db_instance_id=example_instance.id, + user_name="tf_example", + password="Password@123", + type="normal", + remark="remark", + lock_status=False) + # create account privileges + example_account_privileges_operation = tencentcloud.postgresql.AccountPrivilegesOperation("exampleAccountPrivilegesOperation", + db_instance_id=example_instance.id, + user_name=example_account.user_name, + modify_privilege_sets=[tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetArgs( + database_privilege=tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs( + object=tencentcloud.postgresql.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs( + object_name="postgres", + object_type="database", + ), + privilege_sets=[ + "CONNECT", + "TEMPORARY", + "CREATE", + ], + ), + modify_type="grantObject", + is_cascade=False, + )]) + ``` + + + :param str resource_name: The name of the resource. + :param AccountPrivilegesOperationArgs 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(AccountPrivilegesOperationArgs, 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, + db_instance_id: Optional[pulumi.Input[str]] = None, + modify_privilege_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]]] = None, + user_name: 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__ = AccountPrivilegesOperationArgs.__new__(AccountPrivilegesOperationArgs) + + if db_instance_id is None and not opts.urn: + raise TypeError("Missing required property 'db_instance_id'") + __props__.__dict__["db_instance_id"] = db_instance_id + if modify_privilege_sets is None and not opts.urn: + raise TypeError("Missing required property 'modify_privilege_sets'") + __props__.__dict__["modify_privilege_sets"] = modify_privilege_sets + if user_name is None and not opts.urn: + raise TypeError("Missing required property 'user_name'") + __props__.__dict__["user_name"] = user_name + super(AccountPrivilegesOperation, __self__).__init__( + 'tencentcloud:Postgresql/accountPrivilegesOperation:AccountPrivilegesOperation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + modify_privilege_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]]] = None, + user_name: Optional[pulumi.Input[str]] = None) -> 'AccountPrivilegesOperation': + """ + Get an existing AccountPrivilegesOperation 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] db_instance_id: Instance ID in the format of postgres-4wdeb0zv. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccountPrivilegesOperationModifyPrivilegeSetArgs']]]] modify_privilege_sets: Privileges to modify. Batch modification supported, up to 50 entries at a time. + :param pulumi.Input[str] user_name: Instance username. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AccountPrivilegesOperationState.__new__(_AccountPrivilegesOperationState) + + __props__.__dict__["db_instance_id"] = db_instance_id + __props__.__dict__["modify_privilege_sets"] = modify_privilege_sets + __props__.__dict__["user_name"] = user_name + return AccountPrivilegesOperation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> pulumi.Output[str]: + """ + Instance ID in the format of postgres-4wdeb0zv. + """ + return pulumi.get(self, "db_instance_id") + + @property + @pulumi.getter(name="modifyPrivilegeSets") + def modify_privilege_sets(self) -> pulumi.Output[Sequence['outputs.AccountPrivilegesOperationModifyPrivilegeSet']]: + """ + Privileges to modify. Batch modification supported, up to 50 entries at a time. + """ + return pulumi.get(self, "modify_privilege_sets") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Output[str]: + """ + Instance username. + """ + return pulumi.get(self, "user_name") + diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/get_account_privileges.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/get_account_privileges.py new file mode 100644 index 000000000..b4696a11d --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/get_account_privileges.py @@ -0,0 +1,175 @@ +# 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__ = [ + 'GetAccountPrivilegesResult', + 'AwaitableGetAccountPrivilegesResult', + 'get_account_privileges', + 'get_account_privileges_output', +] + +@pulumi.output_type +class GetAccountPrivilegesResult: + """ + A collection of values returned by getAccountPrivileges. + """ + def __init__(__self__, database_object_sets=None, db_instance_id=None, id=None, privilege_sets=None, result_output_file=None, user_name=None): + if database_object_sets and not isinstance(database_object_sets, list): + raise TypeError("Expected argument 'database_object_sets' to be a list") + pulumi.set(__self__, "database_object_sets", database_object_sets) + if db_instance_id and not isinstance(db_instance_id, str): + raise TypeError("Expected argument 'db_instance_id' to be a str") + pulumi.set(__self__, "db_instance_id", db_instance_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if privilege_sets and not isinstance(privilege_sets, list): + raise TypeError("Expected argument 'privilege_sets' to be a list") + pulumi.set(__self__, "privilege_sets", privilege_sets) + 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) + if user_name and not isinstance(user_name, str): + raise TypeError("Expected argument 'user_name' to be a str") + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter(name="databaseObjectSets") + def database_object_sets(self) -> Sequence['outputs.GetAccountPrivilegesDatabaseObjectSetResult']: + return pulumi.get(self, "database_object_sets") + + @property + @pulumi.getter(name="dbInstanceId") + def db_instance_id(self) -> str: + return pulumi.get(self, "db_instance_id") + + @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="privilegeSets") + def privilege_sets(self) -> Sequence['outputs.GetAccountPrivilegesPrivilegeSetResult']: + """ + Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "privilege_sets") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> str: + return pulumi.get(self, "user_name") + + +class AwaitableGetAccountPrivilegesResult(GetAccountPrivilegesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAccountPrivilegesResult( + database_object_sets=self.database_object_sets, + db_instance_id=self.db_instance_id, + id=self.id, + privilege_sets=self.privilege_sets, + result_output_file=self.result_output_file, + user_name=self.user_name) + + +def get_account_privileges(database_object_sets: Optional[Sequence[pulumi.InputType['GetAccountPrivilegesDatabaseObjectSetArgs']]] = None, + db_instance_id: Optional[str] = None, + result_output_file: Optional[str] = None, + user_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAccountPrivilegesResult: + """ + Use this data source to query detailed information of postgresql account privileges + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Postgresql.get_account_privileges(database_object_sets=[tencentcloud.postgresql.GetAccountPrivilegesDatabaseObjectSetArgs( + object_name="postgres", + object_type="database", + )], + db_instance_id="postgres-3hk6b6tj", + user_name="tf_example") + ``` + + + + :param Sequence[pulumi.InputType['GetAccountPrivilegesDatabaseObjectSetArgs']] database_object_sets: Instance database object info. + :param str db_instance_id: Instance ID. + :param str result_output_file: Used to save results. + :param str user_name: Instance username. + """ + __args__ = dict() + __args__['databaseObjectSets'] = database_object_sets + __args__['dbInstanceId'] = db_instance_id + __args__['resultOutputFile'] = result_output_file + __args__['userName'] = user_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Postgresql/getAccountPrivileges:getAccountPrivileges', __args__, opts=opts, typ=GetAccountPrivilegesResult).value + + return AwaitableGetAccountPrivilegesResult( + database_object_sets=pulumi.get(__ret__, 'database_object_sets'), + db_instance_id=pulumi.get(__ret__, 'db_instance_id'), + id=pulumi.get(__ret__, 'id'), + privilege_sets=pulumi.get(__ret__, 'privilege_sets'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + user_name=pulumi.get(__ret__, 'user_name')) + + +@_utilities.lift_output_func(get_account_privileges) +def get_account_privileges_output(database_object_sets: Optional[pulumi.Input[Sequence[pulumi.InputType['GetAccountPrivilegesDatabaseObjectSetArgs']]]] = None, + db_instance_id: Optional[pulumi.Input[str]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + user_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAccountPrivilegesResult]: + """ + Use this data source to query detailed information of postgresql account privileges + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Postgresql.get_account_privileges(database_object_sets=[tencentcloud.postgresql.GetAccountPrivilegesDatabaseObjectSetArgs( + object_name="postgres", + object_type="database", + )], + db_instance_id="postgres-3hk6b6tj", + user_name="tf_example") + ``` + + + + :param Sequence[pulumi.InputType['GetAccountPrivilegesDatabaseObjectSetArgs']] database_object_sets: Instance database object info. + :param str db_instance_id: Instance ID. + :param str result_output_file: Used to save results. + :param str user_name: Instance username. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/get_dedicated_clusters.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/get_dedicated_clusters.py new file mode 100644 index 000000000..1de190343 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/get_dedicated_clusters.py @@ -0,0 +1,167 @@ +# 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__ = [ + 'GetDedicatedClustersResult', + 'AwaitableGetDedicatedClustersResult', + 'get_dedicated_clusters', + 'get_dedicated_clusters_output', +] + +@pulumi.output_type +class GetDedicatedClustersResult: + """ + A collection of values returned by getDedicatedClusters. + """ + def __init__(__self__, dedicated_cluster_sets=None, filters=None, id=None, result_output_file=None): + if dedicated_cluster_sets and not isinstance(dedicated_cluster_sets, list): + raise TypeError("Expected argument 'dedicated_cluster_sets' to be a list") + pulumi.set(__self__, "dedicated_cluster_sets", dedicated_cluster_sets) + 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 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="dedicatedClusterSets") + def dedicated_cluster_sets(self) -> Sequence['outputs.GetDedicatedClustersDedicatedClusterSetResult']: + """ + Dedicated cluster set info. + """ + return pulumi.get(self, "dedicated_cluster_sets") + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetDedicatedClustersFilterResult']]: + 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="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetDedicatedClustersResult(GetDedicatedClustersResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDedicatedClustersResult( + dedicated_cluster_sets=self.dedicated_cluster_sets, + filters=self.filters, + id=self.id, + result_output_file=self.result_output_file) + + +def get_dedicated_clusters(filters: Optional[Sequence[pulumi.InputType['GetDedicatedClustersFilterArgs']]] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDedicatedClustersResult: + """ + Use this data source to query detailed information of Postgresql dedicated clusters + + ## Example Usage + + ### Query all instances + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Postgresql.get_dedicated_clusters() + ``` + + + ### Query instances by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Postgresql.get_dedicated_clusters(filters=[tencentcloud.postgresql.GetDedicatedClustersFilterArgs( + name="dedicated-cluster-id", + values=["cluster-262n63e8"], + )]) + ``` + + + + :param Sequence[pulumi.InputType['GetDedicatedClustersFilterArgs']] filters: Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['filters'] = filters + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Postgresql/getDedicatedClusters:getDedicatedClusters', __args__, opts=opts, typ=GetDedicatedClustersResult).value + + return AwaitableGetDedicatedClustersResult( + dedicated_cluster_sets=pulumi.get(__ret__, 'dedicated_cluster_sets'), + filters=pulumi.get(__ret__, 'filters'), + id=pulumi.get(__ret__, 'id'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_dedicated_clusters) +def get_dedicated_clusters_output(filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetDedicatedClustersFilterArgs']]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDedicatedClustersResult]: + """ + Use this data source to query detailed information of Postgresql dedicated clusters + + ## Example Usage + + ### Query all instances + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Postgresql.get_dedicated_clusters() + ``` + + + ### Query instances by filters + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + example = tencentcloud.Postgresql.get_dedicated_clusters(filters=[tencentcloud.postgresql.GetDedicatedClustersFilterArgs( + name="dedicated-cluster-id", + values=["cluster-262n63e8"], + )]) + ``` + + + + :param Sequence[pulumi.InputType['GetDedicatedClustersFilterArgs']] filters: Querying based on one or more filtering criteria, the currently supported filtering criteria are: dedicated-cluster-id: filtering by dedicated cluster ID. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py index 18ee3a5c2..597a62614 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py @@ -32,6 +32,7 @@ def __init__(__self__, *, db_major_version: Optional[pulumi.Input[str]] = None, db_major_vesion: Optional[pulumi.Input[str]] = None, db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDbNodeSetArgs']]]] = None, + delete_protection: Optional[pulumi.Input[bool]] = None, engine_version: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, kms_region: Optional[pulumi.Input[str]] = None, @@ -64,6 +65,7 @@ def __init__(__self__, *, :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[bool] delete_protection: Whether to enable instance deletion protection. Default: false. :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. @@ -108,6 +110,8 @@ def __init__(__self__, *, pulumi.set(__self__, "db_major_vesion", db_major_vesion) if db_node_sets is not None: pulumi.set(__self__, "db_node_sets", db_node_sets) + if delete_protection is not None: + pulumi.set(__self__, "delete_protection", delete_protection) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) if kms_key_id is not None: @@ -332,6 +336,18 @@ def db_node_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceD def db_node_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDbNodeSetArgs']]]]): pulumi.set(self, "db_node_sets", value) + @property + @pulumi.getter(name="deleteProtection") + def delete_protection(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable instance deletion protection. Default: false. + """ + return pulumi.get(self, "delete_protection") + + @delete_protection.setter + def delete_protection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "delete_protection", value) + @property @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: @@ -516,6 +532,7 @@ def __init__(__self__, *, db_major_version: Optional[pulumi.Input[str]] = None, db_major_vesion: Optional[pulumi.Input[str]] = None, db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDbNodeSetArgs']]]] = None, + delete_protection: Optional[pulumi.Input[bool]] = None, engine_version: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, kms_region: Optional[pulumi.Input[str]] = None, @@ -554,6 +571,7 @@ def __init__(__self__, *, :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[bool] delete_protection: Whether to enable instance deletion protection. Default: false. :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. @@ -606,6 +624,8 @@ def __init__(__self__, *, pulumi.set(__self__, "db_major_vesion", db_major_vesion) if db_node_sets is not None: pulumi.set(__self__, "db_node_sets", db_node_sets) + if delete_protection is not None: + pulumi.set(__self__, "delete_protection", delete_protection) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) if kms_key_id is not None: @@ -802,6 +822,18 @@ def db_node_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceD def db_node_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceDbNodeSetArgs']]]]): pulumi.set(self, "db_node_sets", value) + @property + @pulumi.getter(name="deleteProtection") + def delete_protection(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable instance deletion protection. Default: false. + """ + return pulumi.get(self, "delete_protection") + + @delete_protection.setter + def delete_protection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "delete_protection", value) + @property @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: @@ -1107,6 +1139,7 @@ def __init__(__self__, db_major_version: Optional[pulumi.Input[str]] = None, db_major_vesion: Optional[pulumi.Input[str]] = None, db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDbNodeSetArgs']]]]] = None, + delete_protection: Optional[pulumi.Input[bool]] = None, engine_version: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, kms_region: Optional[pulumi.Input[str]] = None, @@ -1135,6 +1168,48 @@ def __init__(__self__, ## Example Usage + ### Create a postgresql instance + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + 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={ + "test": "tf", + }) + ``` + + + ### Create a postgresql instance with delete protection + ```python import pulumi @@ -1167,13 +1242,14 @@ def __init__(__self__, cpu=1, memory=2, storage=10, + delete_protection=True, tags={ "test": "tf", }) ``` - ### Create a multi available zone bucket + ### Create a multi available zone postgresql instance ```python @@ -1224,7 +1300,57 @@ def __init__(__self__, ``` - ### create pgsql with kms key + ### Create a multi available zone postgresql instance of CDC + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + db_major_version="10", + root_user="root123", + root_password="Root123$", + charset="UTF8", + project_id=0, + memory=2, + cpu=1, + storage=10, + db_node_sets=[ + tencentcloud.postgresql.InstanceDbNodeSetArgs( + role="Primary", + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + tencentcloud.postgresql.InstanceDbNodeSetArgs( + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + ], + tags={ + "CreateBy": "terraform", + }) + ``` + + + ### Create pgsql with kms key ```python @@ -1266,7 +1392,7 @@ def __init__(__self__, ``` - ### upgrade kernel version + ### Upgrade kernel version ```python @@ -1328,6 +1454,7 @@ def __init__(__self__, :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[bool] delete_protection: Whether to enable instance deletion protection. Default: false. :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. @@ -1362,6 +1489,48 @@ def __init__(__self__, ## Example Usage + ### Create a postgresql instance + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-3" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + 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={ + "test": "tf", + }) + ``` + + + ### Create a postgresql instance with delete protection + ```python import pulumi @@ -1394,13 +1563,14 @@ def __init__(__self__, cpu=1, memory=2, storage=10, + delete_protection=True, tags={ "test": "tf", }) ``` - ### Create a multi available zone bucket + ### Create a multi available zone postgresql instance ```python @@ -1451,7 +1621,57 @@ def __init__(__self__, ``` - ### create pgsql with kms key + ### Create a multi available zone postgresql instance of CDC + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + db_major_version="10", + root_user="root123", + root_password="Root123$", + charset="UTF8", + project_id=0, + memory=2, + cpu=1, + storage=10, + db_node_sets=[ + tencentcloud.postgresql.InstanceDbNodeSetArgs( + role="Primary", + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + tencentcloud.postgresql.InstanceDbNodeSetArgs( + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + ], + tags={ + "CreateBy": "terraform", + }) + ``` + + + ### Create pgsql with kms key ```python @@ -1493,7 +1713,7 @@ def __init__(__self__, ``` - ### upgrade kernel version + ### Upgrade kernel version ```python @@ -1568,6 +1788,7 @@ def _internal_init(__self__, db_major_version: Optional[pulumi.Input[str]] = None, db_major_vesion: Optional[pulumi.Input[str]] = None, db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDbNodeSetArgs']]]]] = None, + delete_protection: Optional[pulumi.Input[bool]] = None, engine_version: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, kms_region: Optional[pulumi.Input[str]] = None, @@ -1609,6 +1830,7 @@ def _internal_init(__self__, __props__.__dict__["db_major_version"] = db_major_version __props__.__dict__["db_major_vesion"] = db_major_vesion __props__.__dict__["db_node_sets"] = db_node_sets + __props__.__dict__["delete_protection"] = delete_protection __props__.__dict__["engine_version"] = engine_version __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["kms_region"] = kms_region @@ -1668,6 +1890,7 @@ def get(resource_name: str, db_major_version: Optional[pulumi.Input[str]] = None, db_major_vesion: Optional[pulumi.Input[str]] = None, db_node_sets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDbNodeSetArgs']]]]] = None, + delete_protection: Optional[pulumi.Input[bool]] = None, engine_version: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, kms_region: Optional[pulumi.Input[str]] = None, @@ -1711,6 +1934,7 @@ def get(resource_name: str, :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[bool] delete_protection: Whether to enable instance deletion protection. Default: false. :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. @@ -1752,6 +1976,7 @@ def get(resource_name: str, __props__.__dict__["db_major_version"] = db_major_version __props__.__dict__["db_major_vesion"] = db_major_vesion __props__.__dict__["db_node_sets"] = db_node_sets + __props__.__dict__["delete_protection"] = delete_protection __props__.__dict__["engine_version"] = engine_version __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["kms_region"] = kms_region @@ -1877,6 +2102,14 @@ def db_node_sets(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceDbNod """ return pulumi.get(self, "db_node_sets") + @property + @pulumi.getter(name="deleteProtection") + def delete_protection(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to enable instance deletion protection. Default: false. + """ + return pulumi.get(self, "delete_protection") + @property @pulumi.getter(name="engineVersion") def engine_version(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/outputs.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/outputs.py index 6713e8745..624c1b3cf 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/outputs.py @@ -11,15 +11,23 @@ from . import outputs __all__ = [ + 'AccountPrivilegesOperationModifyPrivilegeSet', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege', + 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject', 'InstanceBackupPlan', 'InstanceDbNodeSet', 'ParameterTemplateModifyParamEntrySet', 'ReadonlyGroupNetInfoList', + 'GetAccountPrivilegesDatabaseObjectSetResult', + 'GetAccountPrivilegesPrivilegeSetResult', + 'GetAccountPrivilegesPrivilegeSetObjectResult', 'GetBackupDownloadUrlsBackupDownloadRestrictionResult', 'GetBaseBackupsBaseBackupSetResult', 'GetBaseBackupsFilterResult', 'GetDbInstanceClassesClassInfoSetResult', 'GetDbInstanceVersionsVersionSetResult', + 'GetDedicatedClustersDedicatedClusterSetResult', + 'GetDedicatedClustersFilterResult', 'GetDefaultParametersParamInfoSetResult', 'GetDefaultParametersParamInfoSetSpecRelationSetResult', 'GetDefaultParametersParamInfoSetVersionRelationSetResult', @@ -43,6 +51,208 @@ 'GetZonesZoneSetResult', ] +@pulumi.output_type +class AccountPrivilegesOperationModifyPrivilegeSet(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "databasePrivilege": + suggest = "database_privilege" + elif key == "isCascade": + suggest = "is_cascade" + elif key == "modifyType": + suggest = "modify_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AccountPrivilegesOperationModifyPrivilegeSet. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AccountPrivilegesOperationModifyPrivilegeSet.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AccountPrivilegesOperationModifyPrivilegeSet.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + database_privilege: Optional['outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege'] = None, + is_cascade: Optional[bool] = None, + modify_type: Optional[str] = None): + """ + :param 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeArgs' database_privilege: Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + :param bool is_cascade: Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + :param str modify_type: Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + """ + if database_privilege is not None: + pulumi.set(__self__, "database_privilege", database_privilege) + if is_cascade is not None: + pulumi.set(__self__, "is_cascade", is_cascade) + if modify_type is not None: + pulumi.set(__self__, "modify_type", modify_type) + + @property + @pulumi.getter(name="databasePrivilege") + def database_privilege(self) -> Optional['outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege']: + """ + Database objects and the user permissions on these objects. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "database_privilege") + + @property + @pulumi.getter(name="isCascade") + def is_cascade(self) -> Optional[bool]: + """ + Required only when ModifyType is revokeObject. When the parameter is true, revoking permissions will cascade. The default value is false. + """ + return pulumi.get(self, "is_cascade") + + @property + @pulumi.getter(name="modifyType") + def modify_type(self) -> Optional[str]: + """ + Supported modification method: grantObject, revokeObject, alterRole. grantObject represents granting permissions on object, revokeObject represents revoking permissions on object, and alterRole represents modifying the account type. + """ + return pulumi.get(self, "modify_type") + + +@pulumi.output_type +class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "privilegeSets": + suggest = "privilege_sets" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilege.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + object: Optional['outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject'] = None, + privilege_sets: Optional[Sequence[str]] = None): + """ + :param 'AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObjectArgs' object: Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + :param Sequence[str] privilege_sets: Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + """ + if object is not None: + pulumi.set(__self__, "object", object) + if privilege_sets is not None: + pulumi.set(__self__, "privilege_sets", privilege_sets) + + @property + @pulumi.getter + def object(self) -> Optional['outputs.AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject']: + """ + Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object") + + @property + @pulumi.getter(name="privilegeSets") + def privilege_sets(self) -> Optional[Sequence[str]]: + """ + Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "privilege_sets") + + +@pulumi.output_type +class AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "objectName": + suggest = "object_name" + elif key == "objectType": + suggest = "object_type" + elif key == "databaseName": + suggest = "database_name" + elif key == "schemaName": + suggest = "schema_name" + elif key == "tableName": + suggest = "table_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AccountPrivilegesOperationModifyPrivilegeSetDatabasePrivilegeObject.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + object_name: str, + object_type: str, + database_name: Optional[str] = None, + schema_name: Optional[str] = None, + table_name: Optional[str] = None): + """ + :param str object_name: Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + :param str object_type: Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + :param str database_name: Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + :param str schema_name: Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + :param str table_name: Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "object_name", object_name) + pulumi.set(__self__, "object_type", object_type) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if schema_name is not None: + pulumi.set(__self__, "schema_name", schema_name) + if table_name is not None: + pulumi.set(__self__, "table_name", table_name) + + @property + @pulumi.getter(name="objectName") + def object_name(self) -> str: + """ + Database object Name. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_name") + + @property + @pulumi.getter(name="objectType") + def object_type(self) -> str: + """ + Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_type") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + """ + Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter(name="schemaName") + def schema_name(self) -> Optional[str]: + """ + Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "schema_name") + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> Optional[str]: + """ + Table name to which the database object belongs. This parameter is mandatory when ObjectType is column. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "table_name") + + @pulumi.output_type class InstanceBackupPlan(dict): @staticmethod @@ -123,14 +333,35 @@ def min_backup_start_time(self) -> Optional[str]: @pulumi.output_type class InstanceDbNodeSet(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dedicatedClusterId": + suggest = "dedicated_cluster_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceDbNodeSet. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceDbNodeSet.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceDbNodeSet.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, zone: str, + dedicated_cluster_id: Optional[str] = None, role: Optional[str] = None): """ :param str zone: Indicates the node available zone. + :param str dedicated_cluster_id: Dedicated cluster ID. :param str role: Indicates node type, available values:`Primary`, `Standby`. Default: `Standby`. """ pulumi.set(__self__, "zone", zone) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if role is not None: pulumi.set(__self__, "role", role) @@ -142,6 +373,14 @@ def zone(self) -> str: """ return pulumi.get(self, "zone") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[str]: + """ + Dedicated cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter def role(self) -> Optional[str]: @@ -228,6 +467,162 @@ def port(self) -> Optional[int]: return pulumi.get(self, "port") +@pulumi.output_type +class GetAccountPrivilegesDatabaseObjectSetResult(dict): + def __init__(__self__, *, + object_name: str, + object_type: str, + database_name: Optional[str] = None, + schema_name: Optional[str] = None, + table_name: Optional[str] = None): + """ + :param str object_name: Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + :param str object_type: Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + :param str database_name: Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + :param str schema_name: Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + :param str table_name: Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "object_name", object_name) + pulumi.set(__self__, "object_type", object_type) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if schema_name is not None: + pulumi.set(__self__, "schema_name", schema_name) + if table_name is not None: + pulumi.set(__self__, "table_name", table_name) + + @property + @pulumi.getter(name="objectName") + def object_name(self) -> str: + """ + Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_name") + + @property + @pulumi.getter(name="objectType") + def object_type(self) -> str: + """ + Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_type") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + """ + Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter(name="schemaName") + def schema_name(self) -> Optional[str]: + """ + Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "schema_name") + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> Optional[str]: + """ + Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "table_name") + + +@pulumi.output_type +class GetAccountPrivilegesPrivilegeSetResult(dict): + def __init__(__self__, *, + objects: Sequence['outputs.GetAccountPrivilegesPrivilegeSetObjectResult'], + privilege_sets: Sequence[str]): + """ + :param Sequence['GetAccountPrivilegesPrivilegeSetObjectArgs'] objects: Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + :param Sequence[str] privilege_sets: Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "objects", objects) + pulumi.set(__self__, "privilege_sets", privilege_sets) + + @property + @pulumi.getter + def objects(self) -> Sequence['outputs.GetAccountPrivilegesPrivilegeSetObjectResult']: + """ + Database object.If ObjectType is database, DatabaseName/SchemaName/TableName can be null.If ObjectType is schema, SchemaName/TableName can be null.If ObjectType is table, TableName can be null.If ObjectType is column, DatabaseName/SchemaName/TableName can&#39;t be null.In all other cases, DatabaseName/SchemaName/TableName can be null. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "objects") + + @property + @pulumi.getter(name="privilegeSets") + def privilege_sets(self) -> Sequence[str]: + """ + Privileges the specific account has on database object. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "privilege_sets") + + +@pulumi.output_type +class GetAccountPrivilegesPrivilegeSetObjectResult(dict): + def __init__(__self__, *, + database_name: str, + object_name: str, + object_type: str, + schema_name: str, + table_name: str): + """ + :param str database_name: Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + :param str object_name: Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + :param str object_type: Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + :param str schema_name: Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + :param str table_name: Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "object_name", object_name) + pulumi.set(__self__, "object_type", object_type) + pulumi.set(__self__, "schema_name", schema_name) + pulumi.set(__self__, "table_name", table_name) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> str: + """ + Database name to which the database object belongs. This parameter is mandatory when ObjectType is not database.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter(name="objectName") + def object_name(self) -> str: + """ + Database object Name.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_name") + + @property + @pulumi.getter(name="objectType") + def object_type(self) -> str: + """ + Supported database object types: account, database, schema, sequence, procedure, type, function, table, view, matview, column. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "object_type") + + @property + @pulumi.getter(name="schemaName") + def schema_name(self) -> str: + """ + Schema name to which the database object belongs. This parameter is mandatory when ObjectType is not database or schema.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "schema_name") + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> str: + """ + Table name to which the database object belongs. This parameter is mandatory when ObjectType is column.Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "table_name") + + @pulumi.output_type class GetBackupDownloadUrlsBackupDownloadRestrictionResult(dict): def __init__(__self__, *, @@ -600,6 +995,176 @@ def supported_feature_names(self) -> Sequence[str]: return pulumi.get(self, "supported_feature_names") +@pulumi.output_type +class GetDedicatedClustersDedicatedClusterSetResult(dict): + def __init__(__self__, *, + cpu_available: Optional[int] = None, + cpu_total: Optional[int] = None, + dedicated_cluster_id: Optional[str] = None, + disk_available: Optional[int] = None, + disk_total: Optional[int] = None, + instance_count: Optional[int] = None, + mem_available: Optional[int] = None, + mem_total: Optional[int] = None, + name: Optional[str] = None, + standby_dedicated_cluster_sets: Optional[Sequence[str]] = None, + zone: Optional[str] = None): + """ + :param int cpu_available: Number of available CPUs. + :param int cpu_total: Cpu total. + :param str dedicated_cluster_id: Dedicated cluster ID. + :param int disk_available: Disk availability. + :param int disk_total: Total number of disks. + :param int instance_count: Instance count. + :param int mem_available: Available Memory. + :param int mem_total: Total amount of memory. + :param str name: Filter name. + :param Sequence[str] standby_dedicated_cluster_sets: Disaster recovery cluster. + :param str zone: Zone. + """ + if cpu_available is not None: + pulumi.set(__self__, "cpu_available", cpu_available) + if cpu_total is not None: + pulumi.set(__self__, "cpu_total", cpu_total) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + if disk_available is not None: + pulumi.set(__self__, "disk_available", disk_available) + if disk_total is not None: + pulumi.set(__self__, "disk_total", disk_total) + if instance_count is not None: + pulumi.set(__self__, "instance_count", instance_count) + if mem_available is not None: + pulumi.set(__self__, "mem_available", mem_available) + if mem_total is not None: + pulumi.set(__self__, "mem_total", mem_total) + if name is not None: + pulumi.set(__self__, "name", name) + if standby_dedicated_cluster_sets is not None: + pulumi.set(__self__, "standby_dedicated_cluster_sets", standby_dedicated_cluster_sets) + if zone is not None: + pulumi.set(__self__, "zone", zone) + + @property + @pulumi.getter(name="cpuAvailable") + def cpu_available(self) -> Optional[int]: + """ + Number of available CPUs. + """ + return pulumi.get(self, "cpu_available") + + @property + @pulumi.getter(name="cpuTotal") + def cpu_total(self) -> Optional[int]: + """ + Cpu total. + """ + return pulumi.get(self, "cpu_total") + + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[str]: + """ + Dedicated cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @property + @pulumi.getter(name="diskAvailable") + def disk_available(self) -> Optional[int]: + """ + Disk availability. + """ + return pulumi.get(self, "disk_available") + + @property + @pulumi.getter(name="diskTotal") + def disk_total(self) -> Optional[int]: + """ + Total number of disks. + """ + return pulumi.get(self, "disk_total") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> Optional[int]: + """ + Instance count. + """ + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="memAvailable") + def mem_available(self) -> Optional[int]: + """ + Available Memory. + """ + return pulumi.get(self, "mem_available") + + @property + @pulumi.getter(name="memTotal") + def mem_total(self) -> Optional[int]: + """ + Total amount of memory. + """ + return pulumi.get(self, "mem_total") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Filter name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="standbyDedicatedClusterSets") + def standby_dedicated_cluster_sets(self) -> Optional[Sequence[str]]: + """ + Disaster recovery cluster. + """ + return pulumi.get(self, "standby_dedicated_cluster_sets") + + @property + @pulumi.getter + def zone(self) -> Optional[str]: + """ + Zone. + """ + return pulumi.get(self, "zone") + + +@pulumi.output_type +class GetDedicatedClustersFilterResult(dict): + def __init__(__self__, *, + name: Optional[str] = None, + values: Optional[Sequence[str]] = None): + """ + :param str name: Filter name. + :param Sequence[str] values: Filter values. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Filter name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Filter values. + """ + return pulumi.get(self, "values") + + @pulumi.output_type class GetDefaultParametersParamInfoSetResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/readonly_instance.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/readonly_instance.py index 55f5f0046..11bf116bb 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/readonly_instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/readonly_instance.py @@ -26,6 +26,7 @@ def __init__(__self__, *, auto_renew_flag: Optional[pulumi.Input[int]] = None, auto_voucher: Optional[pulumi.Input[int]] = None, cpu: Optional[pulumi.Input[int]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, need_support_ipv6: Optional[pulumi.Input[int]] = None, @@ -46,6 +47,7 @@ def __init__(__self__, *, :param pulumi.Input[int] auto_renew_flag: Auto renew flag, `1` for enabled. NOTES: Only support prepaid instance. :param pulumi.Input[int] auto_voucher: Whether to use voucher, `1` for enabled. :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] dedicated_cluster_id: Dedicated cluster ID. :param pulumi.Input[str] instance_charge_type: instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). :param pulumi.Input[str] name: Instance name. :param pulumi.Input[int] need_support_ipv6: Whether to support IPv6 address access. Valid values: 1 (yes), 0 (no). @@ -68,6 +70,8 @@ def __init__(__self__, *, pulumi.set(__self__, "auto_voucher", auto_voucher) if cpu is not None: pulumi.set(__self__, "cpu", cpu) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) if name is not None: @@ -225,6 +229,18 @@ def cpu(self) -> Optional[pulumi.Input[int]]: def cpu(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "cpu", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="instanceChargeType") def instance_charge_type(self) -> Optional[pulumi.Input[str]]: @@ -306,6 +322,7 @@ def __init__(__self__, *, cpu: Optional[pulumi.Input[int]] = None, create_time: Optional[pulumi.Input[str]] = None, db_version: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, master_db_instance_id: Optional[pulumi.Input[str]] = None, @@ -330,6 +347,7 @@ 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_version: PostgreSQL kernel version, which must be the same as that of the primary instance. + :param pulumi.Input[str] dedicated_cluster_id: Dedicated cluster ID. :param pulumi.Input[str] instance_charge_type: instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). :param pulumi.Input[str] instance_id: The instance ID of this readonly resource. :param pulumi.Input[str] master_db_instance_id: ID of the primary instance to which the read-only replica belongs. @@ -358,6 +376,8 @@ def __init__(__self__, *, pulumi.set(__self__, "create_time", create_time) if db_version is not None: pulumi.set(__self__, "db_version", db_version) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) if instance_id is not None: @@ -453,6 +473,18 @@ def db_version(self) -> Optional[pulumi.Input[str]]: def db_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "db_version", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="instanceChargeType") def instance_charge_type(self) -> Optional[pulumi.Input[str]]: @@ -667,6 +699,7 @@ def __init__(__self__, auto_voucher: Optional[pulumi.Input[int]] = None, cpu: Optional[pulumi.Input[int]] = None, db_version: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, master_db_instance_id: Optional[pulumi.Input[str]] = None, memory: Optional[pulumi.Input[int]] = None, @@ -687,6 +720,8 @@ def __init__(__self__, ## Example Usage + ### Create postgresql readonly instance + ```python import pulumi @@ -710,7 +745,7 @@ def __init__(__self__, 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", @@ -721,6 +756,7 @@ def __init__(__self__, tags={ "test": "tf", }) + # create postgresql readonly group example_readonly_group = tencentcloud.postgresql.ReadonlyGroup("exampleReadonlyGroup", master_db_instance_id=example_instance.id, project_id=0, @@ -738,12 +774,97 @@ def __init__(__self__, tags={ "example": "test", }) + # create postgresql readonly instance + example_readonly_instance = tencentcloud.postgresql.ReadonlyInstance("exampleReadonlyInstance", + read_only_group_id=example_readonly_group.id, + master_db_instance_id=example_instance.id, + zone=availability_zone, + auto_renew_flag=0, + db_version="10.23", + instance_charge_type="POSTPAID_BY_HOUR", + memory=4, + cpu=2, + storage=250, + vpc_id=vpc.id, + subnet_id=subnet.id, + need_support_ipv6=0, + project_id=0, + security_groups_ids=[example_group.id]) + ``` + + + ### Create postgresql readonly instance of CDC + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example_instance = tencentcloud.postgresql.Instance("exampleInstance", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + db_major_version="10", + root_user="root123", + root_password="Root123$", + charset="UTF8", + project_id=0, + memory=2, + cpu=1, + storage=10, + db_node_sets=[ + tencentcloud.postgresql.InstanceDbNodeSetArgs( + role="Primary", + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + tencentcloud.postgresql.InstanceDbNodeSetArgs( + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + ], + tags={ + "CreateBy": "terraform", + }) + # create postgresql readonly group + example_readonly_group = tencentcloud.postgresql.ReadonlyGroup("exampleReadonlyGroup", + master_db_instance_id=example_instance.id, + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + replay_lag_eliminate=1, + replay_latency_eliminate=1, + max_replay_lag=100, + max_replay_latency=512, + min_delay_eliminate_reserve=1) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "CreateBy": "terraform", + }) + # create postgresql readonly instance example_readonly_instance = tencentcloud.postgresql.ReadonlyInstance("exampleReadonlyInstance", read_only_group_id=example_readonly_group.id, master_db_instance_id=example_instance.id, zone=availability_zone, auto_renew_flag=0, - db_version="10.4", + db_version="10.23", instance_charge_type="POSTPAID_BY_HOUR", memory=4, cpu=2, @@ -752,6 +873,7 @@ def __init__(__self__, subnet_id=subnet.id, need_support_ipv6=0, project_id=0, + dedicated_cluster_id="cluster-262n63e8", security_groups_ids=[example_group.id]) ``` @@ -761,7 +883,7 @@ def __init__(__self__, postgresql readonly instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example instance_id + $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example pgro-gih5m0ke ``` :param str resource_name: The name of the resource. @@ -770,6 +892,7 @@ def __init__(__self__, :param pulumi.Input[int] auto_voucher: Whether to use voucher, `1` for enabled. :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_version: PostgreSQL kernel version, which must be the same as that of the primary instance. + :param pulumi.Input[str] dedicated_cluster_id: Dedicated cluster ID. :param pulumi.Input[str] instance_charge_type: instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). :param pulumi.Input[str] master_db_instance_id: ID of the primary instance to which the read-only replica belongs. :param pulumi.Input[int] memory: Memory size(in GB). Allowed value must be larger than `memory` that data source `postgresql_get_specinfos` provides. @@ -796,6 +919,8 @@ def __init__(__self__, ## Example Usage + ### Create postgresql readonly instance + ```python import pulumi @@ -819,7 +944,7 @@ def __init__(__self__, 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", @@ -830,6 +955,7 @@ def __init__(__self__, tags={ "test": "tf", }) + # create postgresql readonly group example_readonly_group = tencentcloud.postgresql.ReadonlyGroup("exampleReadonlyGroup", master_db_instance_id=example_instance.id, project_id=0, @@ -847,12 +973,13 @@ def __init__(__self__, tags={ "example": "test", }) + # create postgresql readonly instance example_readonly_instance = tencentcloud.postgresql.ReadonlyInstance("exampleReadonlyInstance", read_only_group_id=example_readonly_group.id, master_db_instance_id=example_instance.id, zone=availability_zone, auto_renew_flag=0, - db_version="10.4", + db_version="10.23", instance_charge_type="POSTPAID_BY_HOUR", memory=4, cpu=2, @@ -865,12 +992,97 @@ def __init__(__self__, ``` + ### Create postgresql readonly instance of CDC + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="10.0.20.0/28", + is_multicast=False) + # create postgresql + example_instance = tencentcloud.postgresql.Instance("exampleInstance", + availability_zone=availability_zone, + charge_type="POSTPAID_BY_HOUR", + vpc_id=vpc.id, + subnet_id=subnet.id, + db_major_version="10", + root_user="root123", + root_password="Root123$", + charset="UTF8", + project_id=0, + memory=2, + cpu=1, + storage=10, + db_node_sets=[ + tencentcloud.postgresql.InstanceDbNodeSetArgs( + role="Primary", + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + tencentcloud.postgresql.InstanceDbNodeSetArgs( + zone=availability_zone, + dedicated_cluster_id="cluster-262n63e8", + ), + ], + tags={ + "CreateBy": "terraform", + }) + # create postgresql readonly group + example_readonly_group = tencentcloud.postgresql.ReadonlyGroup("exampleReadonlyGroup", + master_db_instance_id=example_instance.id, + project_id=0, + vpc_id=vpc.id, + subnet_id=subnet.id, + replay_lag_eliminate=1, + replay_latency_eliminate=1, + max_replay_lag=100, + max_replay_latency=512, + min_delay_eliminate_reserve=1) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="sg desc.", + project_id=0, + tags={ + "CreateBy": "terraform", + }) + # create postgresql readonly instance + example_readonly_instance = tencentcloud.postgresql.ReadonlyInstance("exampleReadonlyInstance", + read_only_group_id=example_readonly_group.id, + master_db_instance_id=example_instance.id, + zone=availability_zone, + auto_renew_flag=0, + db_version="10.23", + instance_charge_type="POSTPAID_BY_HOUR", + memory=4, + cpu=2, + storage=250, + vpc_id=vpc.id, + subnet_id=subnet.id, + need_support_ipv6=0, + project_id=0, + dedicated_cluster_id="cluster-262n63e8", + security_groups_ids=[example_group.id]) + ``` + + ## Import postgresql readonly instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example instance_id + $ pulumi import tencentcloud:Postgresql/readonlyInstance:ReadonlyInstance example pgro-gih5m0ke ``` :param str resource_name: The name of the resource. @@ -892,6 +1104,7 @@ def _internal_init(__self__, auto_voucher: Optional[pulumi.Input[int]] = None, cpu: Optional[pulumi.Input[int]] = None, db_version: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, master_db_instance_id: Optional[pulumi.Input[str]] = None, memory: Optional[pulumi.Input[int]] = None, @@ -921,6 +1134,7 @@ def _internal_init(__self__, if db_version is None and not opts.urn: raise TypeError("Missing required property 'db_version'") __props__.__dict__["db_version"] = db_version + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["instance_charge_type"] = instance_charge_type if master_db_instance_id is None and not opts.urn: raise TypeError("Missing required property 'master_db_instance_id'") @@ -970,6 +1184,7 @@ def get(resource_name: str, cpu: Optional[pulumi.Input[int]] = None, create_time: Optional[pulumi.Input[str]] = None, db_version: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, instance_charge_type: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, master_db_instance_id: Optional[pulumi.Input[str]] = None, @@ -999,6 +1214,7 @@ 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_version: PostgreSQL kernel version, which must be the same as that of the primary instance. + :param pulumi.Input[str] dedicated_cluster_id: Dedicated cluster ID. :param pulumi.Input[str] instance_charge_type: instance billing mode. Valid values: PREPAID (monthly subscription), POSTPAID_BY_HOUR (pay-as-you-go). :param pulumi.Input[str] instance_id: The instance ID of this readonly resource. :param pulumi.Input[str] master_db_instance_id: ID of the primary instance to which the read-only replica belongs. @@ -1026,6 +1242,7 @@ def get(resource_name: str, __props__.__dict__["cpu"] = cpu __props__.__dict__["create_time"] = create_time __props__.__dict__["db_version"] = db_version + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["instance_charge_type"] = instance_charge_type __props__.__dict__["instance_id"] = instance_id __props__.__dict__["master_db_instance_id"] = master_db_instance_id @@ -1085,6 +1302,14 @@ def db_version(self) -> pulumi.Output[str]: """ return pulumi.get(self, "db_version") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> pulumi.Output[Optional[str]]: + """ + Dedicated cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter(name="instanceChargeType") def instance_charge_type(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/privatedns/record.py b/sdk/python/tencentcloud_iac_pulumi/privatedns/record.py index 18303cfe6..bf4036a2e 100644 --- a/sdk/python/tencentcloud_iac_pulumi/privatedns/record.py +++ b/sdk/python/tencentcloud_iac_pulumi/privatedns/record.py @@ -23,9 +23,9 @@ def __init__(__self__, *, weight: Optional[pulumi.Input[int]] = None): """ The set of arguments for constructing a Record resource. - :param pulumi.Input[str] record_type: Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + :param pulumi.Input[str] record_type: Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. :param pulumi.Input[str] record_value: Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. - :param pulumi.Input[str] sub_domain: Subdomain, such as "www", "m", and "@". + :param pulumi.Input[str] sub_domain: Subdomain, such as `www`, `m`, and `@`. :param pulumi.Input[str] zone_id: Private domain ID. :param pulumi.Input[int] mx: MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. :param pulumi.Input[int] ttl: Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. @@ -46,7 +46,7 @@ def __init__(__self__, *, @pulumi.getter(name="recordType") def record_type(self) -> pulumi.Input[str]: """ - Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. """ return pulumi.get(self, "record_type") @@ -70,7 +70,7 @@ def record_value(self, value: pulumi.Input[str]): @pulumi.getter(name="subDomain") def sub_domain(self) -> pulumi.Input[str]: """ - Subdomain, such as "www", "m", and "@". + Subdomain, such as `www`, `m`, and `@`. """ return pulumi.get(self, "sub_domain") @@ -140,9 +140,9 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Record resources. :param pulumi.Input[int] mx: MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. - :param pulumi.Input[str] record_type: Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + :param pulumi.Input[str] record_type: Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. :param pulumi.Input[str] record_value: Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. - :param pulumi.Input[str] sub_domain: Subdomain, such as "www", "m", and "@". + :param pulumi.Input[str] sub_domain: Subdomain, such as `www`, `m`, and `@`. :param pulumi.Input[int] ttl: Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. :param pulumi.Input[int] weight: Record weight. Value range: 1~100. :param pulumi.Input[str] zone_id: Private domain ID. @@ -178,7 +178,7 @@ def mx(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="recordType") def record_type(self) -> Optional[pulumi.Input[str]]: """ - Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. """ return pulumi.get(self, "record_type") @@ -202,7 +202,7 @@ def record_value(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="subDomain") def sub_domain(self) -> Optional[pulumi.Input[str]]: """ - Subdomain, such as "www", "m", and "@". + Subdomain, such as `www`, `m`, and `@`. """ return pulumi.get(self, "sub_domain") @@ -270,7 +270,9 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud + # create vpc vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create private dns zone example_zone = tencentcloud.private_dns.Zone("exampleZone", domain="domain.com", remark="remark.", @@ -283,6 +285,7 @@ def __init__(__self__, tags={ "createdBy": "terraform", }) + # create private dns record example_record = tencentcloud.private_dns.Record("exampleRecord", zone_id=example_zone.id, record_type="A", @@ -305,9 +308,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] mx: MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. - :param pulumi.Input[str] record_type: Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + :param pulumi.Input[str] record_type: Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. :param pulumi.Input[str] record_value: Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. - :param pulumi.Input[str] sub_domain: Subdomain, such as "www", "m", and "@". + :param pulumi.Input[str] sub_domain: Subdomain, such as `www`, `m`, and `@`. :param pulumi.Input[int] ttl: Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. :param pulumi.Input[int] weight: Record weight. Value range: 1~100. :param pulumi.Input[str] zone_id: Private domain ID. @@ -328,7 +331,9 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud + # create vpc vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create private dns zone example_zone = tencentcloud.private_dns.Zone("exampleZone", domain="domain.com", remark="remark.", @@ -341,6 +346,7 @@ def __init__(__self__, tags={ "createdBy": "terraform", }) + # create private dns record example_record = tencentcloud.private_dns.Record("exampleRecord", zone_id=example_zone.id, record_type="A", @@ -431,9 +437,9 @@ 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[int] mx: MX priority, which is required when the record type is MX. Valid values: 5, 10, 15, 20, 30, 40, 50. - :param pulumi.Input[str] record_type: Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + :param pulumi.Input[str] record_type: Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. :param pulumi.Input[str] record_value: Record value, such as IP: 192.168.10.2, CNAME: cname.qcloud.com, and MX: mail.qcloud.com. - :param pulumi.Input[str] sub_domain: Subdomain, such as "www", "m", and "@". + :param pulumi.Input[str] sub_domain: Subdomain, such as `www`, `m`, and `@`. :param pulumi.Input[int] ttl: Record cache time. The smaller the value, the faster the record will take effect. Value range: 1~86400s. :param pulumi.Input[int] weight: Record weight. Value range: 1~100. :param pulumi.Input[str] zone_id: Private domain ID. @@ -463,7 +469,7 @@ def mx(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="recordType") def record_type(self) -> pulumi.Output[str]: """ - Record type. Valid values: "A", "AAAA", "CNAME", "MX", "TXT", "PTR". + Record type. Valid values: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `PTR`. """ return pulumi.get(self, "record_type") @@ -479,7 +485,7 @@ def record_value(self) -> pulumi.Output[str]: @pulumi.getter(name="subDomain") def sub_domain(self) -> pulumi.Output[str]: """ - Subdomain, such as "www", "m", and "@". + Subdomain, such as `www`, `m`, and `@`. """ return pulumi.get(self, "sub_domain") diff --git a/sdk/python/tencentcloud_iac_pulumi/provider.py b/sdk/python/tencentcloud_iac_pulumi/provider.py index 10d023a2f..96a3cb0ee 100644 --- a/sdk/python/tencentcloud_iac_pulumi/provider.py +++ b/sdk/python/tencentcloud_iac_pulumi/provider.py @@ -16,7 +16,12 @@ class ProviderArgs: def __init__(__self__, *, assume_role: Optional[pulumi.Input['ProviderAssumeRoleArgs']] = None, + assume_role_with_saml: Optional[pulumi.Input['ProviderAssumeRoleWithSamlArgs']] = None, + assume_role_with_web_identity: Optional[pulumi.Input['ProviderAssumeRoleWithWebIdentityArgs']] = None, + cam_role_name: Optional[pulumi.Input[str]] = None, + cos_domain: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + enable_pod_oidc: Optional[pulumi.Input[bool]] = None, profile: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, @@ -27,16 +32,22 @@ def __init__(__self__, *, """ The set of arguments for constructing a Provider resource. :param pulumi.Input['ProviderAssumeRoleArgs'] assume_role: The `assume_role` block. If provided, terraform will attempt to assume this role using the supplied credentials. + :param pulumi.Input['ProviderAssumeRoleWithSamlArgs'] assume_role_with_saml: The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied + credentials. + :param pulumi.Input['ProviderAssumeRoleWithWebIdentityArgs'] assume_role_with_web_identity: The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied + credentials. + :param pulumi.Input[str] cam_role_name: The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + :param pulumi.Input[str] cos_domain: The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. :param pulumi.Input[str] domain: The root domain of the API request, Default is `tencentcloudapi.com`. + :param pulumi.Input[bool] enable_pod_oidc: Whether to enable pod oidc. :param pulumi.Input[str] profile: The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment variable. If not set, the default profile created with `tccli configure` will be used. :param pulumi.Input[str] protocol: The protocol of the API request. Valid values: `HTTP` and `HTTPS`. Default is `HTTPS`. - :param pulumi.Input[str] region: This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - environment variables. The default input value is ap-guangzhou. - :param pulumi.Input[str] secret_id: This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - environment variable. - :param pulumi.Input[str] secret_key: This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - environment variable. + :param pulumi.Input[str] region: This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + default input value is ap-guangzhou. + :param pulumi.Input[str] secret_id: This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. + :param pulumi.Input[str] secret_key: This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. :param pulumi.Input[str] security_token: TencentCloud Security Token of temporary access credentials. It can be sourced from the `TENCENTCLOUD_SECURITY_TOKEN` environment variable. Notice: for supported products, please refer to: [temporary key supported products](https://intl.cloud.tencent.com/document/product/598/10588). @@ -45,8 +56,18 @@ def __init__(__self__, *, """ if assume_role is not None: pulumi.set(__self__, "assume_role", assume_role) + if assume_role_with_saml is not None: + pulumi.set(__self__, "assume_role_with_saml", assume_role_with_saml) + if assume_role_with_web_identity is not None: + pulumi.set(__self__, "assume_role_with_web_identity", assume_role_with_web_identity) + if cam_role_name is not None: + pulumi.set(__self__, "cam_role_name", cam_role_name) + if cos_domain is not None: + pulumi.set(__self__, "cos_domain", cos_domain) if domain is not None: pulumi.set(__self__, "domain", domain) + if enable_pod_oidc is not None: + pulumi.set(__self__, "enable_pod_oidc", enable_pod_oidc) if profile is not None: pulumi.set(__self__, "profile", profile) if protocol is not None: @@ -82,6 +103,57 @@ def assume_role(self) -> Optional[pulumi.Input['ProviderAssumeRoleArgs']]: def assume_role(self, value: Optional[pulumi.Input['ProviderAssumeRoleArgs']]): pulumi.set(self, "assume_role", value) + @property + @pulumi.getter(name="assumeRoleWithSaml") + def assume_role_with_saml(self) -> Optional[pulumi.Input['ProviderAssumeRoleWithSamlArgs']]: + """ + The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied + credentials. + """ + return pulumi.get(self, "assume_role_with_saml") + + @assume_role_with_saml.setter + def assume_role_with_saml(self, value: Optional[pulumi.Input['ProviderAssumeRoleWithSamlArgs']]): + pulumi.set(self, "assume_role_with_saml", value) + + @property + @pulumi.getter(name="assumeRoleWithWebIdentity") + def assume_role_with_web_identity(self) -> Optional[pulumi.Input['ProviderAssumeRoleWithWebIdentityArgs']]: + """ + The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied + credentials. + """ + return pulumi.get(self, "assume_role_with_web_identity") + + @assume_role_with_web_identity.setter + def assume_role_with_web_identity(self, value: Optional[pulumi.Input['ProviderAssumeRoleWithWebIdentityArgs']]): + pulumi.set(self, "assume_role_with_web_identity", value) + + @property + @pulumi.getter(name="camRoleName") + def cam_role_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + """ + return pulumi.get(self, "cam_role_name") + + @cam_role_name.setter + def cam_role_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cam_role_name", value) + + @property + @pulumi.getter(name="cosDomain") + def cos_domain(self) -> Optional[pulumi.Input[str]]: + """ + The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + """ + return pulumi.get(self, "cos_domain") + + @cos_domain.setter + def cos_domain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cos_domain", value) + @property @pulumi.getter def domain(self) -> Optional[pulumi.Input[str]]: @@ -94,6 +166,18 @@ def domain(self) -> Optional[pulumi.Input[str]]: def domain(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain", value) + @property + @pulumi.getter(name="enablePodOidc") + def enable_pod_oidc(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable pod oidc. + """ + return pulumi.get(self, "enable_pod_oidc") + + @enable_pod_oidc.setter + def enable_pod_oidc(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_pod_oidc", value) + @property @pulumi.getter def profile(self) -> Optional[pulumi.Input[str]]: @@ -123,8 +207,8 @@ def protocol(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: """ - This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - environment variables. The default input value is ap-guangzhou. + This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + default input value is ap-guangzhou. """ return pulumi.get(self, "region") @@ -136,8 +220,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="secretId") def secret_id(self) -> Optional[pulumi.Input[str]]: """ - This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - environment variable. + This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. """ return pulumi.get(self, "secret_id") @@ -149,8 +232,7 @@ def secret_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="secretKey") def secret_key(self) -> Optional[pulumi.Input[str]]: """ - This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - environment variable. + This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. """ return pulumi.get(self, "secret_key") @@ -192,7 +274,12 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, assume_role: Optional[pulumi.Input[pulumi.InputType['ProviderAssumeRoleArgs']]] = None, + assume_role_with_saml: Optional[pulumi.Input[pulumi.InputType['ProviderAssumeRoleWithSamlArgs']]] = None, + assume_role_with_web_identity: Optional[pulumi.Input[pulumi.InputType['ProviderAssumeRoleWithWebIdentityArgs']]] = None, + cam_role_name: Optional[pulumi.Input[str]] = None, + cos_domain: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + enable_pod_oidc: Optional[pulumi.Input[bool]] = None, profile: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, @@ -210,16 +297,22 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['ProviderAssumeRoleArgs']] assume_role: The `assume_role` block. If provided, terraform will attempt to assume this role using the supplied credentials. + :param pulumi.Input[pulumi.InputType['ProviderAssumeRoleWithSamlArgs']] assume_role_with_saml: The `assume_role_with_saml` block. If provided, terraform will attempt to assume this role using the supplied + credentials. + :param pulumi.Input[pulumi.InputType['ProviderAssumeRoleWithWebIdentityArgs']] assume_role_with_web_identity: The `assume_role_with_web_identity` block. If provided, terraform will attempt to assume this role using the supplied + credentials. + :param pulumi.Input[str] cam_role_name: The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + :param pulumi.Input[str] cos_domain: The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. :param pulumi.Input[str] domain: The root domain of the API request, Default is `tencentcloudapi.com`. + :param pulumi.Input[bool] enable_pod_oidc: Whether to enable pod oidc. :param pulumi.Input[str] profile: The profile name as set in the shared credentials. It can also be sourced from the `TENCENTCLOUD_PROFILE` environment variable. If not set, the default profile created with `tccli configure` will be used. :param pulumi.Input[str] protocol: The protocol of the API request. Valid values: `HTTP` and `HTTPS`. Default is `HTTPS`. - :param pulumi.Input[str] region: This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - environment variables. The default input value is ap-guangzhou. - :param pulumi.Input[str] secret_id: This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - environment variable. - :param pulumi.Input[str] secret_key: This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - environment variable. + :param pulumi.Input[str] region: This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + default input value is ap-guangzhou. + :param pulumi.Input[str] secret_id: This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. + :param pulumi.Input[str] secret_key: This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. :param pulumi.Input[str] security_token: TencentCloud Security Token of temporary access credentials. It can be sourced from the `TENCENTCLOUD_SECURITY_TOKEN` environment variable. Notice: for supported products, please refer to: [temporary key supported products](https://intl.cloud.tencent.com/document/product/598/10588). @@ -254,7 +347,12 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, assume_role: Optional[pulumi.Input[pulumi.InputType['ProviderAssumeRoleArgs']]] = None, + assume_role_with_saml: Optional[pulumi.Input[pulumi.InputType['ProviderAssumeRoleWithSamlArgs']]] = None, + assume_role_with_web_identity: Optional[pulumi.Input[pulumi.InputType['ProviderAssumeRoleWithWebIdentityArgs']]] = None, + cam_role_name: Optional[pulumi.Input[str]] = None, + cos_domain: Optional[pulumi.Input[str]] = None, domain: Optional[pulumi.Input[str]] = None, + enable_pod_oidc: Optional[pulumi.Input[bool]] = None, profile: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, @@ -272,7 +370,12 @@ def _internal_init(__self__, __props__ = ProviderArgs.__new__(ProviderArgs) __props__.__dict__["assume_role"] = pulumi.Output.from_input(assume_role).apply(pulumi.runtime.to_json) if assume_role is not None else None + __props__.__dict__["assume_role_with_saml"] = pulumi.Output.from_input(assume_role_with_saml).apply(pulumi.runtime.to_json) if assume_role_with_saml is not None else None + __props__.__dict__["assume_role_with_web_identity"] = pulumi.Output.from_input(assume_role_with_web_identity).apply(pulumi.runtime.to_json) if assume_role_with_web_identity is not None else None + __props__.__dict__["cam_role_name"] = cam_role_name + __props__.__dict__["cos_domain"] = cos_domain __props__.__dict__["domain"] = domain + __props__.__dict__["enable_pod_oidc"] = pulumi.Output.from_input(enable_pod_oidc).apply(pulumi.runtime.to_json) if enable_pod_oidc is not None else None __props__.__dict__["profile"] = profile __props__.__dict__["protocol"] = protocol if region is None: @@ -296,6 +399,23 @@ def _internal_init(__self__, __props__, opts) + @property + @pulumi.getter(name="camRoleName") + def cam_role_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the CVM instance CAM role. It can be sourced from the `TENCENTCLOUD_CAM_ROLE_NAME` environment variable. + """ + return pulumi.get(self, "cam_role_name") + + @property + @pulumi.getter(name="cosDomain") + def cos_domain(self) -> pulumi.Output[Optional[str]]: + """ + The cos domain of the API request, Default is `https://cos.{region}.myqcloud.com`, Other Examples: + `https://cluster-123456.cos-cdc.ap-guangzhou.myqcloud.com`. + """ + return pulumi.get(self, "cos_domain") + @property @pulumi.getter def domain(self) -> pulumi.Output[Optional[str]]: @@ -325,8 +445,8 @@ def protocol(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def region(self) -> pulumi.Output[Optional[str]]: """ - This is the TencentCloud region. It must be provided, but it can also be sourced from the `TENCENTCLOUD_REGION` - environment variables. The default input value is ap-guangzhou. + This is the TencentCloud region. It can also be sourced from the `TENCENTCLOUD_REGION` environment variables. The + default input value is ap-guangzhou. """ return pulumi.get(self, "region") @@ -334,8 +454,7 @@ def region(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="secretId") def secret_id(self) -> pulumi.Output[Optional[str]]: """ - This is the TencentCloud access key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_ID` - environment variable. + This is the TencentCloud access key. It can also be sourced from the `TENCENTCLOUD_SECRET_ID` environment variable. """ return pulumi.get(self, "secret_id") @@ -343,8 +462,7 @@ def secret_id(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="secretKey") def secret_key(self) -> pulumi.Output[Optional[str]]: """ - This is the TencentCloud secret key. It must be provided, but it can also be sourced from the `TENCENTCLOUD_SECRET_KEY` - environment variable. + This is the TencentCloud secret key. It can also be sourced from the `TENCENTCLOUD_SECRET_KEY` environment variable. """ return pulumi.get(self, "secret_key") diff --git a/sdk/python/tencentcloud_iac_pulumi/redis/__init__.py b/sdk/python/tencentcloud_iac_pulumi/redis/__init__.py index f71455780..4d16499be 100644 --- a/sdk/python/tencentcloud_iac_pulumi/redis/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/redis/__init__.py @@ -13,6 +13,7 @@ from .connection_config import * from .get_backup import * from .get_backup_download_info import * +from .get_clusters import * from .get_instance_node_info import * from .get_instance_shards import * from .get_instance_task_list import * @@ -21,6 +22,7 @@ from .get_param_records import * from .get_zone_config import * from .instance import * +from .log_delivery import * from .maintenance_window import * from .param import * from .param_template import * diff --git a/sdk/python/tencentcloud_iac_pulumi/redis/get_clusters.py b/sdk/python/tencentcloud_iac_pulumi/redis/get_clusters.py new file mode 100644 index 000000000..e62520844 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/redis/get_clusters.py @@ -0,0 +1,279 @@ +# 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 + +__all__ = [ + 'GetClustersResult', + 'AwaitableGetClustersResult', + 'get_clusters', + 'get_clusters_output', +] + +@pulumi.output_type +class GetClustersResult: + """ + A collection of values returned by getClusters. + """ + def __init__(__self__, auto_renew_flags=None, cluster_name=None, dedicated_cluster_id=None, id=None, project_ids=None, redis_cluster_ids=None, resources=None, result_output_file=None, statuses=None): + if auto_renew_flags and not isinstance(auto_renew_flags, list): + raise TypeError("Expected argument 'auto_renew_flags' to be a list") + pulumi.set(__self__, "auto_renew_flags", auto_renew_flags) + if cluster_name and not isinstance(cluster_name, str): + raise TypeError("Expected argument 'cluster_name' to be a str") + pulumi.set(__self__, "cluster_name", cluster_name) + if dedicated_cluster_id and not isinstance(dedicated_cluster_id, str): + raise TypeError("Expected argument 'dedicated_cluster_id' to be a str") + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if project_ids and not isinstance(project_ids, list): + raise TypeError("Expected argument 'project_ids' to be a list") + pulumi.set(__self__, "project_ids", project_ids) + if redis_cluster_ids and not isinstance(redis_cluster_ids, list): + raise TypeError("Expected argument 'redis_cluster_ids' to be a list") + pulumi.set(__self__, "redis_cluster_ids", redis_cluster_ids) + if resources and not isinstance(resources, list): + raise TypeError("Expected argument 'resources' to be a list") + pulumi.set(__self__, "resources", resources) + 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) + if statuses and not isinstance(statuses, list): + raise TypeError("Expected argument 'statuses' to be a list") + pulumi.set(__self__, "statuses", statuses) + + @property + @pulumi.getter(name="autoRenewFlags") + def auto_renew_flags(self) -> Optional[Sequence[int]]: + """ + Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + """ + return pulumi.get(self, "auto_renew_flags") + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[str]: + """ + Cluster name. + """ + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[str]: + """ + Dedicated cluster Id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @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="projectIds") + def project_ids(self) -> Optional[Sequence[int]]: + return pulumi.get(self, "project_ids") + + @property + @pulumi.getter(name="redisClusterIds") + def redis_cluster_ids(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "redis_cluster_ids") + + @property + @pulumi.getter + def resources(self) -> Sequence['outputs.GetClustersResourceResult']: + """ + . + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + @property + @pulumi.getter + def statuses(self) -> Optional[Sequence[int]]: + """ + Cluster status: 1- In process, 2- Running, 3- Isolated. + """ + return pulumi.get(self, "statuses") + + +class AwaitableGetClustersResult(GetClustersResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClustersResult( + auto_renew_flags=self.auto_renew_flags, + cluster_name=self.cluster_name, + dedicated_cluster_id=self.dedicated_cluster_id, + id=self.id, + project_ids=self.project_ids, + redis_cluster_ids=self.redis_cluster_ids, + resources=self.resources, + result_output_file=self.result_output_file, + statuses=self.statuses) + + +def get_clusters(auto_renew_flags: Optional[Sequence[int]] = None, + cluster_name: Optional[str] = None, + dedicated_cluster_id: Optional[str] = None, + project_ids: Optional[Sequence[int]] = None, + redis_cluster_ids: Optional[Sequence[str]] = None, + result_output_file: Optional[str] = None, + statuses: Optional[Sequence[int]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClustersResult: + """ + Use this data source to query detailed information of redis clusters + + ## Example Usage + + ### Query all instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + clusters = tencentcloud.Redis.get_clusters() + ``` + + + ### Also Support the following query conditions + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + clusters = tencentcloud.Redis.get_clusters(auto_renew_flags=[ + 0, + 1, + 2, + ], + cluster_name="crs-cdc-9nyfki8h", + dedicated_cluster_id="cluster-0astoh6a", + project_ids=[ + 0, + 1, + ], + redis_cluster_ids=["crs-cdc-9nyfki8h"], + statuses=[ + 0, + 1, + 2, + ]) + ``` + + + + :param Sequence[int] auto_renew_flags: Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + :param str cluster_name: Cluster name. + :param str dedicated_cluster_id: Dedicated cluster Id. + :param Sequence[int] project_ids: Project Ids. + :param Sequence[str] redis_cluster_ids: Redis Cluster Ids. + :param str result_output_file: Used to save results. + :param Sequence[int] statuses: Cluster status: 1- In process, 2- Running, 3- Isolated. + """ + __args__ = dict() + __args__['autoRenewFlags'] = auto_renew_flags + __args__['clusterName'] = cluster_name + __args__['dedicatedClusterId'] = dedicated_cluster_id + __args__['projectIds'] = project_ids + __args__['redisClusterIds'] = redis_cluster_ids + __args__['resultOutputFile'] = result_output_file + __args__['statuses'] = statuses + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Redis/getClusters:getClusters', __args__, opts=opts, typ=GetClustersResult).value + + return AwaitableGetClustersResult( + auto_renew_flags=pulumi.get(__ret__, 'auto_renew_flags'), + cluster_name=pulumi.get(__ret__, 'cluster_name'), + dedicated_cluster_id=pulumi.get(__ret__, 'dedicated_cluster_id'), + id=pulumi.get(__ret__, 'id'), + project_ids=pulumi.get(__ret__, 'project_ids'), + redis_cluster_ids=pulumi.get(__ret__, 'redis_cluster_ids'), + resources=pulumi.get(__ret__, 'resources'), + result_output_file=pulumi.get(__ret__, 'result_output_file'), + statuses=pulumi.get(__ret__, 'statuses')) + + +@_utilities.lift_output_func(get_clusters) +def get_clusters_output(auto_renew_flags: Optional[pulumi.Input[Optional[Sequence[int]]]] = None, + cluster_name: Optional[pulumi.Input[Optional[str]]] = None, + dedicated_cluster_id: Optional[pulumi.Input[Optional[str]]] = None, + project_ids: Optional[pulumi.Input[Optional[Sequence[int]]]] = None, + redis_cluster_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + statuses: Optional[pulumi.Input[Optional[Sequence[int]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClustersResult]: + """ + Use this data source to query detailed information of redis clusters + + ## Example Usage + + ### Query all instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + clusters = tencentcloud.Redis.get_clusters() + ``` + + + ### Also Support the following query conditions + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + clusters = tencentcloud.Redis.get_clusters(auto_renew_flags=[ + 0, + 1, + 2, + ], + cluster_name="crs-cdc-9nyfki8h", + dedicated_cluster_id="cluster-0astoh6a", + project_ids=[ + 0, + 1, + ], + redis_cluster_ids=["crs-cdc-9nyfki8h"], + statuses=[ + 0, + 1, + 2, + ]) + ``` + + + + :param Sequence[int] auto_renew_flags: Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + :param str cluster_name: Cluster name. + :param str dedicated_cluster_id: Dedicated cluster Id. + :param Sequence[int] project_ids: Project Ids. + :param Sequence[str] redis_cluster_ids: Redis Cluster Ids. + :param str result_output_file: Used to save results. + :param Sequence[int] statuses: Cluster status: 1- In process, 2- Running, 3- Isolated. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/redis/instance.py b/sdk/python/tencentcloud_iac_pulumi/redis/instance.py index 0a759dbaf..62c852ea8 100644 --- a/sdk/python/tencentcloud_iac_pulumi/redis/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/redis/instance.py @@ -29,8 +29,10 @@ def __init__(__self__, *, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + product_version: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, recycle: Optional[pulumi.Input[int]] = None, + redis_cluster_id: Optional[pulumi.Input[str]] = None, redis_replicas_num: Optional[pulumi.Input[int]] = None, redis_shard_num: Optional[pulumi.Input[int]] = None, replica_zone_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, @@ -57,8 +59,10 @@ def __init__(__self__, *, :param pulumi.Input[str] password: Password for a Redis user, which should be 8 to 16 characters. NOTE: Only `no_auth=true` specified can make password empty. :param pulumi.Input[int] port: The port used to access a redis instance. The default value is 6379. When the `operation_network` is `changeVPort` or `changeVip`, this parameter needs to be configured. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when 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] product_version: Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. :param pulumi.Input[int] project_id: Specifies which project the instance should belong to. :param pulumi.Input[int] recycle: Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. + :param pulumi.Input[str] redis_cluster_id: Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. :param pulumi.Input[int] redis_replicas_num: The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. :param pulumi.Input[int] redis_shard_num: The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, `24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. :param pulumi.Input[Sequence[pulumi.Input[int]]] replica_zone_ids: ID of replica nodes available zone. This is not required for standalone and master slave versions. NOTE: Removing some of the same zone of replicas (e.g. removing 100001 of [100001, 100001, 100002]) will pick the first hit to remove. @@ -95,10 +99,14 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if prepaid_period is not None: pulumi.set(__self__, "prepaid_period", prepaid_period) + if product_version is not None: + pulumi.set(__self__, "product_version", product_version) if project_id is not None: pulumi.set(__self__, "project_id", project_id) if recycle is not None: pulumi.set(__self__, "recycle", recycle) + if redis_cluster_id is not None: + pulumi.set(__self__, "redis_cluster_id", redis_cluster_id) if redis_replicas_num is not None: pulumi.set(__self__, "redis_replicas_num", redis_replicas_num) if redis_shard_num is not None: @@ -281,6 +289,18 @@ def prepaid_period(self) -> Optional[pulumi.Input[int]]: def prepaid_period(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "prepaid_period", value) + @property + @pulumi.getter(name="productVersion") + def product_version(self) -> Optional[pulumi.Input[str]]: + """ + Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + """ + return pulumi.get(self, "product_version") + + @product_version.setter + def product_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "product_version", value) + @property @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[int]]: @@ -305,6 +325,18 @@ def recycle(self) -> Optional[pulumi.Input[int]]: def recycle(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "recycle", value) + @property + @pulumi.getter(name="redisClusterId") + def redis_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. + """ + return pulumi.get(self, "redis_cluster_id") + + @redis_cluster_id.setter + def redis_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "redis_cluster_id", value) + @property @pulumi.getter(name="redisReplicasNum") def redis_replicas_num(self) -> Optional[pulumi.Input[int]]: @@ -448,6 +480,7 @@ def __init__(__self__, *, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, force_delete: Optional[pulumi.Input[bool]] = None, ip: Optional[pulumi.Input[str]] = None, mem_size: Optional[pulumi.Input[int]] = None, @@ -459,8 +492,10 @@ def __init__(__self__, *, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + product_version: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, recycle: Optional[pulumi.Input[int]] = None, + redis_cluster_id: Optional[pulumi.Input[str]] = None, redis_replicas_num: Optional[pulumi.Input[int]] = None, redis_shard_num: Optional[pulumi.Input[int]] = None, replica_zone_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, @@ -479,6 +514,7 @@ def __init__(__self__, *, :param pulumi.Input[str] availability_zone: The available zone ID of an instance to be created, please refer to `tencentcloud_redis_zone_config.list`. :param pulumi.Input[str] charge_type: The charge type of instance. Valid values: `PREPAID` and `POSTPAID`. Default value is `POSTPAID`. Note: TencentCloud International only supports `POSTPAID`. Caution that update operation on this field will delete old instances and create new with new charge type. :param pulumi.Input[str] create_time: The time when the instance was created. + :param pulumi.Input[str] dedicated_cluster_id: Dedicated Cluster ID. :param pulumi.Input[bool] force_delete: Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. :param pulumi.Input[str] ip: IP address of an instance. When the `operation_network` is `changeVip`, this parameter needs to be configured. :param pulumi.Input[int] mem_size: The memory volume of an available instance(in MB), please refer to `tencentcloud_redis_zone_config.list[zone].shard_memories`. When redis is standard type, it represents total memory size of the instance; when Redis is cluster type, it represents memory size of per sharding. `512MB` is supported only in master-slave instance. @@ -490,8 +526,10 @@ def __init__(__self__, *, :param pulumi.Input[str] password: Password for a Redis user, which should be 8 to 16 characters. NOTE: Only `no_auth=true` specified can make password empty. :param pulumi.Input[int] port: The port used to access a redis instance. The default value is 6379. When the `operation_network` is `changeVPort` or `changeVip`, this parameter needs to be configured. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when 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] product_version: Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. :param pulumi.Input[int] project_id: Specifies which project the instance should belong to. :param pulumi.Input[int] recycle: Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. + :param pulumi.Input[str] redis_cluster_id: Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. :param pulumi.Input[int] redis_replicas_num: The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. :param pulumi.Input[int] redis_shard_num: The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, `24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. :param pulumi.Input[Sequence[pulumi.Input[int]]] replica_zone_ids: ID of replica nodes available zone. This is not required for standalone and master slave versions. NOTE: Removing some of the same zone of replicas (e.g. removing 100001 of [100001, 100001, 100002]) will pick the first hit to remove. @@ -513,6 +551,8 @@ def __init__(__self__, *, pulumi.set(__self__, "charge_type", charge_type) if create_time is not None: pulumi.set(__self__, "create_time", create_time) + if dedicated_cluster_id is not None: + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) if force_delete is not None: pulumi.set(__self__, "force_delete", force_delete) if ip is not None: @@ -535,10 +575,14 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if prepaid_period is not None: pulumi.set(__self__, "prepaid_period", prepaid_period) + if product_version is not None: + pulumi.set(__self__, "product_version", product_version) if project_id is not None: pulumi.set(__self__, "project_id", project_id) if recycle is not None: pulumi.set(__self__, "recycle", recycle) + if redis_cluster_id is not None: + pulumi.set(__self__, "redis_cluster_id", redis_cluster_id) if redis_replicas_num is not None: pulumi.set(__self__, "redis_replicas_num", redis_replicas_num) if redis_shard_num is not None: @@ -615,6 +659,18 @@ def create_time(self) -> Optional[pulumi.Input[str]]: def create_time(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "create_time", value) + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Dedicated Cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @dedicated_cluster_id.setter + def dedicated_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dedicated_cluster_id", value) + @property @pulumi.getter(name="forceDelete") def force_delete(self) -> Optional[pulumi.Input[bool]]: @@ -747,6 +803,18 @@ def prepaid_period(self) -> Optional[pulumi.Input[int]]: def prepaid_period(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "prepaid_period", value) + @property + @pulumi.getter(name="productVersion") + def product_version(self) -> Optional[pulumi.Input[str]]: + """ + Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + """ + return pulumi.get(self, "product_version") + + @product_version.setter + def product_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "product_version", value) + @property @pulumi.getter(name="projectId") def project_id(self) -> Optional[pulumi.Input[int]]: @@ -771,6 +839,18 @@ def recycle(self) -> Optional[pulumi.Input[int]]: def recycle(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "recycle", value) + @property + @pulumi.getter(name="redisClusterId") + def redis_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. + """ + return pulumi.get(self, "redis_cluster_id") + + @redis_cluster_id.setter + def redis_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "redis_cluster_id", value) + @property @pulumi.getter(name="redisReplicasNum") def redis_replicas_num(self) -> Optional[pulumi.Input[int]]: @@ -937,8 +1017,10 @@ def __init__(__self__, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + product_version: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, recycle: Optional[pulumi.Input[int]] = None, + redis_cluster_id: Optional[pulumi.Input[str]] = None, redis_replicas_num: Optional[pulumi.Input[int]] = None, redis_shard_num: Optional[pulumi.Input[int]] = None, replica_zone_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, @@ -974,10 +1056,10 @@ def __init__(__self__, vpc_id=vpc.id, availability_zone=zone.lists[0].zone, cidr_block="10.0.1.0/24") - foo = tencentcloud.redis.Instance("foo", + example = tencentcloud.redis.Instance("example", availability_zone=zone.lists[0].zone, type_id=zone.lists[0].type_id, - password="test12345789", + password="Password@123", mem_size=8192, redis_shard_num=zone.lists[0].redis_shard_nums[0], redis_replicas_num=zone.lists[0].redis_replicas_nums[0], @@ -987,12 +1069,44 @@ def __init__(__self__, ``` + ### Create a CDC scenario instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + cdc_id = config.get("cdcId") + if cdc_id is None: + cdc_id = "cluster-xxxx" + clusters = tencentcloud.Redis.get_clusters(dedicated_cluster_id=cdc_id) + pulumi.export("name", clusters.resources[0].redis_cluster_id) + zone = tencentcloud.Redis.get_zone_config(type_id=7, + region="ap-guangzhou") + subnets = tencentcloud.Vpc.get_subnets(cdc_id=cdc_id) + example = tencentcloud.redis.Instance("example", + availability_zone=zone.lists[0].zone, + type_id=zone.lists[0].type_id, + password="Password@123", + mem_size=8192, + redis_shard_num=zone.lists[0].redis_shard_nums[0], + redis_replicas_num=zone.lists[0].redis_replicas_nums[0], + port=6379, + vpc_id=subnets.instance_lists[0].vpc_id, + subnet_id=subnets.instance_lists[0].subnet_id, + product_version="cdc", + redis_cluster_id=clusters.resources[0].redis_cluster_id) + ``` + + ## Import Redis instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Redis/instance:Instance redislab redis-id + $ pulumi import tencentcloud:Redis/instance:Instance example crs-iu22tdrf ``` :param str resource_name: The name of the resource. @@ -1010,8 +1124,10 @@ def __init__(__self__, :param pulumi.Input[str] password: Password for a Redis user, which should be 8 to 16 characters. NOTE: Only `no_auth=true` specified can make password empty. :param pulumi.Input[int] port: The port used to access a redis instance. The default value is 6379. When the `operation_network` is `changeVPort` or `changeVip`, this parameter needs to be configured. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when 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] product_version: Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. :param pulumi.Input[int] project_id: Specifies which project the instance should belong to. :param pulumi.Input[int] recycle: Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. + :param pulumi.Input[str] redis_cluster_id: Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. :param pulumi.Input[int] redis_replicas_num: The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. :param pulumi.Input[int] redis_shard_num: The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, `24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. :param pulumi.Input[Sequence[pulumi.Input[int]]] replica_zone_ids: ID of replica nodes available zone. This is not required for standalone and master slave versions. NOTE: Removing some of the same zone of replicas (e.g. removing 100001 of [100001, 100001, 100002]) will pick the first hit to remove. @@ -1053,10 +1169,10 @@ def __init__(__self__, vpc_id=vpc.id, availability_zone=zone.lists[0].zone, cidr_block="10.0.1.0/24") - foo = tencentcloud.redis.Instance("foo", + example = tencentcloud.redis.Instance("example", availability_zone=zone.lists[0].zone, type_id=zone.lists[0].type_id, - password="test12345789", + password="Password@123", mem_size=8192, redis_shard_num=zone.lists[0].redis_shard_nums[0], redis_replicas_num=zone.lists[0].redis_replicas_nums[0], @@ -1066,12 +1182,44 @@ def __init__(__self__, ``` + ### Create a CDC scenario instance + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + cdc_id = config.get("cdcId") + if cdc_id is None: + cdc_id = "cluster-xxxx" + clusters = tencentcloud.Redis.get_clusters(dedicated_cluster_id=cdc_id) + pulumi.export("name", clusters.resources[0].redis_cluster_id) + zone = tencentcloud.Redis.get_zone_config(type_id=7, + region="ap-guangzhou") + subnets = tencentcloud.Vpc.get_subnets(cdc_id=cdc_id) + example = tencentcloud.redis.Instance("example", + availability_zone=zone.lists[0].zone, + type_id=zone.lists[0].type_id, + password="Password@123", + mem_size=8192, + redis_shard_num=zone.lists[0].redis_shard_nums[0], + redis_replicas_num=zone.lists[0].redis_replicas_nums[0], + port=6379, + vpc_id=subnets.instance_lists[0].vpc_id, + subnet_id=subnets.instance_lists[0].subnet_id, + product_version="cdc", + redis_cluster_id=clusters.resources[0].redis_cluster_id) + ``` + + ## Import Redis instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Redis/instance:Instance redislab redis-id + $ pulumi import tencentcloud:Redis/instance:Instance example crs-iu22tdrf ``` :param str resource_name: The name of the resource. @@ -1102,8 +1250,10 @@ def _internal_init(__self__, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + product_version: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, recycle: Optional[pulumi.Input[int]] = None, + redis_cluster_id: Optional[pulumi.Input[str]] = None, redis_replicas_num: Optional[pulumi.Input[int]] = None, redis_shard_num: Optional[pulumi.Input[int]] = None, replica_zone_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, @@ -1141,8 +1291,10 @@ def _internal_init(__self__, __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) __props__.__dict__["port"] = port __props__.__dict__["prepaid_period"] = prepaid_period + __props__.__dict__["product_version"] = product_version __props__.__dict__["project_id"] = project_id __props__.__dict__["recycle"] = recycle + __props__.__dict__["redis_cluster_id"] = redis_cluster_id __props__.__dict__["redis_replicas_num"] = redis_replicas_num __props__.__dict__["redis_shard_num"] = redis_shard_num __props__.__dict__["replica_zone_ids"] = replica_zone_ids @@ -1155,6 +1307,7 @@ def _internal_init(__self__, __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["wait_switch"] = wait_switch __props__.__dict__["create_time"] = None + __props__.__dict__["dedicated_cluster_id"] = None __props__.__dict__["node_infos"] = None __props__.__dict__["status"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) @@ -1173,6 +1326,7 @@ def get(resource_name: str, availability_zone: Optional[pulumi.Input[str]] = None, charge_type: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, + dedicated_cluster_id: Optional[pulumi.Input[str]] = None, force_delete: Optional[pulumi.Input[bool]] = None, ip: Optional[pulumi.Input[str]] = None, mem_size: Optional[pulumi.Input[int]] = None, @@ -1184,8 +1338,10 @@ def get(resource_name: str, password: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, prepaid_period: Optional[pulumi.Input[int]] = None, + product_version: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[int]] = None, recycle: Optional[pulumi.Input[int]] = None, + redis_cluster_id: Optional[pulumi.Input[str]] = None, redis_replicas_num: Optional[pulumi.Input[int]] = None, redis_shard_num: Optional[pulumi.Input[int]] = None, replica_zone_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, @@ -1209,6 +1365,7 @@ def get(resource_name: str, :param pulumi.Input[str] availability_zone: The available zone ID of an instance to be created, please refer to `tencentcloud_redis_zone_config.list`. :param pulumi.Input[str] charge_type: The charge type of instance. Valid values: `PREPAID` and `POSTPAID`. Default value is `POSTPAID`. Note: TencentCloud International only supports `POSTPAID`. Caution that update operation on this field will delete old instances and create new with new charge type. :param pulumi.Input[str] create_time: The time when the instance was created. + :param pulumi.Input[str] dedicated_cluster_id: Dedicated Cluster ID. :param pulumi.Input[bool] force_delete: Indicate whether to delete Redis instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin. Note: only works for `PREPAID` instance. :param pulumi.Input[str] ip: IP address of an instance. When the `operation_network` is `changeVip`, this parameter needs to be configured. :param pulumi.Input[int] mem_size: The memory volume of an available instance(in MB), please refer to `tencentcloud_redis_zone_config.list[zone].shard_memories`. When redis is standard type, it represents total memory size of the instance; when Redis is cluster type, it represents memory size of per sharding. `512MB` is supported only in master-slave instance. @@ -1220,8 +1377,10 @@ def get(resource_name: str, :param pulumi.Input[str] password: Password for a Redis user, which should be 8 to 16 characters. NOTE: Only `no_auth=true` specified can make password empty. :param pulumi.Input[int] port: The port used to access a redis instance. The default value is 6379. When the `operation_network` is `changeVPort` or `changeVip`, this parameter needs to be configured. :param pulumi.Input[int] prepaid_period: The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when 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] product_version: Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. :param pulumi.Input[int] project_id: Specifies which project the instance should belong to. :param pulumi.Input[int] recycle: Original intranet IPv4 address retention time: unit: day, value range: `0`, `1`, `2`, `3`, `7`, `15`. + :param pulumi.Input[str] redis_cluster_id: Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. :param pulumi.Input[int] redis_replicas_num: The number of instance copies. This is not required for standalone and master slave versions and must equal to count of `replica_zone_ids`, Non-multi-AZ does not require `replica_zone_ids`; Redis memory version 4.0, 5.0, 6.2 standard architecture and cluster architecture support the number of copies in the range [1, 2, 3, 4, 5]; Redis 2.8 standard version and CKV standard version only support 1 copy. :param pulumi.Input[int] redis_shard_num: The number of instance shards; this parameter does not need to be configured for standard version instances; for cluster version instances, the number of shards ranges from: [`1`, `3`, `5`, `8`, `12`, `16`, `24 `, `32`, `40`, `48`, `64`, `80`, `96`, `128`]. :param pulumi.Input[Sequence[pulumi.Input[int]]] replica_zone_ids: ID of replica nodes available zone. This is not required for standalone and master slave versions. NOTE: Removing some of the same zone of replicas (e.g. removing 100001 of [100001, 100001, 100002]) will pick the first hit to remove. @@ -1243,6 +1402,7 @@ def get(resource_name: str, __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["charge_type"] = charge_type __props__.__dict__["create_time"] = create_time + __props__.__dict__["dedicated_cluster_id"] = dedicated_cluster_id __props__.__dict__["force_delete"] = force_delete __props__.__dict__["ip"] = ip __props__.__dict__["mem_size"] = mem_size @@ -1254,8 +1414,10 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["prepaid_period"] = prepaid_period + __props__.__dict__["product_version"] = product_version __props__.__dict__["project_id"] = project_id __props__.__dict__["recycle"] = recycle + __props__.__dict__["redis_cluster_id"] = redis_cluster_id __props__.__dict__["redis_replicas_num"] = redis_replicas_num __props__.__dict__["redis_shard_num"] = redis_shard_num __props__.__dict__["replica_zone_ids"] = replica_zone_ids @@ -1302,6 +1464,14 @@ def create_time(self) -> pulumi.Output[str]: """ return pulumi.get(self, "create_time") + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> pulumi.Output[str]: + """ + Dedicated Cluster ID. + """ + return pulumi.get(self, "dedicated_cluster_id") + @property @pulumi.getter(name="forceDelete") def force_delete(self) -> pulumi.Output[Optional[bool]]: @@ -1390,6 +1560,14 @@ def prepaid_period(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "prepaid_period") + @property + @pulumi.getter(name="productVersion") + def product_version(self) -> pulumi.Output[str]: + """ + Specify the product version of the instance. `local`: Local disk version, `cloud`: Cloud disk version, `cdc`: Exclusive cluster version. Default is `local`. + """ + return pulumi.get(self, "product_version") + @property @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[Optional[int]]: @@ -1406,6 +1584,14 @@ def recycle(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "recycle") + @property + @pulumi.getter(name="redisClusterId") + def redis_cluster_id(self) -> pulumi.Output[str]: + """ + Exclusive cluster ID. When the `product_version` is set to `cdc`, this parameter must be set. + """ + return pulumi.get(self, "redis_cluster_id") + @property @pulumi.getter(name="redisReplicasNum") def redis_replicas_num(self) -> pulumi.Output[Optional[int]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/redis/log_delivery.py b/sdk/python/tencentcloud_iac_pulumi/redis/log_delivery.py new file mode 100644 index 000000000..bac1f1dde --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/redis/log_delivery.py @@ -0,0 +1,595 @@ +# 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__ = ['LogDeliveryArgs', 'LogDelivery'] + +@pulumi.input_type +class LogDeliveryArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + create_index: Optional[pulumi.Input[bool]] = None, + log_region: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None, + logset_name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + topic_id: Optional[pulumi.Input[str]] = None, + topic_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a LogDelivery resource. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[bool] create_index: Whether to create an index when creating a log topic. + :param pulumi.Input[str] log_region: The region where the log set is located; if not specified, the region where the instance is located will be used by default. + :param pulumi.Input[str] logset_id: The ID of the log set being delivered. + :param pulumi.Input[str] logset_name: Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + :param pulumi.Input[int] period: Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + :param pulumi.Input[str] topic_id: The ID of the topic being delivered. + :param pulumi.Input[str] topic_name: Log topic name, required when TopicId is empty, a new log topic will be automatically created. + """ + pulumi.set(__self__, "instance_id", instance_id) + if create_index is not None: + pulumi.set(__self__, "create_index", create_index) + if log_region is not None: + pulumi.set(__self__, "log_region", log_region) + if logset_id is not None: + pulumi.set(__self__, "logset_id", logset_id) + if logset_name is not None: + pulumi.set(__self__, "logset_name", logset_name) + if period is not None: + pulumi.set(__self__, "period", period) + if topic_id is not None: + pulumi.set(__self__, "topic_id", topic_id) + if topic_name is not None: + pulumi.set(__self__, "topic_name", topic_name) + + @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="createIndex") + def create_index(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create an index when creating a log topic. + """ + return pulumi.get(self, "create_index") + + @create_index.setter + def create_index(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_index", value) + + @property + @pulumi.getter(name="logRegion") + def log_region(self) -> Optional[pulumi.Input[str]]: + """ + The region where the log set is located; if not specified, the region where the instance is located will be used by default. + """ + return pulumi.get(self, "log_region") + + @log_region.setter + def log_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_region", value) + + @property + @pulumi.getter(name="logsetId") + def logset_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the log set being delivered. + """ + return pulumi.get(self, "logset_id") + + @logset_id.setter + def logset_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logset_id", value) + + @property + @pulumi.getter(name="logsetName") + def logset_name(self) -> Optional[pulumi.Input[str]]: + """ + Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + """ + return pulumi.get(self, "logset_name") + + @logset_name.setter + def logset_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logset_name", value) + + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + """ + Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter(name="topicId") + def topic_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the topic being delivered. + """ + return pulumi.get(self, "topic_id") + + @topic_id.setter + def topic_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "topic_id", value) + + @property + @pulumi.getter(name="topicName") + def topic_name(self) -> Optional[pulumi.Input[str]]: + """ + Log topic name, required when TopicId is empty, a new log topic will be automatically created. + """ + return pulumi.get(self, "topic_name") + + @topic_name.setter + def topic_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "topic_name", value) + + +@pulumi.input_type +class _LogDeliveryState: + def __init__(__self__, *, + create_index: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_region: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None, + logset_name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + topic_id: Optional[pulumi.Input[str]] = None, + topic_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering LogDelivery resources. + :param pulumi.Input[bool] create_index: Whether to create an index when creating a log topic. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[str] log_region: The region where the log set is located; if not specified, the region where the instance is located will be used by default. + :param pulumi.Input[str] logset_id: The ID of the log set being delivered. + :param pulumi.Input[str] logset_name: Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + :param pulumi.Input[int] period: Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + :param pulumi.Input[str] topic_id: The ID of the topic being delivered. + :param pulumi.Input[str] topic_name: Log topic name, required when TopicId is empty, a new log topic will be automatically created. + """ + if create_index is not None: + pulumi.set(__self__, "create_index", create_index) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if log_region is not None: + pulumi.set(__self__, "log_region", log_region) + if logset_id is not None: + pulumi.set(__self__, "logset_id", logset_id) + if logset_name is not None: + pulumi.set(__self__, "logset_name", logset_name) + if period is not None: + pulumi.set(__self__, "period", period) + if topic_id is not None: + pulumi.set(__self__, "topic_id", topic_id) + if topic_name is not None: + pulumi.set(__self__, "topic_name", topic_name) + + @property + @pulumi.getter(name="createIndex") + def create_index(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to create an index when creating a log topic. + """ + return pulumi.get(self, "create_index") + + @create_index.setter + def create_index(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "create_index", 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) + + @property + @pulumi.getter(name="logRegion") + def log_region(self) -> Optional[pulumi.Input[str]]: + """ + The region where the log set is located; if not specified, the region where the instance is located will be used by default. + """ + return pulumi.get(self, "log_region") + + @log_region.setter + def log_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_region", value) + + @property + @pulumi.getter(name="logsetId") + def logset_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the log set being delivered. + """ + return pulumi.get(self, "logset_id") + + @logset_id.setter + def logset_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logset_id", value) + + @property + @pulumi.getter(name="logsetName") + def logset_name(self) -> Optional[pulumi.Input[str]]: + """ + Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + """ + return pulumi.get(self, "logset_name") + + @logset_name.setter + def logset_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logset_name", value) + + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + """ + Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter(name="topicId") + def topic_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the topic being delivered. + """ + return pulumi.get(self, "topic_id") + + @topic_id.setter + def topic_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "topic_id", value) + + @property + @pulumi.getter(name="topicName") + def topic_name(self) -> Optional[pulumi.Input[str]]: + """ + Log topic name, required when TopicId is empty, a new log topic will be automatically created. + """ + return pulumi.get(self, "topic_name") + + @topic_name.setter + def topic_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "topic_name", value) + + +class LogDelivery(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + create_index: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_region: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None, + logset_name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + topic_id: Optional[pulumi.Input[str]] = None, + topic_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create Redis instance log delivery land set its attributes. + + > **NOTE:** When you use an existing cls logset and topic to enable logging, there is no need to set parameters such + as `period`, `create_index`, `log_region`, etc. + + ## Example Usage + + ### Use cls logset and topic which existed + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + delivery = tencentcloud.redis.LogDelivery("delivery", + instance_id="crs-dmjj8en7", + logset_id="cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + topic_id="5c2333e9-0bab-41fd-9f75-c602b3f9545f") + ``` + + + ### Use exist cls logset and create new topic + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + delivery = tencentcloud.redis.LogDelivery("delivery", + create_index=True, + instance_id="crs-dmjj8en7", + logset_id="cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + period=20, + topic_name="test13") + ``` + + + ### Create new cls logset and topic + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + delivery = tencentcloud.redis.LogDelivery("delivery", + create_index=True, + instance_id="crs-dmjj8en7", + log_region="ap-guangzhou", + logset_name="test", + period=20, + topic_name="test") + ``` + + + ## Import + + Redis log delivery can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Redis/logDelivery:LogDelivery delivery crs-dmjj8en7 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] create_index: Whether to create an index when creating a log topic. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[str] log_region: The region where the log set is located; if not specified, the region where the instance is located will be used by default. + :param pulumi.Input[str] logset_id: The ID of the log set being delivered. + :param pulumi.Input[str] logset_name: Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + :param pulumi.Input[int] period: Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + :param pulumi.Input[str] topic_id: The ID of the topic being delivered. + :param pulumi.Input[str] topic_name: Log topic name, required when TopicId is empty, a new log topic will be automatically created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LogDeliveryArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create Redis instance log delivery land set its attributes. + + > **NOTE:** When you use an existing cls logset and topic to enable logging, there is no need to set parameters such + as `period`, `create_index`, `log_region`, etc. + + ## Example Usage + + ### Use cls logset and topic which existed + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + delivery = tencentcloud.redis.LogDelivery("delivery", + instance_id="crs-dmjj8en7", + logset_id="cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + topic_id="5c2333e9-0bab-41fd-9f75-c602b3f9545f") + ``` + + + ### Use exist cls logset and create new topic + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + delivery = tencentcloud.redis.LogDelivery("delivery", + create_index=True, + instance_id="crs-dmjj8en7", + logset_id="cc31d9d6-74c0-4888-8b2f-b8148c3bcc5c", + period=20, + topic_name="test13") + ``` + + + ### Create new cls logset and topic + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + delivery = tencentcloud.redis.LogDelivery("delivery", + create_index=True, + instance_id="crs-dmjj8en7", + log_region="ap-guangzhou", + logset_name="test", + period=20, + topic_name="test") + ``` + + + ## Import + + Redis log delivery can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Redis/logDelivery:LogDelivery delivery crs-dmjj8en7 + ``` + + :param str resource_name: The name of the resource. + :param LogDeliveryArgs 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(LogDeliveryArgs, 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, + create_index: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_region: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None, + logset_name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + topic_id: Optional[pulumi.Input[str]] = None, + topic_name: 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__ = LogDeliveryArgs.__new__(LogDeliveryArgs) + + __props__.__dict__["create_index"] = create_index + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["log_region"] = log_region + __props__.__dict__["logset_id"] = logset_id + __props__.__dict__["logset_name"] = logset_name + __props__.__dict__["period"] = period + __props__.__dict__["topic_id"] = topic_id + __props__.__dict__["topic_name"] = topic_name + super(LogDelivery, __self__).__init__( + 'tencentcloud:Redis/logDelivery:LogDelivery', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + create_index: Optional[pulumi.Input[bool]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + log_region: Optional[pulumi.Input[str]] = None, + logset_id: Optional[pulumi.Input[str]] = None, + logset_name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, + topic_id: Optional[pulumi.Input[str]] = None, + topic_name: Optional[pulumi.Input[str]] = None) -> 'LogDelivery': + """ + Get an existing LogDelivery 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[bool] create_index: Whether to create an index when creating a log topic. + :param pulumi.Input[str] instance_id: Instance ID. + :param pulumi.Input[str] log_region: The region where the log set is located; if not specified, the region where the instance is located will be used by default. + :param pulumi.Input[str] logset_id: The ID of the log set being delivered. + :param pulumi.Input[str] logset_name: Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + :param pulumi.Input[int] period: Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + :param pulumi.Input[str] topic_id: The ID of the topic being delivered. + :param pulumi.Input[str] topic_name: Log topic name, required when TopicId is empty, a new log topic will be automatically created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LogDeliveryState.__new__(_LogDeliveryState) + + __props__.__dict__["create_index"] = create_index + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["log_region"] = log_region + __props__.__dict__["logset_id"] = logset_id + __props__.__dict__["logset_name"] = logset_name + __props__.__dict__["period"] = period + __props__.__dict__["topic_id"] = topic_id + __props__.__dict__["topic_name"] = topic_name + return LogDelivery(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createIndex") + def create_index(self) -> pulumi.Output[bool]: + """ + Whether to create an index when creating a log topic. + """ + return pulumi.get(self, "create_index") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + Instance ID. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="logRegion") + def log_region(self) -> pulumi.Output[str]: + """ + The region where the log set is located; if not specified, the region where the instance is located will be used by default. + """ + return pulumi.get(self, "log_region") + + @property + @pulumi.getter(name="logsetId") + def logset_id(self) -> pulumi.Output[str]: + """ + The ID of the log set being delivered. + """ + return pulumi.get(self, "logset_id") + + @property + @pulumi.getter(name="logsetName") + def logset_name(self) -> pulumi.Output[str]: + """ + Log set name. If LogsetId does not specify a specific log set ID, please configure this parameter to set the log set name, and the system will automatically create a new log set with the specified name. + """ + return pulumi.get(self, "logset_name") + + @property + @pulumi.getter + def period(self) -> pulumi.Output[int]: + """ + Log storage time, defaults to 30 days, with an optional range of 1-3600 days. + """ + return pulumi.get(self, "period") + + @property + @pulumi.getter(name="topicId") + def topic_id(self) -> pulumi.Output[str]: + """ + The ID of the topic being delivered. + """ + return pulumi.get(self, "topic_id") + + @property + @pulumi.getter(name="topicName") + def topic_name(self) -> pulumi.Output[str]: + """ + Log topic name, required when TopicId is empty, a new log topic will be automatically created. + """ + return pulumi.get(self, "topic_name") + diff --git a/sdk/python/tencentcloud_iac_pulumi/redis/outputs.py b/sdk/python/tencentcloud_iac_pulumi/redis/outputs.py index 57814e90f..600c55f3a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/redis/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/redis/outputs.py @@ -18,6 +18,9 @@ 'GetBackupBackupSetResult', 'GetBackupDownloadInfoBackupInfoResult', 'GetBackupDownloadInfoLimitVpcResult', + 'GetClustersResourceResult', + 'GetClustersResourceBaseBundleResult', + 'GetClustersResourceResourceBundleResult', 'GetInstanceNodeInfoProxyResult', 'GetInstanceNodeInfoRediResult', 'GetInstanceShardsInstanceShardResult', @@ -555,6 +558,247 @@ def vpc_lists(self) -> Sequence[str]: return pulumi.get(self, "vpc_lists") +@pulumi.output_type +class GetClustersResourceResult(dict): + def __init__(__self__, *, + app_id: int, + auto_renew_flag: int, + base_bundles: Sequence['outputs.GetClustersResourceBaseBundleResult'], + cluster_name: str, + dedicated_cluster_id: str, + end_time: str, + pay_mode: int, + project_id: int, + redis_cluster_id: str, + region_id: int, + resource_bundles: Sequence['outputs.GetClustersResourceResourceBundleResult'], + start_time: str, + status: int, + zone_id: int): + """ + :param int app_id: User's Appid. + :param int auto_renew_flag: Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + :param Sequence['GetClustersResourceBaseBundleArgs'] base_bundles: Basic Control Resource Package. + :param str cluster_name: Cluster name. + :param str dedicated_cluster_id: Dedicated cluster Id. + :param str end_time: Instance expiration time. + :param int pay_mode: Billing mode, 1-annual and monthly package, 0-quantity based billing. + :param int project_id: Project Id. + :param str redis_cluster_id: Redis Cluster Id. + :param int region_id: Region Id. + :param Sequence['GetClustersResourceResourceBundleArgs'] resource_bundles: List of Resource Packages. + :param str start_time: Instance create time. + :param int status: Cluster status: 1- In process, 2- Running, 3- Isolated. + :param int zone_id: zone Id. + """ + pulumi.set(__self__, "app_id", app_id) + pulumi.set(__self__, "auto_renew_flag", auto_renew_flag) + pulumi.set(__self__, "base_bundles", base_bundles) + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "dedicated_cluster_id", dedicated_cluster_id) + pulumi.set(__self__, "end_time", end_time) + pulumi.set(__self__, "pay_mode", pay_mode) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "redis_cluster_id", redis_cluster_id) + pulumi.set(__self__, "region_id", region_id) + pulumi.set(__self__, "resource_bundles", resource_bundles) + pulumi.set(__self__, "start_time", start_time) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter(name="appId") + def app_id(self) -> int: + """ + User's Appid. + """ + return pulumi.get(self, "app_id") + + @property + @pulumi.getter(name="autoRenewFlag") + def auto_renew_flag(self) -> int: + """ + Renewal mode: 0- default state (manual renewal); 1- Automatic renewal; 2- Clearly stating that automatic renewal is not allowed. + """ + return pulumi.get(self, "auto_renew_flag") + + @property + @pulumi.getter(name="baseBundles") + def base_bundles(self) -> Sequence['outputs.GetClustersResourceBaseBundleResult']: + """ + Basic Control Resource Package. + """ + return pulumi.get(self, "base_bundles") + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> str: + """ + Cluster name. + """ + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter(name="dedicatedClusterId") + def dedicated_cluster_id(self) -> str: + """ + Dedicated cluster Id. + """ + return pulumi.get(self, "dedicated_cluster_id") + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> str: + """ + Instance expiration time. + """ + return pulumi.get(self, "end_time") + + @property + @pulumi.getter(name="payMode") + def pay_mode(self) -> int: + """ + Billing mode, 1-annual and monthly package, 0-quantity based billing. + """ + return pulumi.get(self, "pay_mode") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> int: + """ + Project Id. + """ + return pulumi.get(self, "project_id") + + @property + @pulumi.getter(name="redisClusterId") + def redis_cluster_id(self) -> str: + """ + Redis Cluster Id. + """ + return pulumi.get(self, "redis_cluster_id") + + @property + @pulumi.getter(name="regionId") + def region_id(self) -> int: + """ + Region Id. + """ + return pulumi.get(self, "region_id") + + @property + @pulumi.getter(name="resourceBundles") + def resource_bundles(self) -> Sequence['outputs.GetClustersResourceResourceBundleResult']: + """ + List of Resource Packages. + """ + return pulumi.get(self, "resource_bundles") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> str: + """ + Instance create time. + """ + return pulumi.get(self, "start_time") + + @property + @pulumi.getter + def status(self) -> int: + """ + Cluster status: 1- In process, 2- Running, 3- Isolated. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> int: + """ + zone Id. + """ + return pulumi.get(self, "zone_id") + + +@pulumi.output_type +class GetClustersResourceBaseBundleResult(dict): + def __init__(__self__, *, + available_memory: int, + count: int, + resource_bundle_name: str): + """ + :param int available_memory: Saleable memory, unit: GB. + :param int count: Resource bundle count. + :param str resource_bundle_name: Resource bundle name. + """ + pulumi.set(__self__, "available_memory", available_memory) + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "resource_bundle_name", resource_bundle_name) + + @property + @pulumi.getter(name="availableMemory") + def available_memory(self) -> int: + """ + Saleable memory, unit: GB. + """ + return pulumi.get(self, "available_memory") + + @property + @pulumi.getter + def count(self) -> int: + """ + Resource bundle count. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="resourceBundleName") + def resource_bundle_name(self) -> str: + """ + Resource bundle name. + """ + return pulumi.get(self, "resource_bundle_name") + + +@pulumi.output_type +class GetClustersResourceResourceBundleResult(dict): + def __init__(__self__, *, + available_memory: int, + count: int, + resource_bundle_name: str): + """ + :param int available_memory: Saleable memory, unit: GB. + :param int count: Resource bundle count. + :param str resource_bundle_name: Resource bundle name. + """ + pulumi.set(__self__, "available_memory", available_memory) + pulumi.set(__self__, "count", count) + pulumi.set(__self__, "resource_bundle_name", resource_bundle_name) + + @property + @pulumi.getter(name="availableMemory") + def available_memory(self) -> int: + """ + Saleable memory, unit: GB. + """ + return pulumi.get(self, "available_memory") + + @property + @pulumi.getter + def count(self) -> int: + """ + Resource bundle count. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="resourceBundleName") + def resource_bundle_name(self) -> str: + """ + Resource bundle name. + """ + return pulumi.get(self, "resource_bundle_name") + + @pulumi.output_type class GetInstanceNodeInfoProxyResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/route/table_entry.py b/sdk/python/tencentcloud_iac_pulumi/route/table_entry.py index e9123f8fe..bd168840b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/route/table_entry.py +++ b/sdk/python/tencentcloud_iac_pulumi/route/table_entry.py @@ -119,6 +119,7 @@ def __init__(__self__, *, disabled: Optional[pulumi.Input[bool]] = None, next_hub: Optional[pulumi.Input[str]] = None, next_type: Optional[pulumi.Input[str]] = None, + route_item_id: Optional[pulumi.Input[str]] = None, route_table_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering TableEntry resources. @@ -127,6 +128,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] disabled: Whether the entry is disabled, default is `false`. :param pulumi.Input[str] next_hub: ID of next-hop gateway. Note: when `next_type` is EIP, `next_hub` should be `0`. :param pulumi.Input[str] next_type: Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`. + :param pulumi.Input[str] route_item_id: ID of route table entry. :param pulumi.Input[str] route_table_id: ID of routing table to which this entry belongs. """ if description is not None: @@ -139,6 +141,8 @@ def __init__(__self__, *, pulumi.set(__self__, "next_hub", next_hub) if next_type is not None: pulumi.set(__self__, "next_type", next_type) + if route_item_id is not None: + pulumi.set(__self__, "route_item_id", route_item_id) if route_table_id is not None: pulumi.set(__self__, "route_table_id", route_table_id) @@ -202,6 +206,18 @@ def next_type(self) -> Optional[pulumi.Input[str]]: def next_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "next_type", value) + @property + @pulumi.getter(name="routeItemId") + def route_item_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of route table entry. + """ + return pulumi.get(self, "route_item_id") + + @route_item_id.setter + def route_item_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "route_item_id", value) + @property @pulumi.getter(name="routeTableId") def route_table_id(self) -> Optional[pulumi.Input[str]]: @@ -240,20 +256,25 @@ def __init__(__self__, config = pulumi.Config() availability_zone = config.get("availabilityZone") if availability_zone is None: - availability_zone = "na-siliconvalley-1" - foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") - foo_table = tencentcloud.route.Table("fooTable", vpc_id=foo_instance.id) - foo_subnet_instance_instance = tencentcloud.subnet.Instance("fooSubnet/instanceInstance", - vpc_id=foo_instance.id, + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create route table + example_table = tencentcloud.route.Table("exampleTable", vpc_id=vpc.id) + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, cidr_block="10.0.12.0/24", availability_zone=availability_zone, - route_table_id=foo_table.id) - instance = tencentcloud.route.TableEntry("instance", - route_table_id=foo_table.id, + route_table_id=example_table.id) + # create route table entry + example_table_entry = tencentcloud.route.TableEntry("exampleTableEntry", + route_table_id=example_table.id, destination_cidr_block="10.4.4.0/24", next_type="EIP", next_hub="0", - description="ci-test-route-table-entry") + description="describe") + pulumi.export("itemId", example_table_entry.route_item_id) ``` @@ -262,7 +283,7 @@ def __init__(__self__, Route table entry can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Route/tableEntry:TableEntry foo 83517.rtb-mlhpg09u + $ pulumi import tencentcloud:Route/tableEntry:TableEntry example 3065857.rtb-b050fg94 ``` :param str resource_name: The name of the resource. @@ -293,20 +314,25 @@ def __init__(__self__, config = pulumi.Config() availability_zone = config.get("availabilityZone") if availability_zone is None: - availability_zone = "na-siliconvalley-1" - foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") - foo_table = tencentcloud.route.Table("fooTable", vpc_id=foo_instance.id) - foo_subnet_instance_instance = tencentcloud.subnet.Instance("fooSubnet/instanceInstance", - vpc_id=foo_instance.id, + availability_zone = "ap-guangzhou-4" + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create route table + example_table = tencentcloud.route.Table("exampleTable", vpc_id=vpc.id) + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, cidr_block="10.0.12.0/24", availability_zone=availability_zone, - route_table_id=foo_table.id) - instance = tencentcloud.route.TableEntry("instance", - route_table_id=foo_table.id, + route_table_id=example_table.id) + # create route table entry + example_table_entry = tencentcloud.route.TableEntry("exampleTableEntry", + route_table_id=example_table.id, destination_cidr_block="10.4.4.0/24", next_type="EIP", next_hub="0", - description="ci-test-route-table-entry") + description="describe") + pulumi.export("itemId", example_table_entry.route_item_id) ``` @@ -315,7 +341,7 @@ def __init__(__self__, Route table entry can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Route/tableEntry:TableEntry foo 83517.rtb-mlhpg09u + $ pulumi import tencentcloud:Route/tableEntry:TableEntry example 3065857.rtb-b050fg94 ``` :param str resource_name: The name of the resource. @@ -362,6 +388,7 @@ def _internal_init(__self__, if route_table_id is None and not opts.urn: raise TypeError("Missing required property 'route_table_id'") __props__.__dict__["route_table_id"] = route_table_id + __props__.__dict__["route_item_id"] = None super(TableEntry, __self__).__init__( 'tencentcloud:Route/tableEntry:TableEntry', resource_name, @@ -377,6 +404,7 @@ def get(resource_name: str, disabled: Optional[pulumi.Input[bool]] = None, next_hub: Optional[pulumi.Input[str]] = None, next_type: Optional[pulumi.Input[str]] = None, + route_item_id: Optional[pulumi.Input[str]] = None, route_table_id: Optional[pulumi.Input[str]] = None) -> 'TableEntry': """ Get an existing TableEntry resource's state with the given name, id, and optional extra @@ -390,6 +418,7 @@ def get(resource_name: str, :param pulumi.Input[bool] disabled: Whether the entry is disabled, default is `false`. :param pulumi.Input[str] next_hub: ID of next-hop gateway. Note: when `next_type` is EIP, `next_hub` should be `0`. :param pulumi.Input[str] next_type: Type of next-hop. Valid values: `CVM`, `VPN`, `DIRECTCONNECT`, `PEERCONNECTION`, `HAVIP`, `NAT`, `NORMAL_CVM`, `EIP` and `LOCAL_GATEWAY`. + :param pulumi.Input[str] route_item_id: ID of route table entry. :param pulumi.Input[str] route_table_id: ID of routing table to which this entry belongs. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -401,6 +430,7 @@ def get(resource_name: str, __props__.__dict__["disabled"] = disabled __props__.__dict__["next_hub"] = next_hub __props__.__dict__["next_type"] = next_type + __props__.__dict__["route_item_id"] = route_item_id __props__.__dict__["route_table_id"] = route_table_id return TableEntry(resource_name, opts=opts, __props__=__props__) @@ -444,6 +474,14 @@ def next_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "next_type") + @property + @pulumi.getter(name="routeItemId") + def route_item_id(self) -> pulumi.Output[str]: + """ + ID of route table entry. + """ + return pulumi.get(self, "route_item_id") + @property @pulumi.getter(name="routeTableId") def route_table_id(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/rum/project.py b/sdk/python/tencentcloud_iac_pulumi/rum/project.py index dcbadd31e..e2dadb337 100644 --- a/sdk/python/tencentcloud_iac_pulumi/rum/project.py +++ b/sdk/python/tencentcloud_iac_pulumi/rum/project.py @@ -163,7 +163,7 @@ def __init__(__self__, *, url: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Project resources. - :param pulumi.Input[str] create_time: Creata Time. + :param pulumi.Input[str] create_time: Create Time. :param pulumi.Input[str] creator: Creator ID. :param pulumi.Input[str] desc: Description of the created project (optional and up to 1,000 characters). :param pulumi.Input[int] enable_url_group: Whether to enable aggregation. @@ -214,7 +214,7 @@ def __init__(__self__, *, @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[str]]: """ - Creata Time. + Create Time. """ return pulumi.get(self, "create_time") @@ -415,14 +415,23 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - project = tencentcloud.rum.Project("project", - desc="projectDesc-1", - enable_url_group=0, - instance_id="rum-pasZKEI3RLgakj", + example_taw_instance = tencentcloud.rum.TawInstance("exampleTawInstance", + area_id=1, + charge_type=1, + data_retention_days=30, + instance_name="tf-example", + instance_desc="desc.", + tags={ + "createdBy": "terraform", + }) + example_project = tencentcloud.rum.Project("exampleProject", + instance_id=example_taw_instance.id, rate="100", - repo="", + enable_url_group=0, type="web", - url="iac-tf.com") + repo="https://github.com/xxx", + url="iac-tf.com", + desc="desc.") ``` @@ -431,7 +440,7 @@ def __init__(__self__, rum project can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Rum/project:Project project project_id + $ pulumi import tencentcloud:Rum/project:Project example 139422 ``` :param str resource_name: The name of the resource. @@ -461,14 +470,23 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - project = tencentcloud.rum.Project("project", - desc="projectDesc-1", - enable_url_group=0, - instance_id="rum-pasZKEI3RLgakj", + example_taw_instance = tencentcloud.rum.TawInstance("exampleTawInstance", + area_id=1, + charge_type=1, + data_retention_days=30, + instance_name="tf-example", + instance_desc="desc.", + tags={ + "createdBy": "terraform", + }) + example_project = tencentcloud.rum.Project("exampleProject", + instance_id=example_taw_instance.id, rate="100", - repo="", + enable_url_group=0, type="web", - url="iac-tf.com") + repo="https://github.com/xxx", + url="iac-tf.com", + desc="desc.") ``` @@ -477,7 +495,7 @@ def __init__(__self__, rum project can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Rum/project:Project project project_id + $ pulumi import tencentcloud:Rum/project:Project example 139422 ``` :param str resource_name: The name of the resource. @@ -567,7 +585,7 @@ def get(resource_name: str, :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] create_time: Creata Time. + :param pulumi.Input[str] create_time: Create Time. :param pulumi.Input[str] creator: Creator ID. :param pulumi.Input[str] desc: Description of the created project (optional and up to 1,000 characters). :param pulumi.Input[int] enable_url_group: Whether to enable aggregation. @@ -608,7 +626,7 @@ def get(resource_name: str, @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[str]: """ - Creata Time. + Create Time. """ return pulumi.get(self, "create_time") diff --git a/sdk/python/tencentcloud_iac_pulumi/rum/taw_instance.py b/sdk/python/tencentcloud_iac_pulumi/rum/taw_instance.py index 821a84b1c..ad124ac2d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/rum/taw_instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/rum/taw_instance.py @@ -317,12 +317,12 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - taw_instance = tencentcloud.rum.TawInstance("tawInstance", + example = tencentcloud.rum.TawInstance("example", area_id=1, charge_type=1, data_retention_days=30, - instance_desc="instanceDesc-1", - instance_name="instanceName-1", + instance_desc="desc.", + instance_name="tf-example", tags={ "createdBy": "terraform", }) @@ -334,7 +334,7 @@ def __init__(__self__, rum taw_instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Rum/tawInstance:TawInstance taw_instance tawInstance_id + $ pulumi import tencentcloud:Rum/tawInstance:TawInstance example rum-WYsjMaiGOVXBeJ ``` :param str resource_name: The name of the resource. @@ -362,12 +362,12 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - taw_instance = tencentcloud.rum.TawInstance("tawInstance", + example = tencentcloud.rum.TawInstance("example", area_id=1, charge_type=1, data_retention_days=30, - instance_desc="instanceDesc-1", - instance_name="instanceName-1", + instance_desc="desc.", + instance_name="tf-example", tags={ "createdBy": "terraform", }) @@ -379,7 +379,7 @@ def __init__(__self__, rum taw_instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Rum/tawInstance:TawInstance taw_instance tawInstance_id + $ pulumi import tencentcloud:Rum/tawInstance:TawInstance example rum-WYsjMaiGOVXBeJ ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py b/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py index d6effb207..91621d3bb 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/ssl/outputs.py @@ -602,11 +602,13 @@ def __init__(__self__, *, key: str, name: str, order_id: str, + owner_uin: str, product_zh_name: str, project_id: int, status: int, subject_names: Sequence[str], - type: str): + type: str, + validity_period: str): """ :param str begin_time: Beginning time of the SSL certificate. :param str cert: Content of the SSL certificate. @@ -618,11 +620,13 @@ def __init__(__self__, *, :param str key: Key of the SSL certificate. :param str name: Name of the SSL certificate to be queried. :param str order_id: Order ID returned. + :param str owner_uin: Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained. :param str product_zh_name: Certificate authority. :param int project_id: Project ID of the SSL certificate. :param int status: Status of the SSL certificate. :param Sequence[str] subject_names: ALL domains included in the SSL certificate. Including the primary domain name. :param str type: Type of the SSL certificate to be queried. Available values includes: `CA` and `SVR`. + :param str validity_period: Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained. """ pulumi.set(__self__, "begin_time", begin_time) pulumi.set(__self__, "cert", cert) @@ -634,11 +638,13 @@ def __init__(__self__, *, pulumi.set(__self__, "key", key) pulumi.set(__self__, "name", name) pulumi.set(__self__, "order_id", order_id) + pulumi.set(__self__, "owner_uin", owner_uin) pulumi.set(__self__, "product_zh_name", product_zh_name) pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "status", status) pulumi.set(__self__, "subject_names", subject_names) pulumi.set(__self__, "type", type) + pulumi.set(__self__, "validity_period", validity_period) @property @pulumi.getter(name="beginTime") @@ -720,6 +726,14 @@ def order_id(self) -> str: """ return pulumi.get(self, "order_id") + @property + @pulumi.getter(name="ownerUin") + def owner_uin(self) -> str: + """ + Account UIN.Note: This field may return NULL, indicating that the valid value cannot be obtained. + """ + return pulumi.get(self, "owner_uin") + @property @pulumi.getter(name="productZhName") def product_zh_name(self) -> str: @@ -760,6 +774,14 @@ def type(self) -> str: """ return pulumi.get(self, "type") + @property + @pulumi.getter(name="validityPeriod") + def validity_period(self) -> str: + """ + Validity period: unit (month).Note: This field may return NULL, indicating that the valid value cannot be obtained. + """ + return pulumi.get(self, "validity_period") + @pulumi.output_type class GetCertificatesCertificateDvAuthResult(dict): diff --git a/sdk/python/tencentcloud_iac_pulumi/subnet/instance.py b/sdk/python/tencentcloud_iac_pulumi/subnet/instance.py index 04fbf2e09..c36fcfde1 100644 --- a/sdk/python/tencentcloud_iac_pulumi/subnet/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/subnet/instance.py @@ -17,6 +17,7 @@ def __init__(__self__, *, availability_zone: pulumi.Input[str], cidr_block: pulumi.Input[str], vpc_id: pulumi.Input[str], + cdc_id: Optional[pulumi.Input[str]] = None, is_multicast: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, route_table_id: Optional[pulumi.Input[str]] = None, @@ -26,6 +27,7 @@ def __init__(__self__, *, :param pulumi.Input[str] availability_zone: The availability zone within which the subnet should be created. :param pulumi.Input[str] cidr_block: A network address block of the subnet. :param pulumi.Input[str] vpc_id: ID of the VPC to be associated. + :param pulumi.Input[str] cdc_id: ID of CDC instance. :param pulumi.Input[bool] is_multicast: Indicates whether multicast is enabled. The default value is 'true'. :param pulumi.Input[str] name: The name of subnet to be created. :param pulumi.Input[str] route_table_id: ID of a routing table to which the subnet should be associated. @@ -34,6 +36,8 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) pulumi.set(__self__, "cidr_block", cidr_block) pulumi.set(__self__, "vpc_id", vpc_id) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if is_multicast is not None: pulumi.set(__self__, "is_multicast", is_multicast) if name is not None: @@ -79,6 +83,18 @@ def vpc_id(self) -> pulumi.Input[str]: def vpc_id(self, value: pulumi.Input[str]): pulumi.set(self, "vpc_id", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of CDC instance. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="isMulticast") def is_multicast(self) -> Optional[pulumi.Input[bool]]: @@ -133,6 +149,7 @@ class _InstanceState: def __init__(__self__, *, availability_zone: Optional[pulumi.Input[str]] = None, available_ip_count: Optional[pulumi.Input[int]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cidr_block: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, is_default: Optional[pulumi.Input[bool]] = None, @@ -145,6 +162,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Instance resources. :param pulumi.Input[str] availability_zone: The availability zone within which the subnet should be created. :param pulumi.Input[int] available_ip_count: The number of available IPs. + :param pulumi.Input[str] cdc_id: ID of CDC instance. :param pulumi.Input[str] cidr_block: A network address block of the subnet. :param pulumi.Input[str] create_time: Creation time of subnet resource. :param pulumi.Input[bool] is_default: Indicates whether it is the default VPC for this region. @@ -158,6 +176,8 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) if available_ip_count is not None: pulumi.set(__self__, "available_ip_count", available_ip_count) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if cidr_block is not None: pulumi.set(__self__, "cidr_block", cidr_block) if create_time is not None: @@ -199,6 +219,18 @@ def available_ip_count(self) -> Optional[pulumi.Input[int]]: def available_ip_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "available_ip_count", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of CDC instance. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="cidrBlock") def cidr_block(self) -> Optional[pulumi.Input[str]]: @@ -302,6 +334,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cidr_block: Optional[pulumi.Input[str]] = None, is_multicast: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, @@ -312,17 +345,20 @@ def __init__(__self__, """ Provide a resource to create a VPC subnet. + ## Example Usage + ## Import Vpc subnet instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Subnet/instance:Instance test subnet_id + $ pulumi import tencentcloud:Subnet/instance:Instance subnet subnet-b8j03v0c ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] availability_zone: The availability zone within which the subnet should be created. + :param pulumi.Input[str] cdc_id: ID of CDC instance. :param pulumi.Input[str] cidr_block: A network address block of the subnet. :param pulumi.Input[bool] is_multicast: Indicates whether multicast is enabled. The default value is 'true'. :param pulumi.Input[str] name: The name of subnet to be created. @@ -339,12 +375,14 @@ def __init__(__self__, """ Provide a resource to create a VPC subnet. + ## Example Usage + ## Import Vpc subnet instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Subnet/instance:Instance test subnet_id + $ pulumi import tencentcloud:Subnet/instance:Instance subnet subnet-b8j03v0c ``` :param str resource_name: The name of the resource. @@ -363,6 +401,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[str]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cidr_block: Optional[pulumi.Input[str]] = None, is_multicast: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, @@ -381,6 +420,7 @@ def _internal_init(__self__, if availability_zone is None and not opts.urn: raise TypeError("Missing required property 'availability_zone'") __props__.__dict__["availability_zone"] = availability_zone + __props__.__dict__["cdc_id"] = cdc_id if cidr_block is None and not opts.urn: raise TypeError("Missing required property 'cidr_block'") __props__.__dict__["cidr_block"] = cidr_block @@ -406,6 +446,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[str]] = None, available_ip_count: Optional[pulumi.Input[int]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, cidr_block: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, is_default: Optional[pulumi.Input[bool]] = None, @@ -423,6 +464,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] availability_zone: The availability zone within which the subnet should be created. :param pulumi.Input[int] available_ip_count: The number of available IPs. + :param pulumi.Input[str] cdc_id: ID of CDC instance. :param pulumi.Input[str] cidr_block: A network address block of the subnet. :param pulumi.Input[str] create_time: Creation time of subnet resource. :param pulumi.Input[bool] is_default: Indicates whether it is the default VPC for this region. @@ -438,6 +480,7 @@ def get(resource_name: str, __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["available_ip_count"] = available_ip_count + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["cidr_block"] = cidr_block __props__.__dict__["create_time"] = create_time __props__.__dict__["is_default"] = is_default @@ -464,6 +507,14 @@ def available_ip_count(self) -> pulumi.Output[int]: """ return pulumi.get(self, "available_ip_count") + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> pulumi.Output[Optional[str]]: + """ + ID of CDC instance. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="cidrBlock") def cidr_block(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py b/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py index a846bb7a6..4ff035756 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py @@ -337,7 +337,7 @@ def __init__(__self__, teo acceleration_domain can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain acceleration_domain_id + $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain zone_id#domain_name ``` :param str resource_name: The name of the resource. @@ -382,7 +382,7 @@ def __init__(__self__, teo acceleration_domain can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain acceleration_domain_id + $ pulumi import tencentcloud:Teo/accelerationDomain:AccelerationDomain acceleration_domain zone_id#domain_name ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/certificate_config.py b/sdk/python/tencentcloud_iac_pulumi/teo/certificate_config.py index 8cd88d5cb..5d2888433 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/certificate_config.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/certificate_config.py @@ -204,7 +204,7 @@ def __init__(__self__, teo certificate can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host#cert_id + $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host ``` :param str resource_name: The name of the resource. @@ -259,7 +259,7 @@ def __init__(__self__, teo certificate can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host#cert_id + $ pulumi import tencentcloud:Teo/certificateConfig:CertificateConfig certificate zone_id#host ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/thpc/__init__.py b/sdk/python/tencentcloud_iac_pulumi/thpc/__init__.py new file mode 100644 index 000000000..c4c94cef7 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/thpc/__init__.py @@ -0,0 +1,10 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .workspaces import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/tencentcloud_iac_pulumi/thpc/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/thpc/_inputs.py new file mode 100644 index 000000000..9f66f5303 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/thpc/_inputs.py @@ -0,0 +1,688 @@ +# 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__ = [ + 'WorkspacesDataDiskArgs', + 'WorkspacesEnhancedServiceArgs', + 'WorkspacesEnhancedServiceAutomationServiceArgs', + 'WorkspacesEnhancedServiceMonitorServiceArgs', + 'WorkspacesEnhancedServiceSecurityServiceArgs', + 'WorkspacesInternetAccessibleArgs', + 'WorkspacesLoginSettingsArgs', + 'WorkspacesPlacementArgs', + 'WorkspacesSpaceChargePrepaidArgs', + 'WorkspacesSystemDiskArgs', + 'WorkspacesTagSpecificationArgs', + 'WorkspacesTagSpecificationTagArgs', + 'WorkspacesVirtualPrivateCloudArgs', +] + +@pulumi.input_type +class WorkspacesDataDiskArgs: + def __init__(__self__, *, + burst_performance: Optional[pulumi.Input[bool]] = None, + delete_with_instance: Optional[pulumi.Input[bool]] = None, + disk_id: Optional[pulumi.Input[str]] = None, + disk_size: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None, + encrypt: Optional[pulumi.Input[bool]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + throughput_performance: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[bool] burst_performance: Sudden performance. PS: During testing. + :param pulumi.Input[bool] delete_with_instance: Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + :param pulumi.Input[str] disk_id: Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param pulumi.Input[int] disk_size: Size of the data disk, and unit is GB. + :param pulumi.Input[str] disk_type: Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + :param pulumi.Input[bool] encrypt: Decides whether the disk is encrypted. Default is `false`. + :param pulumi.Input[str] kms_key_id: Kms key ID. + :param pulumi.Input[str] snapshot_id: Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + :param pulumi.Input[int] throughput_performance: Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + """ + if burst_performance is not None: + pulumi.set(__self__, "burst_performance", burst_performance) + if delete_with_instance is not None: + pulumi.set(__self__, "delete_with_instance", delete_with_instance) + if disk_id is not None: + pulumi.set(__self__, "disk_id", disk_id) + 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 kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + 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="burstPerformance") + def burst_performance(self) -> Optional[pulumi.Input[bool]]: + """ + Sudden performance. PS: During testing. + """ + return pulumi.get(self, "burst_performance") + + @burst_performance.setter + def burst_performance(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "burst_performance", value) + + @property + @pulumi.getter(name="deleteWithInstance") + def delete_with_instance(self) -> Optional[pulumi.Input[bool]]: + """ + Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + """ + return pulumi.get(self, "delete_with_instance") + + @delete_with_instance.setter + def delete_with_instance(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "delete_with_instance", value) + + @property + @pulumi.getter(name="diskId") + def disk_id(self) -> Optional[pulumi.Input[str]]: + """ + Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + """ + return pulumi.get(self, "disk_id") + + @disk_id.setter + def disk_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_id", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Size of the data disk, and unit is GB. + """ + 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]]: + """ + Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + """ + 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]]: + """ + Decides whether the disk is encrypted. Default is `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="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + Kms key ID. + """ + 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="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + """ + Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + """ + 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]]: + """ + Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + """ + 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 WorkspacesEnhancedServiceArgs: + def __init__(__self__, *, + automation_service: Optional[pulumi.Input['WorkspacesEnhancedServiceAutomationServiceArgs']] = None, + monitor_service: Optional[pulumi.Input['WorkspacesEnhancedServiceMonitorServiceArgs']] = None, + security_service: Optional[pulumi.Input['WorkspacesEnhancedServiceSecurityServiceArgs']] = None): + """ + :param pulumi.Input['WorkspacesEnhancedServiceAutomationServiceArgs'] automation_service: Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + :param pulumi.Input['WorkspacesEnhancedServiceMonitorServiceArgs'] monitor_service: Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + :param pulumi.Input['WorkspacesEnhancedServiceSecurityServiceArgs'] security_service: Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + """ + if automation_service is not None: + pulumi.set(__self__, "automation_service", automation_service) + if monitor_service is not None: + pulumi.set(__self__, "monitor_service", monitor_service) + if security_service is not None: + pulumi.set(__self__, "security_service", security_service) + + @property + @pulumi.getter(name="automationService") + def automation_service(self) -> Optional[pulumi.Input['WorkspacesEnhancedServiceAutomationServiceArgs']]: + """ + Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + """ + return pulumi.get(self, "automation_service") + + @automation_service.setter + def automation_service(self, value: Optional[pulumi.Input['WorkspacesEnhancedServiceAutomationServiceArgs']]): + pulumi.set(self, "automation_service", value) + + @property + @pulumi.getter(name="monitorService") + def monitor_service(self) -> Optional[pulumi.Input['WorkspacesEnhancedServiceMonitorServiceArgs']]: + """ + Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + """ + return pulumi.get(self, "monitor_service") + + @monitor_service.setter + def monitor_service(self, value: Optional[pulumi.Input['WorkspacesEnhancedServiceMonitorServiceArgs']]): + pulumi.set(self, "monitor_service", value) + + @property + @pulumi.getter(name="securityService") + def security_service(self) -> Optional[pulumi.Input['WorkspacesEnhancedServiceSecurityServiceArgs']]: + """ + Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + """ + return pulumi.get(self, "security_service") + + @security_service.setter + def security_service(self, value: Optional[pulumi.Input['WorkspacesEnhancedServiceSecurityServiceArgs']]): + pulumi.set(self, "security_service", value) + + +@pulumi.input_type +class WorkspacesEnhancedServiceAutomationServiceArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] enabled: Whether to enable. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class WorkspacesEnhancedServiceMonitorServiceArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] enabled: Whether to enable. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class WorkspacesEnhancedServiceSecurityServiceArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] enabled: Whether to enable. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class WorkspacesInternetAccessibleArgs: + def __init__(__self__, *, + bandwidth_package_id: Optional[pulumi.Input[str]] = None, + internet_charge_type: Optional[pulumi.Input[str]] = None, + internet_max_bandwidth_out: Optional[pulumi.Input[int]] = None, + public_ip_assigned: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[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 pulumi.Input[str] internet_charge_type: Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. + :param pulumi.Input[int] internet_max_bandwidth_out: Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. + :param pulumi.Input[bool] public_ip_assigned: Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + """ + if bandwidth_package_id is not None: + pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + 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 public_ip_assigned is not None: + pulumi.set(__self__, "public_ip_assigned", public_ip_assigned) + + @property + @pulumi.getter(name="bandwidthPackageId") + def bandwidth_package_id(self) -> Optional[pulumi.Input[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") + + @bandwidth_package_id.setter + def bandwidth_package_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bandwidth_package_id", value) + + @property + @pulumi.getter(name="internetChargeType") + def internet_charge_type(self) -> Optional[pulumi.Input[str]]: + """ + Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. + """ + return pulumi.get(self, "internet_charge_type") + + @internet_charge_type.setter + def internet_charge_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "internet_charge_type", value) + + @property + @pulumi.getter(name="internetMaxBandwidthOut") + def internet_max_bandwidth_out(self) -> Optional[pulumi.Input[int]]: + """ + Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. + """ + return pulumi.get(self, "internet_max_bandwidth_out") + + @internet_max_bandwidth_out.setter + def internet_max_bandwidth_out(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "internet_max_bandwidth_out", value) + + @property + @pulumi.getter(name="publicIpAssigned") + def public_ip_assigned(self) -> Optional[pulumi.Input[bool]]: + """ + Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + """ + return pulumi.get(self, "public_ip_assigned") + + @public_ip_assigned.setter + def public_ip_assigned(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "public_ip_assigned", value) + + +@pulumi.input_type +class WorkspacesLoginSettingsArgs: + def __init__(__self__, *, + key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + password: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] key_ids: The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + :param pulumi.Input[str] password: Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + """ + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if password is not None: + pulumi.set(__self__, "password", password) + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + """ + 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 + def password(self) -> Optional[pulumi.Input[str]]: + """ + Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + +@pulumi.input_type +class WorkspacesPlacementArgs: + def __init__(__self__, *, + zone: pulumi.Input[str], + project_id: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] zone: The available zone for the CVM instance. + :param pulumi.Input[int] project_id: The project the instance belongs to, default to 0. + """ + pulumi.set(__self__, "zone", zone) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter + def zone(self) -> pulumi.Input[str]: + """ + The available zone for the CVM instance. + """ + return pulumi.get(self, "zone") + + @zone.setter + def zone(self, value: pulumi.Input[str]): + pulumi.set(self, "zone", value) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[int]]: + """ + The project the instance belongs to, default to 0. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "project_id", value) + + +@pulumi.input_type +class WorkspacesSpaceChargePrepaidArgs: + def __init__(__self__, *, + period: Optional[pulumi.Input[int]] = None, + renew_flag: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] 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`, `48`, `60`. + :param pulumi.Input[str] 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`. + """ + if period is not None: + pulumi.set(__self__, "period", period) + if renew_flag is not None: + pulumi.set(__self__, "renew_flag", renew_flag) + + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[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`, `48`, `60`. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter(name="renewFlag") + def renew_flag(self) -> Optional[pulumi.Input[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, "renew_flag") + + @renew_flag.setter + def renew_flag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "renew_flag", value) + + +@pulumi.input_type +class WorkspacesSystemDiskArgs: + def __init__(__self__, *, + disk_id: Optional[pulumi.Input[str]] = None, + disk_size: Optional[pulumi.Input[int]] = None, + disk_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] disk_id: Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param pulumi.Input[int] disk_size: Size of the system disk. unit is GB, Default is 50GB. + :param pulumi.Input[str] 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + """ + if disk_id is not None: + pulumi.set(__self__, "disk_id", disk_id) + 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) + + @property + @pulumi.getter(name="diskId") + def disk_id(self) -> Optional[pulumi.Input[str]]: + """ + Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + """ + return pulumi.get(self, "disk_id") + + @disk_id.setter + def disk_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_id", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Size of the system disk. unit is GB, Default is 50GB. + """ + 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]]: + """ + 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_type", value) + + +@pulumi.input_type +class WorkspacesTagSpecificationArgs: + def __init__(__self__, *, + tags: pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationTagArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationTagArgs']]] tags: tags. + """ + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def tags(self) -> pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationTagArgs']]]: + """ + tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationTagArgs']]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class WorkspacesTagSpecificationTagArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] key: Tag key. + :param pulumi.Input[str] value: Tag value. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + Tag key. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + Tag value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class WorkspacesVirtualPrivateCloudArgs: + def __init__(__self__, *, + subnet_id: pulumi.Input[str], + vpc_id: pulumi.Input[str], + as_vpc_gateway: Optional[pulumi.Input[bool]] = None, + ipv6_address_count: Optional[pulumi.Input[int]] = None, + private_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] subnet_id: The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + :param pulumi.Input[str] vpc_id: The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + :param pulumi.Input[bool] as_vpc_gateway: Is it used as a public network gateway. + :param pulumi.Input[int] ipv6_address_count: IPV6 address count. + :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ip_addresses: Array of private ip address. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "vpc_id", vpc_id) + if as_vpc_gateway is not None: + pulumi.set(__self__, "as_vpc_gateway", as_vpc_gateway) + if ipv6_address_count is not None: + pulumi.set(__self__, "ipv6_address_count", ipv6_address_count) + if private_ip_addresses is not None: + pulumi.set(__self__, "private_ip_addresses", private_ip_addresses) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Input[str]: + """ + The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: pulumi.Input[str]): + pulumi.set(self, "subnet_id", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[str]: + """ + The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[str]): + pulumi.set(self, "vpc_id", value) + + @property + @pulumi.getter(name="asVpcGateway") + def as_vpc_gateway(self) -> Optional[pulumi.Input[bool]]: + """ + Is it used as a public network gateway. + """ + return pulumi.get(self, "as_vpc_gateway") + + @as_vpc_gateway.setter + def as_vpc_gateway(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "as_vpc_gateway", value) + + @property + @pulumi.getter(name="ipv6AddressCount") + def ipv6_address_count(self) -> Optional[pulumi.Input[int]]: + """ + IPV6 address count. + """ + return pulumi.get(self, "ipv6_address_count") + + @ipv6_address_count.setter + def ipv6_address_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "ipv6_address_count", value) + + @property + @pulumi.getter(name="privateIpAddresses") + def private_ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Array of private ip address. + """ + return pulumi.get(self, "private_ip_addresses") + + @private_ip_addresses.setter + def private_ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "private_ip_addresses", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/thpc/outputs.py b/sdk/python/tencentcloud_iac_pulumi/thpc/outputs.py new file mode 100644 index 000000000..c0fd26d5f --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/thpc/outputs.py @@ -0,0 +1,717 @@ +# 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 + +__all__ = [ + 'WorkspacesDataDisk', + 'WorkspacesEnhancedService', + 'WorkspacesEnhancedServiceAutomationService', + 'WorkspacesEnhancedServiceMonitorService', + 'WorkspacesEnhancedServiceSecurityService', + 'WorkspacesInternetAccessible', + 'WorkspacesLoginSettings', + 'WorkspacesPlacement', + 'WorkspacesSpaceChargePrepaid', + 'WorkspacesSystemDisk', + 'WorkspacesTagSpecification', + 'WorkspacesTagSpecificationTag', + 'WorkspacesVirtualPrivateCloud', +] + +@pulumi.output_type +class WorkspacesDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "burstPerformance": + suggest = "burst_performance" + elif key == "deleteWithInstance": + suggest = "delete_with_instance" + elif key == "diskId": + suggest = "disk_id" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + elif key == "kmsKeyId": + suggest = "kms_key_id" + elif key == "snapshotId": + suggest = "snapshot_id" + elif key == "throughputPerformance": + suggest = "throughput_performance" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + burst_performance: Optional[bool] = None, + delete_with_instance: Optional[bool] = None, + disk_id: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None, + encrypt: Optional[bool] = None, + kms_key_id: Optional[str] = None, + snapshot_id: Optional[str] = None, + throughput_performance: Optional[int] = None): + """ + :param bool burst_performance: Sudden performance. PS: During testing. + :param bool delete_with_instance: Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + :param str disk_id: Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param int disk_size: Size of the data disk, and unit is GB. + :param str disk_type: Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + :param bool encrypt: Decides whether the disk is encrypted. Default is `false`. + :param str kms_key_id: Kms key ID. + :param str snapshot_id: Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + :param int throughput_performance: Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. + """ + if burst_performance is not None: + pulumi.set(__self__, "burst_performance", burst_performance) + if delete_with_instance is not None: + pulumi.set(__self__, "delete_with_instance", delete_with_instance) + if disk_id is not None: + pulumi.set(__self__, "disk_id", disk_id) + 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 kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + 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="burstPerformance") + def burst_performance(self) -> Optional[bool]: + """ + Sudden performance. PS: During testing. + """ + return pulumi.get(self, "burst_performance") + + @property + @pulumi.getter(name="deleteWithInstance") + def delete_with_instance(self) -> Optional[bool]: + """ + Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. + """ + return pulumi.get(self, "delete_with_instance") + + @property + @pulumi.getter(name="diskId") + def disk_id(self) -> Optional[str]: + """ + Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + """ + return pulumi.get(self, "disk_id") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Size of the data disk, and unit is GB. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Data disk type. For more information about limits on different data 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, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def encrypt(self) -> Optional[bool]: + """ + Decides whether the disk is encrypted. Default is `false`. + """ + return pulumi.get(self, "encrypt") + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[str]: + """ + Kms key ID. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[str]: + """ + Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. + """ + 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`. + """ + return pulumi.get(self, "throughput_performance") + + +@pulumi.output_type +class WorkspacesEnhancedService(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "automationService": + suggest = "automation_service" + elif key == "monitorService": + suggest = "monitor_service" + elif key == "securityService": + suggest = "security_service" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesEnhancedService. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesEnhancedService.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesEnhancedService.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + automation_service: Optional['outputs.WorkspacesEnhancedServiceAutomationService'] = None, + monitor_service: Optional['outputs.WorkspacesEnhancedServiceMonitorService'] = None, + security_service: Optional['outputs.WorkspacesEnhancedServiceSecurityService'] = None): + """ + :param 'WorkspacesEnhancedServiceAutomationServiceArgs' automation_service: Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + :param 'WorkspacesEnhancedServiceMonitorServiceArgs' monitor_service: Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + :param 'WorkspacesEnhancedServiceSecurityServiceArgs' security_service: Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + """ + if automation_service is not None: + pulumi.set(__self__, "automation_service", automation_service) + if monitor_service is not None: + pulumi.set(__self__, "monitor_service", monitor_service) + if security_service is not None: + pulumi.set(__self__, "security_service", security_service) + + @property + @pulumi.getter(name="automationService") + def automation_service(self) -> Optional['outputs.WorkspacesEnhancedServiceAutomationService']: + """ + Enable the TencentCloud Automation Tools (TAT) service. If this parameter is not specified, the cloud automation tools service will be enabled by default. + """ + return pulumi.get(self, "automation_service") + + @property + @pulumi.getter(name="monitorService") + def monitor_service(self) -> Optional['outputs.WorkspacesEnhancedServiceMonitorService']: + """ + Activate Tencent Cloud Observable Platform service. If this parameter is not specified, the Tencent Cloud Observable Platform service will be enabled by default. + """ + return pulumi.get(self, "monitor_service") + + @property + @pulumi.getter(name="securityService") + def security_service(self) -> Optional['outputs.WorkspacesEnhancedServiceSecurityService']: + """ + Activate cloud security services. If this parameter is not specified, cloud security services will be enabled by default. + """ + return pulumi.get(self, "security_service") + + +@pulumi.output_type +class WorkspacesEnhancedServiceAutomationService(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + :param bool enabled: Whether to enable. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class WorkspacesEnhancedServiceMonitorService(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + :param bool enabled: Whether to enable. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class WorkspacesEnhancedServiceSecurityService(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + :param bool enabled: Whether to enable. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to enable. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class WorkspacesInternetAccessible(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bandwidthPackageId": + suggest = "bandwidth_package_id" + elif key == "internetChargeType": + suggest = "internet_charge_type" + elif key == "internetMaxBandwidthOut": + suggest = "internet_max_bandwidth_out" + elif key == "publicIpAssigned": + suggest = "public_ip_assigned" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesInternetAccessible. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesInternetAccessible.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesInternetAccessible.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bandwidth_package_id: Optional[str] = None, + internet_charge_type: Optional[str] = None, + internet_max_bandwidth_out: Optional[int] = None, + public_ip_assigned: Optional[bool] = None): + """ + :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 internet_charge_type: Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. + :param int internet_max_bandwidth_out: Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. + :param bool public_ip_assigned: Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + """ + if bandwidth_package_id is not None: + pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + 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 public_ip_assigned is not None: + pulumi.set(__self__, "public_ip_assigned", public_ip_assigned) + + @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="internetChargeType") + def internet_charge_type(self) -> Optional[str]: + """ + Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. + """ + return pulumi.get(self, "internet_charge_type") + + @property + @pulumi.getter(name="internetMaxBandwidthOut") + def internet_max_bandwidth_out(self) -> Optional[int]: + """ + Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. + """ + return pulumi.get(self, "internet_max_bandwidth_out") + + @property + @pulumi.getter(name="publicIpAssigned") + def public_ip_assigned(self) -> Optional[bool]: + """ + Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. + """ + return pulumi.get(self, "public_ip_assigned") + + +@pulumi.output_type +class WorkspacesLoginSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyIds": + suggest = "key_ids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesLoginSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesLoginSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesLoginSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_ids: Optional[Sequence[str]] = None, + password: Optional[str] = None): + """ + :param Sequence[str] key_ids: The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + :param str password: Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + """ + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if password is not None: + pulumi.set(__self__, "password", password) + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[Sequence[str]]: + """ + The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. + """ + return pulumi.get(self, "key_ids") + + @property + @pulumi.getter + def password(self) -> Optional[str]: + """ + Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. + """ + return pulumi.get(self, "password") + + +@pulumi.output_type +class WorkspacesPlacement(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "projectId": + suggest = "project_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesPlacement. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesPlacement.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesPlacement.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + zone: str, + project_id: Optional[int] = None): + """ + :param str zone: The available zone for the CVM instance. + :param int project_id: The project the instance belongs to, default to 0. + """ + pulumi.set(__self__, "zone", zone) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter + def zone(self) -> str: + """ + The available zone for the CVM instance. + """ + return pulumi.get(self, "zone") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[int]: + """ + The project the instance belongs to, default to 0. + """ + return pulumi.get(self, "project_id") + + +@pulumi.output_type +class WorkspacesSpaceChargePrepaid(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "renewFlag": + suggest = "renew_flag" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesSpaceChargePrepaid. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesSpaceChargePrepaid.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesSpaceChargePrepaid.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + period: Optional[int] = None, + renew_flag: Optional[str] = None): + """ + :param int 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`, `48`, `60`. + :param str 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`. + """ + if period is not None: + pulumi.set(__self__, "period", period) + if renew_flag is not None: + pulumi.set(__self__, "renew_flag", renew_flag) + + @property + @pulumi.getter + def 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`, `48`, `60`. + """ + return pulumi.get(self, "period") + + @property + @pulumi.getter(name="renewFlag") + def 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, "renew_flag") + + +@pulumi.output_type +class WorkspacesSystemDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "diskId": + suggest = "disk_id" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesSystemDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesSystemDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesSystemDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + disk_id: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None): + """ + :param str disk_id: Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + :param int disk_size: Size of the system disk. unit is GB, Default is 50GB. + :param str 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + """ + if disk_id is not None: + pulumi.set(__self__, "disk_id", disk_id) + 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) + + @property + @pulumi.getter(name="diskId") + def disk_id(self) -> Optional[str]: + """ + Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. + """ + return pulumi.get(self, "disk_id") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Size of the system disk. unit is GB, Default is 50GB. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def 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_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. + """ + return pulumi.get(self, "disk_type") + + +@pulumi.output_type +class WorkspacesTagSpecification(dict): + def __init__(__self__, *, + tags: Sequence['outputs.WorkspacesTagSpecificationTag']): + """ + :param Sequence['WorkspacesTagSpecificationTagArgs'] tags: tags. + """ + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.WorkspacesTagSpecificationTag']: + """ + tags. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class WorkspacesTagSpecificationTag(dict): + def __init__(__self__, *, + key: str, + value: str): + """ + :param str key: Tag key. + :param str value: Tag value. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + Tag key. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + Tag value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class WorkspacesVirtualPrivateCloud(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + elif key == "vpcId": + suggest = "vpc_id" + elif key == "asVpcGateway": + suggest = "as_vpc_gateway" + elif key == "ipv6AddressCount": + suggest = "ipv6_address_count" + elif key == "privateIpAddresses": + suggest = "private_ip_addresses" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspacesVirtualPrivateCloud. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspacesVirtualPrivateCloud.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspacesVirtualPrivateCloud.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_id: str, + vpc_id: str, + as_vpc_gateway: Optional[bool] = None, + ipv6_address_count: Optional[int] = None, + private_ip_addresses: Optional[Sequence[str]] = None): + """ + :param str subnet_id: The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + :param str vpc_id: The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + :param bool as_vpc_gateway: Is it used as a public network gateway. + :param int ipv6_address_count: IPV6 address count. + :param Sequence[str] private_ip_addresses: Array of private ip address. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + pulumi.set(__self__, "vpc_id", vpc_id) + if as_vpc_gateway is not None: + pulumi.set(__self__, "as_vpc_gateway", as_vpc_gateway) + if ipv6_address_count is not None: + pulumi.set(__self__, "ipv6_address_count", ipv6_address_count) + if private_ip_addresses is not None: + pulumi.set(__self__, "private_ip_addresses", private_ip_addresses) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> str: + """ + The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. + """ + return pulumi.get(self, "vpc_id") + + @property + @pulumi.getter(name="asVpcGateway") + def as_vpc_gateway(self) -> Optional[bool]: + """ + Is it used as a public network gateway. + """ + return pulumi.get(self, "as_vpc_gateway") + + @property + @pulumi.getter(name="ipv6AddressCount") + def ipv6_address_count(self) -> Optional[int]: + """ + IPV6 address count. + """ + return pulumi.get(self, "ipv6_address_count") + + @property + @pulumi.getter(name="privateIpAddresses") + def private_ip_addresses(self) -> Optional[Sequence[str]]: + """ + Array of private ip address. + """ + return pulumi.get(self, "private_ip_addresses") + + diff --git a/sdk/python/tencentcloud_iac_pulumi/thpc/workspaces.py b/sdk/python/tencentcloud_iac_pulumi/thpc/workspaces.py new file mode 100644 index 000000000..f30791564 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/thpc/workspaces.py @@ -0,0 +1,1418 @@ +# 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__ = ['WorkspacesArgs', 'Workspaces'] + +@pulumi.input_type +class WorkspacesArgs: + def __init__(__self__, *, + cam_role_name: Optional[pulumi.Input[str]] = None, + client_token: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]]] = None, + disaster_recover_group_id: Optional[pulumi.Input[str]] = None, + enhanced_service: Optional[pulumi.Input['WorkspacesEnhancedServiceArgs']] = None, + host_name: Optional[pulumi.Input[str]] = None, + hpc_cluster_id: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, + internet_accessible: Optional[pulumi.Input['WorkspacesInternetAccessibleArgs']] = None, + login_settings: Optional[pulumi.Input['WorkspacesLoginSettingsArgs']] = None, + placement: Optional[pulumi.Input['WorkspacesPlacementArgs']] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + space_charge_prepaid: Optional[pulumi.Input['WorkspacesSpaceChargePrepaidArgs']] = None, + space_charge_type: Optional[pulumi.Input[str]] = None, + space_name: Optional[pulumi.Input[str]] = None, + space_type: Optional[pulumi.Input[str]] = None, + system_disk: Optional[pulumi.Input['WorkspacesSystemDiskArgs']] = None, + tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_private_cloud: Optional[pulumi.Input['WorkspacesVirtualPrivateCloudArgs']] = None): + """ + The set of arguments for constructing a Workspaces resource. + :param pulumi.Input[str] cam_role_name: CAM role name authorized to access. + :param pulumi.Input[str] client_token: A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + :param pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]] data_disks: Workspace data disk information. + :param pulumi.Input[str] disaster_recover_group_id: Placement Group ID. + :param pulumi.Input['WorkspacesEnhancedServiceArgs'] enhanced_service: Enhanced Services. + :param pulumi.Input[str] host_name: The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + :param pulumi.Input[str] hpc_cluster_id: Hyper Computing Cluster ID. + :param pulumi.Input[str] image_id: Image ID. + :param pulumi.Input['WorkspacesInternetAccessibleArgs'] internet_accessible: Public network bandwidth settings. + :param pulumi.Input['WorkspacesLoginSettingsArgs'] login_settings: Workspace Login Settings. + :param pulumi.Input['WorkspacesPlacementArgs'] placement: The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Workspace Security Group. + :param pulumi.Input['WorkspacesSpaceChargePrepaidArgs'] space_charge_prepaid: Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + :param pulumi.Input[str] space_charge_type: Workspace billing type. + :param pulumi.Input[str] space_name: Workspace Display Name. + :param pulumi.Input[str] space_type: Workspace specifications. + :param pulumi.Input['WorkspacesSystemDiskArgs'] system_disk: Workspace system disk information. + :param pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]] tag_specifications: Tag Description List. + :param pulumi.Input[str] user_data: User Data for Workspace. + :param pulumi.Input['WorkspacesVirtualPrivateCloudArgs'] virtual_private_cloud: VPC related information. + """ + if cam_role_name is not None: + pulumi.set(__self__, "cam_role_name", cam_role_name) + if client_token is not None: + pulumi.set(__self__, "client_token", client_token) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if disaster_recover_group_id is not None: + pulumi.set(__self__, "disaster_recover_group_id", disaster_recover_group_id) + if enhanced_service is not None: + pulumi.set(__self__, "enhanced_service", enhanced_service) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if hpc_cluster_id is not None: + pulumi.set(__self__, "hpc_cluster_id", hpc_cluster_id) + if image_id is not None: + pulumi.set(__self__, "image_id", image_id) + if internet_accessible is not None: + pulumi.set(__self__, "internet_accessible", internet_accessible) + if login_settings is not None: + pulumi.set(__self__, "login_settings", login_settings) + if placement is not None: + pulumi.set(__self__, "placement", placement) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if space_charge_prepaid is not None: + pulumi.set(__self__, "space_charge_prepaid", space_charge_prepaid) + if space_charge_type is not None: + pulumi.set(__self__, "space_charge_type", space_charge_type) + if space_name is not None: + pulumi.set(__self__, "space_name", space_name) + if space_type is not None: + pulumi.set(__self__, "space_type", space_type) + if system_disk is not None: + pulumi.set(__self__, "system_disk", system_disk) + if tag_specifications is not None: + pulumi.set(__self__, "tag_specifications", tag_specifications) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if virtual_private_cloud is not None: + pulumi.set(__self__, "virtual_private_cloud", virtual_private_cloud) + + @property + @pulumi.getter(name="camRoleName") + def cam_role_name(self) -> Optional[pulumi.Input[str]]: + """ + CAM role name authorized to access. + """ + return pulumi.get(self, "cam_role_name") + + @cam_role_name.setter + def cam_role_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cam_role_name", value) + + @property + @pulumi.getter(name="clientToken") + def client_token(self) -> Optional[pulumi.Input[str]]: + """ + A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + """ + return pulumi.get(self, "client_token") + + @client_token.setter + def client_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_token", value) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]]]: + """ + Workspace data disk information. + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="disasterRecoverGroupId") + def disaster_recover_group_id(self) -> Optional[pulumi.Input[str]]: + """ + Placement Group ID. + """ + return pulumi.get(self, "disaster_recover_group_id") + + @disaster_recover_group_id.setter + def disaster_recover_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disaster_recover_group_id", value) + + @property + @pulumi.getter(name="enhancedService") + def enhanced_service(self) -> Optional[pulumi.Input['WorkspacesEnhancedServiceArgs']]: + """ + Enhanced Services. + """ + return pulumi.get(self, "enhanced_service") + + @enhanced_service.setter + def enhanced_service(self, value: Optional[pulumi.Input['WorkspacesEnhancedServiceArgs']]): + pulumi.set(self, "enhanced_service", value) + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[pulumi.Input[str]]: + """ + The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + """ + return pulumi.get(self, "host_name") + + @host_name.setter + def host_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_name", value) + + @property + @pulumi.getter(name="hpcClusterId") + def hpc_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Hyper Computing Cluster ID. + """ + return pulumi.get(self, "hpc_cluster_id") + + @hpc_cluster_id.setter + def hpc_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hpc_cluster_id", value) + + @property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[pulumi.Input[str]]: + """ + Image ID. + """ + return pulumi.get(self, "image_id") + + @image_id.setter + def image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_id", value) + + @property + @pulumi.getter(name="internetAccessible") + def internet_accessible(self) -> Optional[pulumi.Input['WorkspacesInternetAccessibleArgs']]: + """ + Public network bandwidth settings. + """ + return pulumi.get(self, "internet_accessible") + + @internet_accessible.setter + def internet_accessible(self, value: Optional[pulumi.Input['WorkspacesInternetAccessibleArgs']]): + pulumi.set(self, "internet_accessible", value) + + @property + @pulumi.getter(name="loginSettings") + def login_settings(self) -> Optional[pulumi.Input['WorkspacesLoginSettingsArgs']]: + """ + Workspace Login Settings. + """ + return pulumi.get(self, "login_settings") + + @login_settings.setter + def login_settings(self, value: Optional[pulumi.Input['WorkspacesLoginSettingsArgs']]): + pulumi.set(self, "login_settings", value) + + @property + @pulumi.getter + def placement(self) -> Optional[pulumi.Input['WorkspacesPlacementArgs']]: + """ + The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + """ + return pulumi.get(self, "placement") + + @placement.setter + def placement(self, value: Optional[pulumi.Input['WorkspacesPlacementArgs']]): + pulumi.set(self, "placement", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Workspace Security Group. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter(name="spaceChargePrepaid") + def space_charge_prepaid(self) -> Optional[pulumi.Input['WorkspacesSpaceChargePrepaidArgs']]: + """ + Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + """ + return pulumi.get(self, "space_charge_prepaid") + + @space_charge_prepaid.setter + def space_charge_prepaid(self, value: Optional[pulumi.Input['WorkspacesSpaceChargePrepaidArgs']]): + pulumi.set(self, "space_charge_prepaid", value) + + @property + @pulumi.getter(name="spaceChargeType") + def space_charge_type(self) -> Optional[pulumi.Input[str]]: + """ + Workspace billing type. + """ + return pulumi.get(self, "space_charge_type") + + @space_charge_type.setter + def space_charge_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "space_charge_type", value) + + @property + @pulumi.getter(name="spaceName") + def space_name(self) -> Optional[pulumi.Input[str]]: + """ + Workspace Display Name. + """ + return pulumi.get(self, "space_name") + + @space_name.setter + def space_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "space_name", value) + + @property + @pulumi.getter(name="spaceType") + def space_type(self) -> Optional[pulumi.Input[str]]: + """ + Workspace specifications. + """ + return pulumi.get(self, "space_type") + + @space_type.setter + def space_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "space_type", value) + + @property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> Optional[pulumi.Input['WorkspacesSystemDiskArgs']]: + """ + Workspace system disk information. + """ + return pulumi.get(self, "system_disk") + + @system_disk.setter + def system_disk(self, value: Optional[pulumi.Input['WorkspacesSystemDiskArgs']]): + pulumi.set(self, "system_disk", value) + + @property + @pulumi.getter(name="tagSpecifications") + def tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]]]: + """ + Tag Description List. + """ + return pulumi.get(self, "tag_specifications") + + @tag_specifications.setter + def tag_specifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]]]): + pulumi.set(self, "tag_specifications", value) + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[str]]: + """ + User Data for Workspace. + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_data", value) + + @property + @pulumi.getter(name="virtualPrivateCloud") + def virtual_private_cloud(self) -> Optional[pulumi.Input['WorkspacesVirtualPrivateCloudArgs']]: + """ + VPC related information. + """ + return pulumi.get(self, "virtual_private_cloud") + + @virtual_private_cloud.setter + def virtual_private_cloud(self, value: Optional[pulumi.Input['WorkspacesVirtualPrivateCloudArgs']]): + pulumi.set(self, "virtual_private_cloud", value) + + +@pulumi.input_type +class _WorkspacesState: + def __init__(__self__, *, + cam_role_name: Optional[pulumi.Input[str]] = None, + client_token: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]]] = None, + disaster_recover_group_id: Optional[pulumi.Input[str]] = None, + enhanced_service: Optional[pulumi.Input['WorkspacesEnhancedServiceArgs']] = None, + host_name: Optional[pulumi.Input[str]] = None, + hpc_cluster_id: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, + internet_accessible: Optional[pulumi.Input['WorkspacesInternetAccessibleArgs']] = None, + login_settings: Optional[pulumi.Input['WorkspacesLoginSettingsArgs']] = None, + placement: Optional[pulumi.Input['WorkspacesPlacementArgs']] = None, + resource_id: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + space_charge_prepaid: Optional[pulumi.Input['WorkspacesSpaceChargePrepaidArgs']] = None, + space_charge_type: Optional[pulumi.Input[str]] = None, + space_name: Optional[pulumi.Input[str]] = None, + space_type: Optional[pulumi.Input[str]] = None, + system_disk: Optional[pulumi.Input['WorkspacesSystemDiskArgs']] = None, + tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_private_cloud: Optional[pulumi.Input['WorkspacesVirtualPrivateCloudArgs']] = None): + """ + Input properties used for looking up and filtering Workspaces resources. + :param pulumi.Input[str] cam_role_name: CAM role name authorized to access. + :param pulumi.Input[str] client_token: A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + :param pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]] data_disks: Workspace data disk information. + :param pulumi.Input[str] disaster_recover_group_id: Placement Group ID. + :param pulumi.Input['WorkspacesEnhancedServiceArgs'] enhanced_service: Enhanced Services. + :param pulumi.Input[str] host_name: The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + :param pulumi.Input[str] hpc_cluster_id: Hyper Computing Cluster ID. + :param pulumi.Input[str] image_id: Image ID. + :param pulumi.Input['WorkspacesInternetAccessibleArgs'] internet_accessible: Public network bandwidth settings. + :param pulumi.Input['WorkspacesLoginSettingsArgs'] login_settings: Workspace Login Settings. + :param pulumi.Input['WorkspacesPlacementArgs'] placement: The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + :param pulumi.Input[str] resource_id: CVM instance ID. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Workspace Security Group. + :param pulumi.Input['WorkspacesSpaceChargePrepaidArgs'] space_charge_prepaid: Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + :param pulumi.Input[str] space_charge_type: Workspace billing type. + :param pulumi.Input[str] space_name: Workspace Display Name. + :param pulumi.Input[str] space_type: Workspace specifications. + :param pulumi.Input['WorkspacesSystemDiskArgs'] system_disk: Workspace system disk information. + :param pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]] tag_specifications: Tag Description List. + :param pulumi.Input[str] user_data: User Data for Workspace. + :param pulumi.Input['WorkspacesVirtualPrivateCloudArgs'] virtual_private_cloud: VPC related information. + """ + if cam_role_name is not None: + pulumi.set(__self__, "cam_role_name", cam_role_name) + if client_token is not None: + pulumi.set(__self__, "client_token", client_token) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if disaster_recover_group_id is not None: + pulumi.set(__self__, "disaster_recover_group_id", disaster_recover_group_id) + if enhanced_service is not None: + pulumi.set(__self__, "enhanced_service", enhanced_service) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if hpc_cluster_id is not None: + pulumi.set(__self__, "hpc_cluster_id", hpc_cluster_id) + if image_id is not None: + pulumi.set(__self__, "image_id", image_id) + if internet_accessible is not None: + pulumi.set(__self__, "internet_accessible", internet_accessible) + if login_settings is not None: + pulumi.set(__self__, "login_settings", login_settings) + if placement is not None: + pulumi.set(__self__, "placement", placement) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if space_charge_prepaid is not None: + pulumi.set(__self__, "space_charge_prepaid", space_charge_prepaid) + if space_charge_type is not None: + pulumi.set(__self__, "space_charge_type", space_charge_type) + if space_name is not None: + pulumi.set(__self__, "space_name", space_name) + if space_type is not None: + pulumi.set(__self__, "space_type", space_type) + if system_disk is not None: + pulumi.set(__self__, "system_disk", system_disk) + if tag_specifications is not None: + pulumi.set(__self__, "tag_specifications", tag_specifications) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if virtual_private_cloud is not None: + pulumi.set(__self__, "virtual_private_cloud", virtual_private_cloud) + + @property + @pulumi.getter(name="camRoleName") + def cam_role_name(self) -> Optional[pulumi.Input[str]]: + """ + CAM role name authorized to access. + """ + return pulumi.get(self, "cam_role_name") + + @cam_role_name.setter + def cam_role_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cam_role_name", value) + + @property + @pulumi.getter(name="clientToken") + def client_token(self) -> Optional[pulumi.Input[str]]: + """ + A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + """ + return pulumi.get(self, "client_token") + + @client_token.setter + def client_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_token", value) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]]]: + """ + Workspace data disk information. + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="disasterRecoverGroupId") + def disaster_recover_group_id(self) -> Optional[pulumi.Input[str]]: + """ + Placement Group ID. + """ + return pulumi.get(self, "disaster_recover_group_id") + + @disaster_recover_group_id.setter + def disaster_recover_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disaster_recover_group_id", value) + + @property + @pulumi.getter(name="enhancedService") + def enhanced_service(self) -> Optional[pulumi.Input['WorkspacesEnhancedServiceArgs']]: + """ + Enhanced Services. + """ + return pulumi.get(self, "enhanced_service") + + @enhanced_service.setter + def enhanced_service(self, value: Optional[pulumi.Input['WorkspacesEnhancedServiceArgs']]): + pulumi.set(self, "enhanced_service", value) + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[pulumi.Input[str]]: + """ + The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + """ + return pulumi.get(self, "host_name") + + @host_name.setter + def host_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_name", value) + + @property + @pulumi.getter(name="hpcClusterId") + def hpc_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Hyper Computing Cluster ID. + """ + return pulumi.get(self, "hpc_cluster_id") + + @hpc_cluster_id.setter + def hpc_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hpc_cluster_id", value) + + @property + @pulumi.getter(name="imageId") + def image_id(self) -> Optional[pulumi.Input[str]]: + """ + Image ID. + """ + return pulumi.get(self, "image_id") + + @image_id.setter + def image_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "image_id", value) + + @property + @pulumi.getter(name="internetAccessible") + def internet_accessible(self) -> Optional[pulumi.Input['WorkspacesInternetAccessibleArgs']]: + """ + Public network bandwidth settings. + """ + return pulumi.get(self, "internet_accessible") + + @internet_accessible.setter + def internet_accessible(self, value: Optional[pulumi.Input['WorkspacesInternetAccessibleArgs']]): + pulumi.set(self, "internet_accessible", value) + + @property + @pulumi.getter(name="loginSettings") + def login_settings(self) -> Optional[pulumi.Input['WorkspacesLoginSettingsArgs']]: + """ + Workspace Login Settings. + """ + return pulumi.get(self, "login_settings") + + @login_settings.setter + def login_settings(self, value: Optional[pulumi.Input['WorkspacesLoginSettingsArgs']]): + pulumi.set(self, "login_settings", value) + + @property + @pulumi.getter + def placement(self) -> Optional[pulumi.Input['WorkspacesPlacementArgs']]: + """ + The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + """ + return pulumi.get(self, "placement") + + @placement.setter + def placement(self, value: Optional[pulumi.Input['WorkspacesPlacementArgs']]): + pulumi.set(self, "placement", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + CVM instance ID. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Workspace Security Group. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter(name="spaceChargePrepaid") + def space_charge_prepaid(self) -> Optional[pulumi.Input['WorkspacesSpaceChargePrepaidArgs']]: + """ + Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + """ + return pulumi.get(self, "space_charge_prepaid") + + @space_charge_prepaid.setter + def space_charge_prepaid(self, value: Optional[pulumi.Input['WorkspacesSpaceChargePrepaidArgs']]): + pulumi.set(self, "space_charge_prepaid", value) + + @property + @pulumi.getter(name="spaceChargeType") + def space_charge_type(self) -> Optional[pulumi.Input[str]]: + """ + Workspace billing type. + """ + return pulumi.get(self, "space_charge_type") + + @space_charge_type.setter + def space_charge_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "space_charge_type", value) + + @property + @pulumi.getter(name="spaceName") + def space_name(self) -> Optional[pulumi.Input[str]]: + """ + Workspace Display Name. + """ + return pulumi.get(self, "space_name") + + @space_name.setter + def space_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "space_name", value) + + @property + @pulumi.getter(name="spaceType") + def space_type(self) -> Optional[pulumi.Input[str]]: + """ + Workspace specifications. + """ + return pulumi.get(self, "space_type") + + @space_type.setter + def space_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "space_type", value) + + @property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> Optional[pulumi.Input['WorkspacesSystemDiskArgs']]: + """ + Workspace system disk information. + """ + return pulumi.get(self, "system_disk") + + @system_disk.setter + def system_disk(self, value: Optional[pulumi.Input['WorkspacesSystemDiskArgs']]): + pulumi.set(self, "system_disk", value) + + @property + @pulumi.getter(name="tagSpecifications") + def tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]]]: + """ + Tag Description List. + """ + return pulumi.get(self, "tag_specifications") + + @tag_specifications.setter + def tag_specifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkspacesTagSpecificationArgs']]]]): + pulumi.set(self, "tag_specifications", value) + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[str]]: + """ + User Data for Workspace. + """ + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_data", value) + + @property + @pulumi.getter(name="virtualPrivateCloud") + def virtual_private_cloud(self) -> Optional[pulumi.Input['WorkspacesVirtualPrivateCloudArgs']]: + """ + VPC related information. + """ + return pulumi.get(self, "virtual_private_cloud") + + @virtual_private_cloud.setter + def virtual_private_cloud(self, value: Optional[pulumi.Input['WorkspacesVirtualPrivateCloudArgs']]): + pulumi.set(self, "virtual_private_cloud", value) + + +class Workspaces(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cam_role_name: Optional[pulumi.Input[str]] = None, + client_token: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesDataDiskArgs']]]]] = None, + disaster_recover_group_id: Optional[pulumi.Input[str]] = None, + enhanced_service: Optional[pulumi.Input[pulumi.InputType['WorkspacesEnhancedServiceArgs']]] = None, + host_name: Optional[pulumi.Input[str]] = None, + hpc_cluster_id: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, + internet_accessible: Optional[pulumi.Input[pulumi.InputType['WorkspacesInternetAccessibleArgs']]] = None, + login_settings: Optional[pulumi.Input[pulumi.InputType['WorkspacesLoginSettingsArgs']]] = None, + placement: Optional[pulumi.Input[pulumi.InputType['WorkspacesPlacementArgs']]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + space_charge_prepaid: Optional[pulumi.Input[pulumi.InputType['WorkspacesSpaceChargePrepaidArgs']]] = None, + space_charge_type: Optional[pulumi.Input[str]] = None, + space_name: Optional[pulumi.Input[str]] = None, + space_type: Optional[pulumi.Input[str]] = None, + system_disk: Optional[pulumi.Input[pulumi.InputType['WorkspacesSystemDiskArgs']]] = None, + tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesTagSpecificationArgs']]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_private_cloud: Optional[pulumi.Input[pulumi.InputType['WorkspacesVirtualPrivateCloudArgs']]] = None, + __props__=None): + """ + Provides a resource to create a THPC workspaces + + > **Note:** If space_charge_type is UNDERWRITE, Not currently supported for deletion. + + ## Example Usage + + ### Create a PREPAID THPC workspaces + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-nanjing-1" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + os_name="TencentOS Server 3.1 (TK4) UEFI") + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create thpc workspaces + example_workspaces = tencentcloud.thpc.Workspaces("exampleWorkspaces", + space_name="tf-example", + space_charge_type="PREPAID", + space_type="96A.96XLARGE2304", + hpc_cluster_id="hpc-l9anqcbl", + image_id=images.images[0].image_id, + security_group_ids=[example_group.id], + placement=tencentcloud.thpc.WorkspacesPlacementArgs( + zone=availability_zone, + project_id=0, + ), + space_charge_prepaid=tencentcloud.thpc.WorkspacesSpaceChargePrepaidArgs( + period=1, + renew_flag="NOTIFY_AND_AUTO_RENEW", + ), + system_disk=tencentcloud.thpc.WorkspacesSystemDiskArgs( + disk_size=100, + disk_type="CLOUD_HSSD", + ), + data_disks=[tencentcloud.thpc.WorkspacesDataDiskArgs( + disk_size=200, + disk_type="CLOUD_HSSD", + encrypt=False, + )], + virtual_private_cloud=tencentcloud.thpc.WorkspacesVirtualPrivateCloudArgs( + vpc_id=vpc.id, + subnet_id=subnet.id, + as_vpc_gateway=False, + ipv6_address_count=0, + ), + internet_accessible=tencentcloud.thpc.WorkspacesInternetAccessibleArgs( + internet_charge_type="TRAFFIC_POSTPAID_BY_HOUR", + internet_max_bandwidth_out=200, + public_ip_assigned=True, + ), + login_settings=tencentcloud.thpc.WorkspacesLoginSettingsArgs( + password="Password@123", + ), + enhanced_service=tencentcloud.thpc.WorkspacesEnhancedServiceArgs( + security_service=tencentcloud.thpc.WorkspacesEnhancedServiceSecurityServiceArgs( + enabled=True, + ), + monitor_service=tencentcloud.thpc.WorkspacesEnhancedServiceMonitorServiceArgs( + enabled=True, + ), + automation_service=tencentcloud.thpc.WorkspacesEnhancedServiceAutomationServiceArgs( + enabled=True, + ), + )) + ``` + + + ### Create a UNDERWRITE THPC workspaces + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-nanjing-1" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + os_name="TencentOS Server 3.1 (TK4) UEFI") + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create thpc workspaces + example_workspaces = tencentcloud.thpc.Workspaces("exampleWorkspaces", + space_name="tf-example", + space_charge_type="UNDERWRITE", + space_type="96A.96XLARGE2304", + hpc_cluster_id="hpc-l9anqcbl", + image_id=images.images[0].image_id, + security_group_ids=[example_group.id], + placement=tencentcloud.thpc.WorkspacesPlacementArgs( + zone=availability_zone, + project_id=0, + ), + space_charge_prepaid=tencentcloud.thpc.WorkspacesSpaceChargePrepaidArgs( + period=12, + renew_flag="NOTIFY_AND_AUTO_RENEW", + ), + system_disk=tencentcloud.thpc.WorkspacesSystemDiskArgs( + disk_size=100, + disk_type="CLOUD_HSSD", + ), + data_disks=[tencentcloud.thpc.WorkspacesDataDiskArgs( + disk_size=200, + disk_type="CLOUD_HSSD", + encrypt=False, + )], + virtual_private_cloud=tencentcloud.thpc.WorkspacesVirtualPrivateCloudArgs( + vpc_id=vpc.id, + subnet_id=subnet.id, + as_vpc_gateway=False, + ipv6_address_count=0, + private_ip_addresses=["172.16.0.2"], + ), + internet_accessible=tencentcloud.thpc.WorkspacesInternetAccessibleArgs( + internet_charge_type="BANDWIDTH_PREPAID", + internet_max_bandwidth_out=200, + public_ip_assigned=True, + ), + login_settings=tencentcloud.thpc.WorkspacesLoginSettingsArgs( + key_ids=["skey-qxjpz7uj"], + ), + enhanced_service=tencentcloud.thpc.WorkspacesEnhancedServiceArgs( + security_service=tencentcloud.thpc.WorkspacesEnhancedServiceSecurityServiceArgs( + enabled=True, + ), + monitor_service=tencentcloud.thpc.WorkspacesEnhancedServiceMonitorServiceArgs( + enabled=True, + ), + automation_service=tencentcloud.thpc.WorkspacesEnhancedServiceAutomationServiceArgs( + enabled=True, + ), + )) + ``` + + + ## Import + + THPC workspaces can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Thpc/workspaces:Workspaces example wks-gwg3ygz1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cam_role_name: CAM role name authorized to access. + :param pulumi.Input[str] client_token: A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesDataDiskArgs']]]] data_disks: Workspace data disk information. + :param pulumi.Input[str] disaster_recover_group_id: Placement Group ID. + :param pulumi.Input[pulumi.InputType['WorkspacesEnhancedServiceArgs']] enhanced_service: Enhanced Services. + :param pulumi.Input[str] host_name: The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + :param pulumi.Input[str] hpc_cluster_id: Hyper Computing Cluster ID. + :param pulumi.Input[str] image_id: Image ID. + :param pulumi.Input[pulumi.InputType['WorkspacesInternetAccessibleArgs']] internet_accessible: Public network bandwidth settings. + :param pulumi.Input[pulumi.InputType['WorkspacesLoginSettingsArgs']] login_settings: Workspace Login Settings. + :param pulumi.Input[pulumi.InputType['WorkspacesPlacementArgs']] placement: The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Workspace Security Group. + :param pulumi.Input[pulumi.InputType['WorkspacesSpaceChargePrepaidArgs']] space_charge_prepaid: Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + :param pulumi.Input[str] space_charge_type: Workspace billing type. + :param pulumi.Input[str] space_name: Workspace Display Name. + :param pulumi.Input[str] space_type: Workspace specifications. + :param pulumi.Input[pulumi.InputType['WorkspacesSystemDiskArgs']] system_disk: Workspace system disk information. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesTagSpecificationArgs']]]] tag_specifications: Tag Description List. + :param pulumi.Input[str] user_data: User Data for Workspace. + :param pulumi.Input[pulumi.InputType['WorkspacesVirtualPrivateCloudArgs']] virtual_private_cloud: VPC related information. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[WorkspacesArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a THPC workspaces + + > **Note:** If space_charge_type is UNDERWRITE, Not currently supported for deletion. + + ## Example Usage + + ### Create a PREPAID THPC workspaces + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-nanjing-1" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + os_name="TencentOS Server 3.1 (TK4) UEFI") + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create thpc workspaces + example_workspaces = tencentcloud.thpc.Workspaces("exampleWorkspaces", + space_name="tf-example", + space_charge_type="PREPAID", + space_type="96A.96XLARGE2304", + hpc_cluster_id="hpc-l9anqcbl", + image_id=images.images[0].image_id, + security_group_ids=[example_group.id], + placement=tencentcloud.thpc.WorkspacesPlacementArgs( + zone=availability_zone, + project_id=0, + ), + space_charge_prepaid=tencentcloud.thpc.WorkspacesSpaceChargePrepaidArgs( + period=1, + renew_flag="NOTIFY_AND_AUTO_RENEW", + ), + system_disk=tencentcloud.thpc.WorkspacesSystemDiskArgs( + disk_size=100, + disk_type="CLOUD_HSSD", + ), + data_disks=[tencentcloud.thpc.WorkspacesDataDiskArgs( + disk_size=200, + disk_type="CLOUD_HSSD", + encrypt=False, + )], + virtual_private_cloud=tencentcloud.thpc.WorkspacesVirtualPrivateCloudArgs( + vpc_id=vpc.id, + subnet_id=subnet.id, + as_vpc_gateway=False, + ipv6_address_count=0, + ), + internet_accessible=tencentcloud.thpc.WorkspacesInternetAccessibleArgs( + internet_charge_type="TRAFFIC_POSTPAID_BY_HOUR", + internet_max_bandwidth_out=200, + public_ip_assigned=True, + ), + login_settings=tencentcloud.thpc.WorkspacesLoginSettingsArgs( + password="Password@123", + ), + enhanced_service=tencentcloud.thpc.WorkspacesEnhancedServiceArgs( + security_service=tencentcloud.thpc.WorkspacesEnhancedServiceSecurityServiceArgs( + enabled=True, + ), + monitor_service=tencentcloud.thpc.WorkspacesEnhancedServiceMonitorServiceArgs( + enabled=True, + ), + automation_service=tencentcloud.thpc.WorkspacesEnhancedServiceAutomationServiceArgs( + enabled=True, + ), + )) + ``` + + + ### Create a UNDERWRITE THPC workspaces + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + import tencentcloud_iac_pulumi as tencentcloud + + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-nanjing-1" + images = tencentcloud.Images.get_instance(image_types=["PUBLIC_IMAGE"], + os_name="TencentOS Server 3.1 (TK4) UEFI") + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="172.16.0.0/16") + # create subnet + subnet = tencentcloud.subnet.Instance("subnet", + availability_zone=availability_zone, + vpc_id=vpc.id, + cidr_block="172.16.0.0/24", + is_multicast=False) + # create security group + example_group = tencentcloud.security.Group("exampleGroup", + description="security group desc.", + tags={ + "createBy": "Terraform", + }) + # create thpc workspaces + example_workspaces = tencentcloud.thpc.Workspaces("exampleWorkspaces", + space_name="tf-example", + space_charge_type="UNDERWRITE", + space_type="96A.96XLARGE2304", + hpc_cluster_id="hpc-l9anqcbl", + image_id=images.images[0].image_id, + security_group_ids=[example_group.id], + placement=tencentcloud.thpc.WorkspacesPlacementArgs( + zone=availability_zone, + project_id=0, + ), + space_charge_prepaid=tencentcloud.thpc.WorkspacesSpaceChargePrepaidArgs( + period=12, + renew_flag="NOTIFY_AND_AUTO_RENEW", + ), + system_disk=tencentcloud.thpc.WorkspacesSystemDiskArgs( + disk_size=100, + disk_type="CLOUD_HSSD", + ), + data_disks=[tencentcloud.thpc.WorkspacesDataDiskArgs( + disk_size=200, + disk_type="CLOUD_HSSD", + encrypt=False, + )], + virtual_private_cloud=tencentcloud.thpc.WorkspacesVirtualPrivateCloudArgs( + vpc_id=vpc.id, + subnet_id=subnet.id, + as_vpc_gateway=False, + ipv6_address_count=0, + private_ip_addresses=["172.16.0.2"], + ), + internet_accessible=tencentcloud.thpc.WorkspacesInternetAccessibleArgs( + internet_charge_type="BANDWIDTH_PREPAID", + internet_max_bandwidth_out=200, + public_ip_assigned=True, + ), + login_settings=tencentcloud.thpc.WorkspacesLoginSettingsArgs( + key_ids=["skey-qxjpz7uj"], + ), + enhanced_service=tencentcloud.thpc.WorkspacesEnhancedServiceArgs( + security_service=tencentcloud.thpc.WorkspacesEnhancedServiceSecurityServiceArgs( + enabled=True, + ), + monitor_service=tencentcloud.thpc.WorkspacesEnhancedServiceMonitorServiceArgs( + enabled=True, + ), + automation_service=tencentcloud.thpc.WorkspacesEnhancedServiceAutomationServiceArgs( + enabled=True, + ), + )) + ``` + + + ## Import + + THPC workspaces can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Thpc/workspaces:Workspaces example wks-gwg3ygz1 + ``` + + :param str resource_name: The name of the resource. + :param WorkspacesArgs 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(WorkspacesArgs, 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, + cam_role_name: Optional[pulumi.Input[str]] = None, + client_token: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesDataDiskArgs']]]]] = None, + disaster_recover_group_id: Optional[pulumi.Input[str]] = None, + enhanced_service: Optional[pulumi.Input[pulumi.InputType['WorkspacesEnhancedServiceArgs']]] = None, + host_name: Optional[pulumi.Input[str]] = None, + hpc_cluster_id: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, + internet_accessible: Optional[pulumi.Input[pulumi.InputType['WorkspacesInternetAccessibleArgs']]] = None, + login_settings: Optional[pulumi.Input[pulumi.InputType['WorkspacesLoginSettingsArgs']]] = None, + placement: Optional[pulumi.Input[pulumi.InputType['WorkspacesPlacementArgs']]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + space_charge_prepaid: Optional[pulumi.Input[pulumi.InputType['WorkspacesSpaceChargePrepaidArgs']]] = None, + space_charge_type: Optional[pulumi.Input[str]] = None, + space_name: Optional[pulumi.Input[str]] = None, + space_type: Optional[pulumi.Input[str]] = None, + system_disk: Optional[pulumi.Input[pulumi.InputType['WorkspacesSystemDiskArgs']]] = None, + tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesTagSpecificationArgs']]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_private_cloud: Optional[pulumi.Input[pulumi.InputType['WorkspacesVirtualPrivateCloudArgs']]] = 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__ = WorkspacesArgs.__new__(WorkspacesArgs) + + __props__.__dict__["cam_role_name"] = cam_role_name + __props__.__dict__["client_token"] = client_token + __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["disaster_recover_group_id"] = disaster_recover_group_id + __props__.__dict__["enhanced_service"] = enhanced_service + __props__.__dict__["host_name"] = host_name + __props__.__dict__["hpc_cluster_id"] = hpc_cluster_id + __props__.__dict__["image_id"] = image_id + __props__.__dict__["internet_accessible"] = internet_accessible + __props__.__dict__["login_settings"] = login_settings + __props__.__dict__["placement"] = placement + __props__.__dict__["security_group_ids"] = security_group_ids + __props__.__dict__["space_charge_prepaid"] = space_charge_prepaid + __props__.__dict__["space_charge_type"] = space_charge_type + __props__.__dict__["space_name"] = space_name + __props__.__dict__["space_type"] = space_type + __props__.__dict__["system_disk"] = system_disk + __props__.__dict__["tag_specifications"] = tag_specifications + __props__.__dict__["user_data"] = user_data + __props__.__dict__["virtual_private_cloud"] = virtual_private_cloud + __props__.__dict__["resource_id"] = None + super(Workspaces, __self__).__init__( + 'tencentcloud:Thpc/workspaces:Workspaces', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + cam_role_name: Optional[pulumi.Input[str]] = None, + client_token: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesDataDiskArgs']]]]] = None, + disaster_recover_group_id: Optional[pulumi.Input[str]] = None, + enhanced_service: Optional[pulumi.Input[pulumi.InputType['WorkspacesEnhancedServiceArgs']]] = None, + host_name: Optional[pulumi.Input[str]] = None, + hpc_cluster_id: Optional[pulumi.Input[str]] = None, + image_id: Optional[pulumi.Input[str]] = None, + internet_accessible: Optional[pulumi.Input[pulumi.InputType['WorkspacesInternetAccessibleArgs']]] = None, + login_settings: Optional[pulumi.Input[pulumi.InputType['WorkspacesLoginSettingsArgs']]] = None, + placement: Optional[pulumi.Input[pulumi.InputType['WorkspacesPlacementArgs']]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + space_charge_prepaid: Optional[pulumi.Input[pulumi.InputType['WorkspacesSpaceChargePrepaidArgs']]] = None, + space_charge_type: Optional[pulumi.Input[str]] = None, + space_name: Optional[pulumi.Input[str]] = None, + space_type: Optional[pulumi.Input[str]] = None, + system_disk: Optional[pulumi.Input[pulumi.InputType['WorkspacesSystemDiskArgs']]] = None, + tag_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesTagSpecificationArgs']]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + virtual_private_cloud: Optional[pulumi.Input[pulumi.InputType['WorkspacesVirtualPrivateCloudArgs']]] = None) -> 'Workspaces': + """ + Get an existing Workspaces 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] cam_role_name: CAM role name authorized to access. + :param pulumi.Input[str] client_token: A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesDataDiskArgs']]]] data_disks: Workspace data disk information. + :param pulumi.Input[str] disaster_recover_group_id: Placement Group ID. + :param pulumi.Input[pulumi.InputType['WorkspacesEnhancedServiceArgs']] enhanced_service: Enhanced Services. + :param pulumi.Input[str] host_name: The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + :param pulumi.Input[str] hpc_cluster_id: Hyper Computing Cluster ID. + :param pulumi.Input[str] image_id: Image ID. + :param pulumi.Input[pulumi.InputType['WorkspacesInternetAccessibleArgs']] internet_accessible: Public network bandwidth settings. + :param pulumi.Input[pulumi.InputType['WorkspacesLoginSettingsArgs']] login_settings: Workspace Login Settings. + :param pulumi.Input[pulumi.InputType['WorkspacesPlacementArgs']] placement: The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + :param pulumi.Input[str] resource_id: CVM instance ID. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Workspace Security Group. + :param pulumi.Input[pulumi.InputType['WorkspacesSpaceChargePrepaidArgs']] space_charge_prepaid: Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + :param pulumi.Input[str] space_charge_type: Workspace billing type. + :param pulumi.Input[str] space_name: Workspace Display Name. + :param pulumi.Input[str] space_type: Workspace specifications. + :param pulumi.Input[pulumi.InputType['WorkspacesSystemDiskArgs']] system_disk: Workspace system disk information. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WorkspacesTagSpecificationArgs']]]] tag_specifications: Tag Description List. + :param pulumi.Input[str] user_data: User Data for Workspace. + :param pulumi.Input[pulumi.InputType['WorkspacesVirtualPrivateCloudArgs']] virtual_private_cloud: VPC related information. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _WorkspacesState.__new__(_WorkspacesState) + + __props__.__dict__["cam_role_name"] = cam_role_name + __props__.__dict__["client_token"] = client_token + __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["disaster_recover_group_id"] = disaster_recover_group_id + __props__.__dict__["enhanced_service"] = enhanced_service + __props__.__dict__["host_name"] = host_name + __props__.__dict__["hpc_cluster_id"] = hpc_cluster_id + __props__.__dict__["image_id"] = image_id + __props__.__dict__["internet_accessible"] = internet_accessible + __props__.__dict__["login_settings"] = login_settings + __props__.__dict__["placement"] = placement + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["security_group_ids"] = security_group_ids + __props__.__dict__["space_charge_prepaid"] = space_charge_prepaid + __props__.__dict__["space_charge_type"] = space_charge_type + __props__.__dict__["space_name"] = space_name + __props__.__dict__["space_type"] = space_type + __props__.__dict__["system_disk"] = system_disk + __props__.__dict__["tag_specifications"] = tag_specifications + __props__.__dict__["user_data"] = user_data + __props__.__dict__["virtual_private_cloud"] = virtual_private_cloud + return Workspaces(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="camRoleName") + def cam_role_name(self) -> pulumi.Output[Optional[str]]: + """ + CAM role name authorized to access. + """ + return pulumi.get(self, "cam_role_name") + + @property + @pulumi.getter(name="clientToken") + def client_token(self) -> pulumi.Output[Optional[str]]: + """ + A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. + """ + return pulumi.get(self, "client_token") + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> pulumi.Output[Sequence['outputs.WorkspacesDataDisk']]: + """ + Workspace data disk information. + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="disasterRecoverGroupId") + def disaster_recover_group_id(self) -> pulumi.Output[Optional[str]]: + """ + Placement Group ID. + """ + return pulumi.get(self, "disaster_recover_group_id") + + @property + @pulumi.getter(name="enhancedService") + def enhanced_service(self) -> pulumi.Output[Optional['outputs.WorkspacesEnhancedService']]: + """ + Enhanced Services. + """ + return pulumi.get(self, "enhanced_service") + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> pulumi.Output[Optional[str]]: + """ + The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. + """ + return pulumi.get(self, "host_name") + + @property + @pulumi.getter(name="hpcClusterId") + def hpc_cluster_id(self) -> pulumi.Output[Optional[str]]: + """ + Hyper Computing Cluster ID. + """ + return pulumi.get(self, "hpc_cluster_id") + + @property + @pulumi.getter(name="imageId") + def image_id(self) -> pulumi.Output[Optional[str]]: + """ + Image ID. + """ + return pulumi.get(self, "image_id") + + @property + @pulumi.getter(name="internetAccessible") + def internet_accessible(self) -> pulumi.Output['outputs.WorkspacesInternetAccessible']: + """ + Public network bandwidth settings. + """ + return pulumi.get(self, "internet_accessible") + + @property + @pulumi.getter(name="loginSettings") + def login_settings(self) -> pulumi.Output[Optional['outputs.WorkspacesLoginSettings']]: + """ + Workspace Login Settings. + """ + return pulumi.get(self, "login_settings") + + @property + @pulumi.getter + def placement(self) -> pulumi.Output[Optional['outputs.WorkspacesPlacement']]: + """ + The position of the instance. This parameter allows you to specify attributes such as the availability zone, project, and host machine (when creating a sub-instance on CDH) that the instance belongs to. Note: If you do not specify the LaunchTemplate parameter, Placement is a mandatory parameter. If both Placement and LaunchTemplate are passed, the values in Placement override the corresponding values in LaunchTemplate by default. + """ + return pulumi.get(self, "placement") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[str]: + """ + CVM instance ID. + """ + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Output[Sequence[str]]: + """ + Workspace Security Group. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter(name="spaceChargePrepaid") + def space_charge_prepaid(self) -> pulumi.Output[Optional['outputs.WorkspacesSpaceChargePrepaid']]: + """ + Prepaid mode: This refers to the parameters related to the annual and monthly subscription. By this parameter, you can specify the purchase duration of the prepaid instances, whether to set auto-renewal, and other attributes. If the instance's billing mode is prepaid, this parameter is required. + """ + return pulumi.get(self, "space_charge_prepaid") + + @property + @pulumi.getter(name="spaceChargeType") + def space_charge_type(self) -> pulumi.Output[Optional[str]]: + """ + Workspace billing type. + """ + return pulumi.get(self, "space_charge_type") + + @property + @pulumi.getter(name="spaceName") + def space_name(self) -> pulumi.Output[str]: + """ + Workspace Display Name. + """ + return pulumi.get(self, "space_name") + + @property + @pulumi.getter(name="spaceType") + def space_type(self) -> pulumi.Output[Optional[str]]: + """ + Workspace specifications. + """ + return pulumi.get(self, "space_type") + + @property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> pulumi.Output[Optional['outputs.WorkspacesSystemDisk']]: + """ + Workspace system disk information. + """ + return pulumi.get(self, "system_disk") + + @property + @pulumi.getter(name="tagSpecifications") + def tag_specifications(self) -> pulumi.Output[Optional[Sequence['outputs.WorkspacesTagSpecification']]]: + """ + Tag Description List. + """ + return pulumi.get(self, "tag_specifications") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> pulumi.Output[Optional[str]]: + """ + User Data for Workspace. + """ + return pulumi.get(self, "user_data") + + @property + @pulumi.getter(name="virtualPrivateCloud") + def virtual_private_cloud(self) -> pulumi.Output[Optional['outputs.WorkspacesVirtualPrivateCloud']]: + """ + VPC related information. + """ + return pulumi.get(self, "virtual_private_cloud") + diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/__init__.py b/sdk/python/tencentcloud_iac_pulumi/vpc/__init__.py index 7c66b9ac1..14d515951 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/__init__.py @@ -54,6 +54,7 @@ from .peer_connect_accept_operation import * from .peer_connect_manager import * from .peer_connect_reject_operation import * +from .private_nat_gateway import * from .resume_snapshot_instance import * from .snapshot_policy import * from .snapshot_policy_attachment import * diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py b/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py index 068350115..70eb1ccbe 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py @@ -114,6 +114,7 @@ def security_groups_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @pulumi.input_type class _EndPointState: def __init__(__self__, *, + cdc_id: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, end_point_name: Optional[pulumi.Input[str]] = None, end_point_owner: Optional[pulumi.Input[str]] = None, @@ -125,6 +126,7 @@ def __init__(__self__, *, vpc_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering EndPoint resources. + :param pulumi.Input[str] cdc_id: CDC instance ID. :param pulumi.Input[str] create_time: Create Time. :param pulumi.Input[str] end_point_name: Name of endpoint. :param pulumi.Input[str] end_point_owner: APPID. @@ -135,6 +137,8 @@ def __init__(__self__, *, :param pulumi.Input[str] subnet_id: ID of subnet instance. :param pulumi.Input[str] vpc_id: ID of vpc instance. """ + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if create_time is not None: pulumi.set(__self__, "create_time", create_time) if end_point_name is not None: @@ -154,6 +158,18 @@ def __init__(__self__, *, if vpc_id is not None: pulumi.set(__self__, "vpc_id", vpc_id) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC instance ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[str]]: @@ -398,6 +414,7 @@ def _internal_init(__self__, if vpc_id is None and not opts.urn: raise TypeError("Missing required property 'vpc_id'") __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["cdc_id"] = None __props__.__dict__["create_time"] = None __props__.__dict__["end_point_owner"] = None __props__.__dict__["state"] = None @@ -411,6 +428,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + cdc_id: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, end_point_name: Optional[pulumi.Input[str]] = None, end_point_owner: Optional[pulumi.Input[str]] = None, @@ -427,6 +445,7 @@ def get(resource_name: str, :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] cdc_id: CDC instance ID. :param pulumi.Input[str] create_time: Create Time. :param pulumi.Input[str] end_point_name: Name of endpoint. :param pulumi.Input[str] end_point_owner: APPID. @@ -441,6 +460,7 @@ def get(resource_name: str, __props__ = _EndPointState.__new__(_EndPointState) + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["create_time"] = create_time __props__.__dict__["end_point_name"] = end_point_name __props__.__dict__["end_point_owner"] = end_point_owner @@ -452,6 +472,14 @@ def get(resource_name: str, __props__.__dict__["vpc_id"] = vpc_id return EndPoint(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> pulumi.Output[str]: + """ + CDC instance ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/end_point_service.py b/sdk/python/tencentcloud_iac_pulumi/vpc/end_point_service.py index 72e768ad0..482eb9481 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/end_point_service.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/end_point_service.py @@ -99,6 +99,7 @@ def service_type(self, value: Optional[pulumi.Input[str]]): class _EndPointServiceState: def __init__(__self__, *, auto_accept_flag: Optional[pulumi.Input[bool]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, end_point_count: Optional[pulumi.Input[int]] = None, end_point_service_name: Optional[pulumi.Input[str]] = None, @@ -110,6 +111,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering EndPointService resources. :param pulumi.Input[bool] auto_accept_flag: Whether to automatically accept. + :param pulumi.Input[str] cdc_id: CDC instance ID. :param pulumi.Input[str] create_time: Create Time. :param pulumi.Input[int] end_point_count: Count of end point. :param pulumi.Input[str] end_point_service_name: Name of end point service. @@ -121,6 +123,8 @@ def __init__(__self__, *, """ if auto_accept_flag is not None: pulumi.set(__self__, "auto_accept_flag", auto_accept_flag) + if cdc_id is not None: + pulumi.set(__self__, "cdc_id", cdc_id) if create_time is not None: pulumi.set(__self__, "create_time", create_time) if end_point_count is not None: @@ -150,6 +154,18 @@ def auto_accept_flag(self) -> Optional[pulumi.Input[bool]]: def auto_accept_flag(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "auto_accept_flag", value) + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[pulumi.Input[str]]: + """ + CDC instance ID. + """ + return pulumi.get(self, "cdc_id") + + @cdc_id.setter + def cdc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cdc_id", value) + @property @pulumi.getter(name="createTime") def create_time(self) -> Optional[pulumi.Input[str]]: @@ -368,6 +384,7 @@ def _internal_init(__self__, if vpc_id is None and not opts.urn: raise TypeError("Missing required property 'vpc_id'") __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["cdc_id"] = None __props__.__dict__["create_time"] = None __props__.__dict__["end_point_count"] = None __props__.__dict__["service_owner"] = None @@ -383,6 +400,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, auto_accept_flag: Optional[pulumi.Input[bool]] = None, + cdc_id: Optional[pulumi.Input[str]] = None, create_time: Optional[pulumi.Input[str]] = None, end_point_count: Optional[pulumi.Input[int]] = None, end_point_service_name: Optional[pulumi.Input[str]] = None, @@ -399,6 +417,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[bool] auto_accept_flag: Whether to automatically accept. + :param pulumi.Input[str] cdc_id: CDC instance ID. :param pulumi.Input[str] create_time: Create Time. :param pulumi.Input[int] end_point_count: Count of end point. :param pulumi.Input[str] end_point_service_name: Name of end point service. @@ -413,6 +432,7 @@ def get(resource_name: str, __props__ = _EndPointServiceState.__new__(_EndPointServiceState) __props__.__dict__["auto_accept_flag"] = auto_accept_flag + __props__.__dict__["cdc_id"] = cdc_id __props__.__dict__["create_time"] = create_time __props__.__dict__["end_point_count"] = end_point_count __props__.__dict__["end_point_service_name"] = end_point_service_name @@ -431,6 +451,14 @@ def auto_accept_flag(self) -> pulumi.Output[bool]: """ return pulumi.get(self, "auto_accept_flag") + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> pulumi.Output[str]: + """ + CDC instance ID. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/get_subnets.py b/sdk/python/tencentcloud_iac_pulumi/vpc/get_subnets.py index 133629200..aa4fa10fc 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/get_subnets.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/get_subnets.py @@ -22,10 +22,13 @@ class GetSubnetsResult: """ A collection of values returned by getSubnets. """ - def __init__(__self__, availability_zone=None, cidr_block=None, id=None, instance_lists=None, is_default=None, is_remote_vpc_snat=None, name=None, result_output_file=None, subnet_id=None, tag_key=None, tags=None, vpc_id=None): + def __init__(__self__, availability_zone=None, cdc_id=None, cidr_block=None, id=None, instance_lists=None, is_default=None, is_remote_vpc_snat=None, name=None, result_output_file=None, subnet_id=None, tag_key=None, tags=None, vpc_id=None): if availability_zone and not isinstance(availability_zone, str): raise TypeError("Expected argument 'availability_zone' to be a str") pulumi.set(__self__, "availability_zone", availability_zone) + if cdc_id and not isinstance(cdc_id, str): + raise TypeError("Expected argument 'cdc_id' to be a str") + pulumi.set(__self__, "cdc_id", cdc_id) if cidr_block and not isinstance(cidr_block, str): raise TypeError("Expected argument 'cidr_block' to be a str") pulumi.set(__self__, "cidr_block", cidr_block) @@ -68,6 +71,14 @@ def availability_zone(self) -> Optional[str]: """ return pulumi.get(self, "availability_zone") + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> Optional[str]: + """ + ID of CDC instance. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="cidrBlock") def cidr_block(self) -> Optional[str]: @@ -155,6 +166,7 @@ def __await__(self): yield self return GetSubnetsResult( availability_zone=self.availability_zone, + cdc_id=self.cdc_id, cidr_block=self.cidr_block, id=self.id, instance_lists=self.instance_lists, @@ -169,6 +181,7 @@ def __await__(self): def get_subnets(availability_zone: Optional[str] = None, + cdc_id: Optional[str] = None, cidr_block: Optional[str] = None, is_default: Optional[bool] = None, is_remote_vpc_snat: Optional[bool] = None, @@ -184,33 +197,49 @@ def get_subnets(availability_zone: Optional[str] = None, ## Example Usage + ### Create subnet resource + ```python import pulumi - import pulumi_tencentcloud as tencentcloud import tencentcloud_iac_pulumi as tencentcloud config = pulumi.Config() availability_zone = config.get("availabilityZone") if availability_zone is None: availability_zone = "ap-guangzhou-3" - foo = tencentcloud.vpc.Instance("foo", cidr_block="10.0.0.0/16") + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") subnet = tencentcloud.subnet.Instance("subnet", availability_zone=availability_zone, - vpc_id=foo.id, + vpc_id=vpc.id, cidr_block="10.0.20.0/28", is_multicast=False, tags={ "test": "test", }) - id_instances = tencentcloud.Vpc.get_subnets_output(subnet_id=subnet.id) - name_instances = tencentcloud.Vpc.get_subnets_output(name=subnet.name) - tags_instances = subnet.tags.apply(lambda tags: tencentcloud.Vpc.get_subnets_output(tags=tags)) + subnet_cdc = tencentcloud.subnet.Instance("subnetCDC", + vpc_id=vpc.id, + cidr_block="10.0.0.0/16", + cdc_id="cluster-lchwgxhs", + availability_zone=data["tencentcloud_availability_zones"]["zones"]["zones"][0]["name"], + is_multicast=False) + ``` + + + ### Query all subnets + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + subnets = tencentcloud.Vpc.get_subnets() ``` :param str availability_zone: Zone of the subnet to be queried. + :param str cdc_id: ID of CDC instance. :param str cidr_block: Filter subnet with this CIDR. :param bool is_default: Filter default or no default subnets. :param bool is_remote_vpc_snat: Filter the VPC SNAT address pool subnet. @@ -223,6 +252,7 @@ def get_subnets(availability_zone: Optional[str] = None, """ __args__ = dict() __args__['availabilityZone'] = availability_zone + __args__['cdcId'] = cdc_id __args__['cidrBlock'] = cidr_block __args__['isDefault'] = is_default __args__['isRemoteVpcSnat'] = is_remote_vpc_snat @@ -237,6 +267,7 @@ def get_subnets(availability_zone: Optional[str] = None, return AwaitableGetSubnetsResult( availability_zone=pulumi.get(__ret__, 'availability_zone'), + cdc_id=pulumi.get(__ret__, 'cdc_id'), cidr_block=pulumi.get(__ret__, 'cidr_block'), id=pulumi.get(__ret__, 'id'), instance_lists=pulumi.get(__ret__, 'instance_lists'), @@ -252,6 +283,7 @@ def get_subnets(availability_zone: Optional[str] = None, @_utilities.lift_output_func(get_subnets) def get_subnets_output(availability_zone: Optional[pulumi.Input[Optional[str]]] = None, + cdc_id: Optional[pulumi.Input[Optional[str]]] = None, cidr_block: Optional[pulumi.Input[Optional[str]]] = None, is_default: Optional[pulumi.Input[Optional[bool]]] = None, is_remote_vpc_snat: Optional[pulumi.Input[Optional[bool]]] = None, @@ -267,33 +299,49 @@ def get_subnets_output(availability_zone: Optional[pulumi.Input[Optional[str]]] ## Example Usage + ### Create subnet resource + ```python import pulumi - import pulumi_tencentcloud as tencentcloud import tencentcloud_iac_pulumi as tencentcloud config = pulumi.Config() availability_zone = config.get("availabilityZone") if availability_zone is None: availability_zone = "ap-guangzhou-3" - foo = tencentcloud.vpc.Instance("foo", cidr_block="10.0.0.0/16") + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") subnet = tencentcloud.subnet.Instance("subnet", availability_zone=availability_zone, - vpc_id=foo.id, + vpc_id=vpc.id, cidr_block="10.0.20.0/28", is_multicast=False, tags={ "test": "test", }) - id_instances = tencentcloud.Vpc.get_subnets_output(subnet_id=subnet.id) - name_instances = tencentcloud.Vpc.get_subnets_output(name=subnet.name) - tags_instances = subnet.tags.apply(lambda tags: tencentcloud.Vpc.get_subnets_output(tags=tags)) + subnet_cdc = tencentcloud.subnet.Instance("subnetCDC", + vpc_id=vpc.id, + cidr_block="10.0.0.0/16", + cdc_id="cluster-lchwgxhs", + availability_zone=data["tencentcloud_availability_zones"]["zones"]["zones"][0]["name"], + is_multicast=False) + ``` + + + ### Query all subnets + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + subnets = tencentcloud.Vpc.get_subnets() ``` :param str availability_zone: Zone of the subnet to be queried. + :param str cdc_id: ID of CDC instance. :param str cidr_block: Filter subnet with this CIDR. :param bool is_default: Filter default or no default subnets. :param bool is_remote_vpc_snat: Filter the VPC SNAT address pool subnet. diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/notify_routes.py b/sdk/python/tencentcloud_iac_pulumi/vpc/notify_routes.py index 60daf2aa5..4c27b5f53 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/notify_routes.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/notify_routes.py @@ -14,11 +14,11 @@ @pulumi.input_type class NotifyRoutesArgs: def __init__(__self__, *, - route_item_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + route_item_ids: pulumi.Input[str], route_table_id: pulumi.Input[str]): """ The set of arguments for constructing a NotifyRoutes resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] route_item_ids: The unique ID of the routing policy. + :param pulumi.Input[str] route_item_ids: The unique ID of the routing policy. :param pulumi.Input[str] route_table_id: The unique ID of the routing table. """ pulumi.set(__self__, "route_item_ids", route_item_ids) @@ -26,14 +26,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="routeItemIds") - def route_item_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + def route_item_ids(self) -> pulumi.Input[str]: """ The unique ID of the routing policy. """ return pulumi.get(self, "route_item_ids") @route_item_ids.setter - def route_item_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + def route_item_ids(self, value: pulumi.Input[str]): pulumi.set(self, "route_item_ids", value) @property @@ -53,12 +53,12 @@ def route_table_id(self, value: pulumi.Input[str]): class _NotifyRoutesState: def __init__(__self__, *, published_to_vbc: Optional[pulumi.Input[bool]] = None, - route_item_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + route_item_ids: Optional[pulumi.Input[str]] = None, route_table_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering NotifyRoutes resources. :param pulumi.Input[bool] published_to_vbc: If published to vbc. - :param pulumi.Input[Sequence[pulumi.Input[str]]] route_item_ids: The unique ID of the routing policy. + :param pulumi.Input[str] route_item_ids: The unique ID of the routing policy. :param pulumi.Input[str] route_table_id: The unique ID of the routing table. """ if published_to_vbc is not None: @@ -82,14 +82,14 @@ def published_to_vbc(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="routeItemIds") - def route_item_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + def route_item_ids(self) -> Optional[pulumi.Input[str]]: """ The unique ID of the routing policy. """ return pulumi.get(self, "route_item_ids") @route_item_ids.setter - def route_item_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + def route_item_ids(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "route_item_ids", value) @property @@ -110,14 +110,14 @@ class NotifyRoutes(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - route_item_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + route_item_ids: Optional[pulumi.Input[str]] = None, route_table_id: Optional[pulumi.Input[str]] = None, __props__=None): """ Create a NotifyRoutes resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] route_item_ids: The unique ID of the routing policy. + :param pulumi.Input[str] route_item_ids: The unique ID of the routing policy. :param pulumi.Input[str] route_table_id: The unique ID of the routing table. """ ... @@ -143,7 +143,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - route_item_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + route_item_ids: Optional[pulumi.Input[str]] = None, route_table_id: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -172,7 +172,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, published_to_vbc: Optional[pulumi.Input[bool]] = None, - route_item_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + route_item_ids: Optional[pulumi.Input[str]] = None, route_table_id: Optional[pulumi.Input[str]] = None) -> 'NotifyRoutes': """ Get an existing NotifyRoutes resource's state with the given name, id, and optional extra @@ -182,7 +182,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[bool] published_to_vbc: If published to vbc. - :param pulumi.Input[Sequence[pulumi.Input[str]]] route_item_ids: The unique ID of the routing policy. + :param pulumi.Input[str] route_item_ids: The unique ID of the routing policy. :param pulumi.Input[str] route_table_id: The unique ID of the routing table. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -204,7 +204,7 @@ def published_to_vbc(self) -> pulumi.Output[bool]: @property @pulumi.getter(name="routeItemIds") - def route_item_ids(self) -> pulumi.Output[Sequence[str]]: + def route_item_ids(self) -> pulumi.Output[str]: """ The unique ID of the routing policy. """ diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/outputs.py b/sdk/python/tencentcloud_iac_pulumi/vpc/outputs.py index 3cd61e472..969ccc079 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/outputs.py @@ -3225,6 +3225,7 @@ class GetSubnetsInstanceListResult(dict): def __init__(__self__, *, availability_zone: str, available_ip_count: int, + cdc_id: str, cidr_block: str, create_time: str, is_default: bool, @@ -3237,6 +3238,7 @@ def __init__(__self__, *, """ :param str availability_zone: Zone of the subnet to be queried. :param int available_ip_count: The number of available IPs. + :param str cdc_id: ID of CDC instance. :param str cidr_block: Filter subnet with this CIDR. :param str create_time: Creation time of the subnet resource. :param bool is_default: Filter default or no default subnets. @@ -3249,6 +3251,7 @@ def __init__(__self__, *, """ pulumi.set(__self__, "availability_zone", availability_zone) pulumi.set(__self__, "available_ip_count", available_ip_count) + pulumi.set(__self__, "cdc_id", cdc_id) pulumi.set(__self__, "cidr_block", cidr_block) pulumi.set(__self__, "create_time", create_time) pulumi.set(__self__, "is_default", is_default) @@ -3275,6 +3278,14 @@ def available_ip_count(self) -> int: """ return pulumi.get(self, "available_ip_count") + @property + @pulumi.getter(name="cdcId") + def cdc_id(self) -> str: + """ + ID of CDC instance. + """ + return pulumi.get(self, "cdc_id") + @property @pulumi.getter(name="cidrBlock") def cidr_block(self) -> str: diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/private_nat_gateway.py b/sdk/python/tencentcloud_iac_pulumi/vpc/private_nat_gateway.py new file mode 100644 index 000000000..f91875ded --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/private_nat_gateway.py @@ -0,0 +1,376 @@ +# 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__ = ['PrivateNatGatewayArgs', 'PrivateNatGateway'] + +@pulumi.input_type +class PrivateNatGatewayArgs: + def __init__(__self__, *, + nat_gateway_name: pulumi.Input[str], + ccn_id: Optional[pulumi.Input[str]] = None, + cross_domain: Optional[pulumi.Input[bool]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + vpc_type: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a PrivateNatGateway resource. + :param pulumi.Input[str] nat_gateway_name: Private network gateway name. + :param pulumi.Input[str] ccn_id: Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + :param pulumi.Input[bool] cross_domain: Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + :param pulumi.Input[str] vpc_id: Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + :param pulumi.Input[bool] vpc_type: VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + """ + pulumi.set(__self__, "nat_gateway_name", nat_gateway_name) + if ccn_id is not None: + pulumi.set(__self__, "ccn_id", ccn_id) + if cross_domain is not None: + pulumi.set(__self__, "cross_domain", cross_domain) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vpc_type is not None: + pulumi.set(__self__, "vpc_type", vpc_type) + + @property + @pulumi.getter(name="natGatewayName") + def nat_gateway_name(self) -> pulumi.Input[str]: + """ + Private network gateway name. + """ + return pulumi.get(self, "nat_gateway_name") + + @nat_gateway_name.setter + def nat_gateway_name(self, value: pulumi.Input[str]): + pulumi.set(self, "nat_gateway_name", value) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> Optional[pulumi.Input[str]]: + """ + Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter(name="crossDomain") + def cross_domain(self) -> Optional[pulumi.Input[bool]]: + """ + Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + """ + return pulumi.get(self, "cross_domain") + + @cross_domain.setter + def cross_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "cross_domain", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + @property + @pulumi.getter(name="vpcType") + def vpc_type(self) -> Optional[pulumi.Input[bool]]: + """ + VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + """ + return pulumi.get(self, "vpc_type") + + @vpc_type.setter + def vpc_type(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "vpc_type", value) + + +@pulumi.input_type +class _PrivateNatGatewayState: + def __init__(__self__, *, + ccn_id: Optional[pulumi.Input[str]] = None, + cross_domain: Optional[pulumi.Input[bool]] = None, + nat_gateway_name: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + vpc_type: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering PrivateNatGateway resources. + :param pulumi.Input[str] ccn_id: Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + :param pulumi.Input[bool] cross_domain: Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + :param pulumi.Input[str] nat_gateway_name: Private network gateway name. + :param pulumi.Input[str] vpc_id: Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + :param pulumi.Input[bool] vpc_type: VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + """ + if ccn_id is not None: + pulumi.set(__self__, "ccn_id", ccn_id) + if cross_domain is not None: + pulumi.set(__self__, "cross_domain", cross_domain) + if nat_gateway_name is not None: + pulumi.set(__self__, "nat_gateway_name", nat_gateway_name) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + if vpc_type is not None: + pulumi.set(__self__, "vpc_type", vpc_type) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> Optional[pulumi.Input[str]]: + """ + Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + """ + return pulumi.get(self, "ccn_id") + + @ccn_id.setter + def ccn_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ccn_id", value) + + @property + @pulumi.getter(name="crossDomain") + def cross_domain(self) -> Optional[pulumi.Input[bool]]: + """ + Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + """ + return pulumi.get(self, "cross_domain") + + @cross_domain.setter + def cross_domain(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "cross_domain", value) + + @property + @pulumi.getter(name="natGatewayName") + def nat_gateway_name(self) -> Optional[pulumi.Input[str]]: + """ + Private network gateway name. + """ + return pulumi.get(self, "nat_gateway_name") + + @nat_gateway_name.setter + def nat_gateway_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nat_gateway_name", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + @property + @pulumi.getter(name="vpcType") + def vpc_type(self) -> Optional[pulumi.Input[bool]]: + """ + VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + """ + return pulumi.get(self, "vpc_type") + + @vpc_type.setter + def vpc_type(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "vpc_type", value) + + +class PrivateNatGateway(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + cross_domain: Optional[pulumi.Input[bool]] = None, + nat_gateway_name: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + vpc_type: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Provides a resource to create a vpc private nat gateway + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + private_nat_gateway = tencentcloud.vpc.PrivateNatGateway("privateNatGateway", + nat_gateway_name="xxx", + vpc_id="xxx") + ``` + + + ## Import + + vpc private_nat_gateway can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Vpc/privateNatGateway:PrivateNatGateway private_nat_gateway private_nat_gateway_id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] ccn_id: Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + :param pulumi.Input[bool] cross_domain: Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + :param pulumi.Input[str] nat_gateway_name: Private network gateway name. + :param pulumi.Input[str] vpc_id: Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + :param pulumi.Input[bool] vpc_type: VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PrivateNatGatewayArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a vpc private nat gateway + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + private_nat_gateway = tencentcloud.vpc.PrivateNatGateway("privateNatGateway", + nat_gateway_name="xxx", + vpc_id="xxx") + ``` + + + ## Import + + vpc private_nat_gateway can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Vpc/privateNatGateway:PrivateNatGateway private_nat_gateway private_nat_gateway_id + ``` + + :param str resource_name: The name of the resource. + :param PrivateNatGatewayArgs 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(PrivateNatGatewayArgs, 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, + ccn_id: Optional[pulumi.Input[str]] = None, + cross_domain: Optional[pulumi.Input[bool]] = None, + nat_gateway_name: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + vpc_type: 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__ = PrivateNatGatewayArgs.__new__(PrivateNatGatewayArgs) + + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["cross_domain"] = cross_domain + if nat_gateway_name is None and not opts.urn: + raise TypeError("Missing required property 'nat_gateway_name'") + __props__.__dict__["nat_gateway_name"] = nat_gateway_name + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vpc_type"] = vpc_type + super(PrivateNatGateway, __self__).__init__( + 'tencentcloud:Vpc/privateNatGateway:PrivateNatGateway', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ccn_id: Optional[pulumi.Input[str]] = None, + cross_domain: Optional[pulumi.Input[bool]] = None, + nat_gateway_name: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + vpc_type: Optional[pulumi.Input[bool]] = None) -> 'PrivateNatGateway': + """ + Get an existing PrivateNatGateway 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] ccn_id: Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + :param pulumi.Input[bool] cross_domain: Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + :param pulumi.Input[str] nat_gateway_name: Private network gateway name. + :param pulumi.Input[str] vpc_id: Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + :param pulumi.Input[bool] vpc_type: VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _PrivateNatGatewayState.__new__(_PrivateNatGatewayState) + + __props__.__dict__["ccn_id"] = ccn_id + __props__.__dict__["cross_domain"] = cross_domain + __props__.__dict__["nat_gateway_name"] = nat_gateway_name + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["vpc_type"] = vpc_type + return PrivateNatGateway(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ccnId") + def ccn_id(self) -> pulumi.Output[str]: + """ + Cloud Connect Network type The Cloud Connect Network instance ID required to be bound to the private network NAT gateway. + """ + return pulumi.get(self, "ccn_id") + + @property + @pulumi.getter(name="crossDomain") + def cross_domain(self) -> pulumi.Output[bool]: + """ + Cross-domain parameters. Cross-domain binding of VPCs is supported only when the value is True. + """ + return pulumi.get(self, "cross_domain") + + @property + @pulumi.getter(name="natGatewayName") + def nat_gateway_name(self) -> pulumi.Output[str]: + """ + Private network gateway name. + """ + return pulumi.get(self, "nat_gateway_name") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[str]: + """ + Private Cloud instance ID. This parameter is required when creating a VPC type private network NAT gateway or a private network NAT gateway of private network gateway. + """ + return pulumi.get(self, "vpc_id") + + @property + @pulumi.getter(name="vpcType") + def vpc_type(self) -> pulumi.Output[bool]: + """ + VPC type private network NAT gateway. Only when the value is True will a VPC type private network NAT gateway be created. + """ + return pulumi.get(self, "vpc_type") +